新しく言語を学ぶメリット
1年に1つとは言わないが、新しい言語を学ぶのには賛成です。
「より柔軟な考えを得られる」ので、新しい言語を学ぶ。
新しい視点が手に入る
表現が豊富になる
よりより表現方法が見つかる
実装の理解が深まる
思想、歴史がわかる
例えば Rubyの if then 記法は Perl や Lua からやってきている
Rubyには then が省略可能で、なぜ省略できるようにしたのか等を考えると言語思想がより深く見えてくる。
最近const志向なJavaScriptは何故その思考に至ったのか
関数型言語のエッセンスが何故、OOPベースやプロトタイプベースの言語に流れ込んできているのか
より最適な言語で目的を達成できる
言語思想があるということは、言語の得意不得意もあるということ
Aの言語だと簡単に表現できるけど、Bの言語だと表現するために難しい書き方が必要
実装方法が広がる
arrayに対してのmap処理
遅延評価を行うHaskellやScalaに対して、配列変換を連続で行うJavaScript
なんでJSは遅延評価をしていないのか?実装方法は?実装メリットはなど
実現範囲が広がる
スマートフォンなどの一部のものは、事実上特定の言語でしか実装できない
Swift、Java、Kotlin
SaaSサービスでも対応言語は制限されてしまう
比較できるようになる
1つしか知らないと、そもそも比較材料がない
2、3つと知っている幅を広げていくことで、比較ができるようになる
比較ができると、実装意図や思想の違いをより深く知ることができる
例)00010001が書かれていたとき、どのようなことを思うか。
数字の10001
2進数の17
ASCIIコードの可能性
文字列としての"00010001"
通常の数値で扱うことしか知らない場合、1つ目の考えしか出てこない可能性もある。
2つ目、3つ目がでてくると、どのような意味でこの書き方をしたのか、文字列として表現している場合は何故数値として定義したのかなど、実装に至った背景がより見えうる。
知識は思考を広げるための前提にある。