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

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

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


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

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

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

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

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

# スタメン決め第一夜・・・「選考基準」
監督：ゆっくり考えんとな。ワシの選考基準を言うとく。
ジンバ：気になるでやんす。
### 古い・新しいは関係ない。 現役時代の活躍を考慮。
監督：例えば、野球で最強チーム作る時に「今は現役じゃないからイチローを外そう」とはならんやろ。
ジンバ：確かに、絶対名前が挙がるでやんす。
監督：現状たくさん使われているかは気にせえへんことにした。<font color="red"><b>現役時代の活躍や現在への影響度などを考慮するで。</b><font color="black">
ジンバ：過去を含めた調査が必要でやんすね。
### フレームワークではなく、プログラミング言語として考える
監督：これも難しいところやな。1つの人気フレームワークで使われてる言語やったら、スタメンに入れたくなる気持ちもある。
ジンバ：実際、使っている人も多そうでやんすね。
監督：ただそれはフレームワークが凄いだけ、と捉えることにした。また<b>「フレームワークで打線組んでみた」</b>をやるつもりやからよろしくやで。


# スタメン決め第二夜・・・「スタメン落ち」
監督：悪いがスタメン落ちするメンバーをいくつか決めた。理由も添えてるから納得してくれ。

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

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

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

# スタメン決め第三夜・・・「打順発表」
監督：いよいよお待ちかねの打順発表や。
ジンバ：おー、楽しみでやんす！
監督：ほな行くで。これや！


## 1番 ： 「Python」 (中)


<img width="300" alt="ファイル名" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3574599/8ff92353-1832-7d24-f73b-2bad497327df.png">

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

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

<img width="400" alt="ファイル名" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3574599/6afc6471-3447-8403-4874-bff5fc08af97.png">

ジンバ：粋でやんす。

## 2番 ： 「Javascript」 (遊)

![javascript.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3574599/2402c48d-2a15-6237-6e75-3b292dccf36a.png)

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


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

## 3番 ： 「C++」 (三)
<img width="300" alt="ファイル名" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3574599/858d0f02-4a2a-9511-db58-1a3667c32378.png">

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

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

<img width="300" alt="ファイル名" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3574599/425fe8f1-5691-4b0a-d3f7-f5a6315afca6.png">

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

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

## 4番 ： 「Java」 (一)

<img width="300" alt="ファイル名" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3574599/14072f13-b8dc-1548-4341-659bbae4db3e.png">

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

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


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

## 6番 ： 「Ruby」 (二)

![images.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3574599/79a3613b-923a-8778-c507-38efb0114680.jpeg)

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

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

## 7番 ： 「BASIC」 (右)

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

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

## 8番 ： 「C」 (補)

<img width="300" alt="ファイル名" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3574599/13f88826-461e-3f98-64ca-f904164de5fd.png">

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

## 9番 ： 「PHP」 (投手)

![images (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3574599/a65506c2-dfd2-4839-245d-0f5f582cbb59.png)

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

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

# まとめ

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

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

ジンバ：こう見るとそれぞれの特徴が出てて良い打順でやんすね。
監督：<font color="red"><b>皆んなも打線組んだらコメントで教えてくれ。</b><font color="black">ほなまた。

# 告知
ご覧いただきありがとうございました！
<font color="red"><b>普段、IT企業で働いてます「プログラマー芸人」ジンバです！</b><font color="black">
YouTubeもご覧くださいー！↓
https://youtu.be/4sfvz4kov84
![初テレビ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3574599/0d58e877-f4b8-c207-c11a-cde7b85dd686.png)