3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

プログラミング言語で打線組んでみた

Last updated at Posted at 2024-09-11

監督より挨拶

監督:ワシはプログラミングチーム「請負ーグルス」を指揮する監督「ヌル村 克也」や。
ジンバ:なぜかその横にいるジンバでやんす!請負ーグルス...シーズン終盤(納期前)の追い上げ凄そうでやんすね。
監督:おう、その時期は皆んな居残り練習(残業)ようしとる。
ジンバ:ブラックでやんす。上からの命令は絶対でやんす。
監督:そんなことより、ネット上では「最強ポ◯モンで打線組んでみた」「世紀の大発明で打線組んでみた」とかあるらしいな。
ジンバ:そうでやんす!監督ぐらいの年齢がそういうの見るの珍しいでやんす!
監督:今、世の中にはたくさんのプログラミング言語がある。ワシもその中から厳選してプログラミング言語の打線を組んでみたいと思った。
ジンバ:良いでやんすね!無理やり乗っかる姿勢、嫌いじゃないでやんす!
監督:あくまでワシの主観やから皆んなも打線組んだらコメントで教えてくれや。ほな行くで。

打順の概要

監督:野球に詳しくない人もおるやろうから、打順について説明したる。野球っちゅうのは9人のバッターで攻撃するんやが、概ね以下のような特徴がある。

打順 特徴
1 出塁率が高く、足の速い選手が多い
2 バントやヒットエンドランなど器用で小技が得意な選手が多い
3 1番と2番が作ったチャンスを得点に結びつける役割
4 長打力があり、ホームランを打てる選手が多い
5 4番バッターの後を打ち、チャンスに強い選手が多い
6 上位打線と下位打線をつなぐ役割
7 下位打線の中軸として、得点を叩き出す役割
8 9番バッターに繋ぐ役割
9 ピッチャーが多い

ジンバ:たしかにプロ野球を見ていたら大体こんな感じの打順でやんす!
監督:これに沿った打順をプログラミング言語に当てはめて決めてくで。

ベンチ入り

監督:今のままじゃプログラミング言語が多すぎる。
ジンバ:たしかにそうでやんすね。
監督:打順を組む前に、ウチのチームのベンチ入りメンバーを発表する。これや。

  • Bash
  • BASIC
  • C
  • C#
  • C++
  • COBOL
  • Curl
  • Dart
  • Elixir
  • Go
  • Java
  • JavaScript
  • JSX
  • Kotlin
  • Objective-C
  • Perl
  • PHP
  • PowerShell
  • Python
  • R
  • Ruby
  • Rust
  • Scala
  • Swift
  • TypeScript
  • Visual Basic
  • Vim script
  • アセンブリ言語

ジンバ:大体知ってる名前でやんす。いにしえの言語もあるでやんすね...
監督:こっからスタメン決めてくで。

スタメン決め第一夜・・・「選考基準」

監督:ゆっくり考えんとな。ワシの選考基準を言うとく。
ジンバ:気になるでやんす。

古い・新しいは関係ない。 現役時代の活躍を考慮。

監督:例えば、野球で最強チーム作る時に「今は現役じゃないからイチローを外そう」とはならんやろ。
ジンバ:確かに、絶対名前が挙がるでやんす。
監督:現状たくさん使われているかは気にせえへんことにした。現役時代の活躍や現在への影響度などを考慮するで。
ジンバ:過去を含めた調査が必要でやんすね。

フレームワークではなく、プログラミング言語として考える

監督:これも難しいところやな。1つの人気フレームワークで使われてる言語やったら、スタメンに入れたくなる気持ちもある。
ジンバ:実際、使っている人も多そうでやんすね。
監督:ただそれはフレームワークが凄いだけ、と捉えることにした。また「フレームワークで打線組んでみた」をやるつもりやからよろしくやで。

スタメン決め第二夜・・・「スタメン落ち」

監督:悪いがスタメン落ちするメンバーをいくつか決めた。理由も添えてるから納得してくれ。

Dart

ジンバ:なんでDartが落ちるでやんすか!?Flutterでバリバリ使ってるでやんす!
監督:Flutterでは使われてるけど、ほかではあんまり見いひんな。すまん。
ジンバ:監督として冷静な判断でやんす。

Curl、Bash、Vim script、PowerShell

監督:多分、今回皆んなが見たいプログラミング言語とは違うやろ。すまん。
ジンバ:需要も分かってるでやんす。

監督:あとは迷ってるし、ワシなりに歴史を調べてみた。悩むなぁ。

スタメン決め第三夜・・・「打順発表」

監督:いよいよお待ちかねの打順発表や。
ジンバ:おー、楽しみでやんす!
監督:ほな行くで。これや!

1番 : 「Python」 (中)

ファイル名
  • 1991年に登場。グイド・ヴァン・ロッサムにより開発
  • 動的な型付けが特徴で初心者でも扱いやすい
  • 機械学習のライブラリが豊富

監督:1番はPythonや。
ジンバ:超有名でやんす!エンジニア以外の人でも知ってる人多そうでやんす。
監督:今は機械学習で引っ張りだこやな。
ジンバ:ただ足が速い(実行時間が速い)かは微妙でやんすよ?
監督:確かにな。ただアベレージちゃんと出してくれそう(便利な関数多そう)な点で1番にPythonを選んだ。
ジンバ:出塁率を考慮した1番でやんすね。そういえば大学時代、機械学習の勉強で「Google Colaboratory」でコード書いてたでやんす!オンライン上で出来て楽だった印象でやんす。
監督:もしかしたら、そういう手軽さが人気に繋がったのかもな。ちなみに裏話だが

import this

と実行するとPythonの哲学が表示される。

ファイル名

ジンバ:粋でやんす。

2番 : 「Javascript」 (遊)

javascript.png

  • 1995年に登場。ブレンダン・アイクにより開発
  • HTMLやCSSと並ぶWorld Wide Web(WWW)の中核技術
  • React、Vue.jsなどフロントからバックエンドまで実装できる

監督:2番はJavascriptや。
ジンバ:これも有名でやんすよ!
監督:コイツは器用なヤツやで。色んなフレームワークで使われてて、フロントもバックエンドもやれるな。
ジンバ:ほかの言語と繋いでくれる点で2番最適でやんすね!進化系の「Typescript」が入っててもおかしくないでやんす。
監督:使われてきた期間を考慮した。
ジンバ:なるほどでやんす。
監督:ちなみにJavaScriptはわずか10日間で開発されたみたいだぞ。
ジンバ:10日で作られたものが30年近く使われてるのは凄いでやんすね...

3番 : 「C++」 (三)

ファイル名
  • 1983年に登場。ビャーネ・ストロヴストルップにより開発
  • C言語の機能や特徴を継承しつつ、、手続き型プログラミング・オブジェクト指向などが追加
  • ハードウェアを直接扱ったり、アプリケーションも実装できる

監督:3番はC++や。
ジンバ:おー、C++がクリーンナップでやんすか!
監督:こいつは強力やで。ゲーム開発とか組み込みソフトによく使われてるわ。
ジンバ:競技プログラミングでも使われてるでやんすし、Flutterならエンジン部分を担当しているでやんす!

ファイル名

https://docs.flutter.dev/resources/architectural-overview より

監督:C++は高速やし、走攻守の三拍子揃った言語やな。

4番 : 「Java」 (一)

ファイル名
  • 1995年に登場。ジェームズ・ゴスリンにより開発
  • オブジェクト指向、プラットフォーム非依存、マルチスレッドといった特徴を持つ
  • Javaで動いている有名サービスが多い

監督:4番はJavaや。
ジンバ:チームの顔でやんすね!
監督:今でもJavaで動いているシステムはたくさんあるからな。(保守に苦労しているとは聞くが...)
ジンバ:JVMのおかげで、どんなOSでも動くでやんすね。フレームワークとしてはSpring,Androidとかでやんすか。
監督:Javaで動いているサービスはGmail、Twitter、Netflixといったビッグネームが多い。
ジンバ:オブジェクト指向が一般に広がったのもJavaがきっかけらしいでやんすね。
監督:大きな影響を及ぼしているという意味で4番にした。

5番 : 「COBOL」 (左)

  • 1959年に登場。CODASYLにより開発
  • 自然言語に近い構文で可読性が高い
  • 金融業界や行政サービスなどで広く使用されている
監督:5番はCOBOLや。
ジンバ:おお、よくベテラン社員が話してるでやんす!レガシーコードの代表格でやんす!
監督:コラ!!そんなことを言うんじゃない。確かに金融システムで障害が起こった時に「多分COBOLか...」となるが。
ジンバ:苦労話を聞く時、大体COBOLでやんす。
監督:それほど当時は使われていたということだ。
ジンバ:Javaが普及するまでは、COBOLがシステムを支えていたでやんすね。
監督:だから納得の5番だ。

6番 : 「Ruby」 (二)

images.jpeg

  • 1995年に登場。まつもとゆきひろ氏により開発
  • 整数や文字列なども含め、データ型すべてがオブジェクト
  • Ruby on Railsがフレームワークとして使われる

監督:6番はRubyや。
ジンバ:でもそれで言うとDartみたいに、RubyはRuby on Railsでしか見ないでやんすよ。
監督:ところで、このRuby、誰が発明したか知ってるか?
ジンバ:日本人のまつもとゆきひろ氏でやんすよ。
監督:...そういうことや。
ジンバ:完全に贔屓でやんす!これを見過ごせってやんすか!?
監督:采配に情が入ってしもた...

7番 : 「BASIC」 (右)

  • 1964年に登場。ジョン・ジョージ・ケメニーとトーマス・カーツにより開発
  • 手続き型プログラミング言語
  • レトロゲームの開発で使われていた

ジンバ:下位打線でやんすね。
監督:はっきり言うな。
ジンバ:昔は子供向けにBASICプログラムが組める電卓があったみたいでやんすね。
監督:主流だった時期も考慮してこの打順になった。

8番 : 「C」 (補)

ファイル名

ジンバ:あれ、さっきC++出てきたでやんすよ?
監督: C言語の影響を受けて誕生したプログラミング言語が多いから8番に入れた。
ジンバ:聞こえが良いでやんす。「C言語の良くないところを補う」ために生まれた...
監督:もういいだろ。ワシも選手の悪いところは言いたない。
ジンバ:そういえば、大学で初めて習う言語がCの学生が多いみたいでやんすよ。
監督:少しハードルが高い気もするが...計算に使うことも多いから、とりあえず教えているんだろ。
ジンバ:たしかにCのおかげで型は意識できたでやんすね。ポインタは苦労したでやんす。

9番 : 「PHP」 (投手)

images (2).png

  • 1995年に登場。ラスマス・ラードフにより開発
  • 動的なページが作成可能
  • APIの実装にも使われる

ジンバ:待ってました!PHPでやんす!
監督:Laravel,Cake PHP、Symfonyといったフレームワークの存在やバックエンドで使われる、長年活躍しているのもプラスポイントだな。
ジンバ:まさか、ピッチャーのPでPHPなんてことないでやんすよね?
監督:...なぜ分かった。

まとめ

監督:熟考の結果、以下の打順となった。

打順 プログラミング言語
1 (中) Python
2 (遊) Javascript
3(三) C++
4 (一) Java
5 (左) COBOL
6 (二) Ruby
7 (右) BASIC
8 (補) C
9 (投) PHP

ジンバ:こう見るとそれぞれの特徴が出てて良い打順でやんすね。
監督:皆んなも打線組んだらコメントで教えてくれ。ほなまた。

告知

ご覧いただきありがとうございました!
普段、IT企業で働いてます「プログラマー芸人」ジンバです!
YouTubeもご覧くださいー!↓
https://youtu.be/4sfvz4kov84
初テレビ.png

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?