「JavaScriptデベロッパーはAIやWebAssemblyによって仕事を失うのか?」
という記事をみて、考えるきっかけを得たので書いてみた。

静的言語は動的言語をなくすのか?
今の流れとしては型付けを重視する兆候なので、「今後は静的言語だ」と思うかもしれない。自分もその懸念もあり考えていた。
その背景には、静的言語が以前ほど実装の手間さがなく、動的言語の長所である「さっとかける」部分に差がなくなりつつあるからである。
では、動的言語は今後どうなるのか?
これについては、「別になくならないと思う」と結論づける。
そもそも、言語が統一されるかどうかであるが、これは日本語と英語が両方使われるのと同様、「統一した方が楽だけどそれぞれ良いところあるし強制はしない」という流れはプログラミング言語の選定でも言える。
自分の回答としては、gRPCなどで通信コストの低下が実現できている中、複数の言語を組み合わせるという選択肢が勝つんじゃないかなと思っている。
それこそ、「自分はこの言語を使いたい」という欲求を抑制することはできない。言語の統一は非現実的である。
そのため、着地する形としては「自由に言語つかえるけど、マイクロサービスとしてそれぞれのサービス間通信ができれば良い。重い箇所はユーザー体験に影響するのでそこだけ静的言語で書く」となると思う。
自分はrubyを主に使ってるけど、rubyは直感的にかける部分を意識してるため本当に慣れれば慣れるほど馴染むツールである。
その強みは他の言語でも真似られているが、言語学者的な目線で取り組む姿勢がrubyの根本的強みなので、書き心地の理解や体験のためにもrubyは今後も生き続けるだろうと考えている。
(matzが別の言語に本格注力しだしたらそちらに流れる可能性は高い)
- 安定性
- 実装速度、処理コスト
- 書きやすさ、読みやすさ
このそれぞれの要素の組み合わせなので、まだまだプログラミング言語の競争は終わらないと思っている。
そもそもRubyはコンパイルできないのか?
今はむりだが、推論で適切に型が判断できれば、asm.jsやwebassemblyのようにコンパイルも可能になるんじゃなかろうか。
それができれば、「本番はコンパイルして、開発環境はスクリプトのまま実行する」という着地案ができると思う。
参考情報
- webassemblyとは

コメント