その人の「好きな言語」でだいたい思想がわかる
世の中には無数のプログラミング言語があり、それぞれが大事とする思想がある
それは言語開発者の思想を発端とするものかもしれないし、コミュニティから創発されるものかもしれない
開発において何を大事と考えているのか、どこで使われることを想定しているのか、誰に使われることを想定しているのか
得意分野もあれば、妥協している点もある
コミュニティの方に目を向けても、議論の仕方や記事の書き方で、どこを重視しているかは明確に分かれる
静的型/動的型や関数型/OOPみたいなのは言語よりももっと大きい抽象概念における思想
悪く言えば、この分け方は「雑」
こんな数ある言語の中から、わざわざ「コレ」を選ぶのだから思想が現れないわけがない
例えばmrsekut.iconは、「PHPが良い言語」ということはなくない?と感じる
「PHPを採用することが最適であるようなProject」はあるかもしれないけど、
「PHPが良い言語」ということはありえなくない??みたいなことを思う
他の良い言語のことを知らないか、「Easy == 良い」と思っているかのどちらかではないのか
前者なら論外なのでさておき、
後者ならmrsekut.iconの理想とする方向と絶対的に異なる
だから「PHPが好きです」と掲げる人の主張は話半分ぐらいで聞けばいい、と判断できる
悪いとは言っていない、思想が違うと言っているmrsekut.icon
例えば、「良い設計」や「Simpleな設計」についての話を聞きたければ
Clojure, Scala, Haskell, PureScriptあたりの
副作用の扱いに本気で立ち向かうような関数型の言語の方が筋が良い
関連する書籍や、記事を見ても、この辺の言語を軸にしたもののほうが筋が良い
OOPなどの、本質を外したような道具を使って大量のデザインパターンを生み出して、運用でカバーするようなものよりよっぽど良いmrsekut.icon Goは言語開発者周りの思想が強く、利用者も多いので同じ言語内で対立がまあまああるように見える
Ruby(というかRails、というかDHHが?)も割と独自路線を進んでる感じがある
一方で、iOSのSwiftや、AndroidのKotlinみたいに、この分野やるならこの言語しか選択肢がない、となるとそういう論争が起きづらい
ので、微妙だったりするのか?
あの辺に多様性とか対立はあるんだろうか(全然知らん)
機械学習も色々選択できそうではあるのにPythonが使い続けられるのも、ふーんとなる
最近はそうでもなかったりするのか(?)
学習コスト的にも、資源的にも、パフォーマンス的にもJulia爆流行りしても良い気もするけど
「〇〇言語が好きです」と予め表明しておくことは、こういう観点で、理想の擦り合せができるので良いかもしれない
ビジネスの話になると採用とかが絡むからそうも言ってられないので面倒くさい
「その言語できます」「できません」じゃなくて、入社してからでも覚えろよという気もする
あるいは、ツールの側がDX爆上げして学習コストを下げるべきという気もする
たぶんそんな上手くはいかないんだろうな
「好きな言語はなんですか」という質問を、採用面接とか、エンジニア同士の会話の中ですると
①なにか特定の言語とその理由を述べる
②特にありませんと述べる
③1つの言語しか触れたことがないので、これ一択ですと述べる
らへんのどれかになると思う
①なら、この人はプログラミングする上でどういうことを大事と思っているのかが明確にわかるし、ちゃんと思想を持って言語の選択や設計ができるんだろうな、と推測できる
②なら、あー、この人はツールに拘りがないんだ、ふーん、というのがわかるし
③なら、この人は1つの言語しか触れてないんだ、それじゃもちろん思想の差異も見えませんわね、というのがわかる
ちなみに、mrsekut.iconが聞きたいのは、その人の「得意な言語」ではなく「好きな言語」である
「好きな言語」というか、「良いと思っている言語」の方が正確かもしれない
ここがズレることはあまりない気がするけど