最近の開発現場で思うこと
いろいろな言語で開発を行ってきた経験から何となく思うのは、どうやら最終的に残るのは言語仕様が美しく、エレガントな言語・・・ではない!
ということ。言語仕様のいい加減さだったり雑さはあっても、手軽さや簡単に始められる言語が最終的に残っていくんだなぁ、と感じている。
悪いところはいっぱい目につくけれど、少し勉強すればだれでもが容易に習得できる言語が残ってきている。はじめのうちは汚くて読めないようなスパゲッティプログラムを書いていたエンジニアも、エンジニアの成長によって自らルールや制限を設け、エンジニアがコードを洗練させていく言語が最終的に残っていくと思う。
実装がエレガントでしっかりした思想を持ったプログラム言語であるRubyが最近急激に衰退してきている。Ruby自体は非常に美しい作りでメンテナンス性もよく、これから主流になる言語に挙げられていた。
Ruby(特にRails)はPHPと比べてコードの書き方や考え方や設計を強要する。エンジニアの熟練度とは関係なくルールに乗ってプログラムする必要がある言語でプロクラム開発の最終到達点だと思っていました。
しかしRubyには、いっときの勢いはなくエンジニア求人情報の言語別で見ても下位の言語になってしまった。JavaやPhpに比べて半分以下、いや1/4程度くらいしか求人がない状況だ。単価ではRubyが上という声もあるが、そもそも開発者が減って案件が少なくなっているのだから、少ない供給となれば必然的に単価は上がるだろう。単価は高いから、と言っても案件が少なければあまり意味がない。
プログラマが求める言語のエレガントさや楽しさと(よく書いてて楽しい言語と言われるが)、現場が求めるものが違うというのが理由で、経営者(依頼者)からするとプログラム言語の綺麗さなんてどうでもいいこと、最短で指示通りに動くコードが作れることが第一。コードの美しさは結局エンジニアの自己満足でしかないと言うことだと思う。
そういう考え方で見ると、同じようにReactやAngularがVue.jsに押されてきているのも納得できる。
設計の重厚なReactやAngularよりも手軽に使えてすぐに成果が出せるVue.jsがこれから大きなシェアを持つようになるかもしれない。Vueの案件はこのところ増えてきているのを感じています。
エンジニアとしてはすべての言語が使えるのに越したことはないけれど、これからエンジニアを目指す人は人気のある言語、求人の多い言語を選ぶのは当然だし正しい選択だと思うのでRubyの人気が下がっていくのも仕方がないと思う。
ただ、使いこなせなくてもそれぞれ言語のメリットや得意な分野は理解しておくといい。何でもかんでもPHPとか、全てVue.jsで、というのは違うと思う。
言語に固執せず広い知識で石頭にならないように気をつけていこうと思っている。
p.s. Rubyが衰退していく理由に守備範囲の被りが大いにあると思う。利用される分野がPhpとRuby、言い換えるとLaravelとRailsとが同じ土俵で案件を喰いあっている状態なのでRubyには苦しい。
PythonにはAIという得意分野があり(海外での人気はすごいですね、学生の習得言語としても人気があります。)、Javaにはオールマイティに何でもこなせるパワーが有る。しかしRubyにはコードのエレガントさという内向きのメリットしかなくWebの分野に限っていえばPHPのWordpressに対抗できるほどのキラーアプリが存在しない。何か秀でたメリットを見つけないと今後更に減って淘汰されるのではないかと心配になる。今のフレームワークはRailsに影響を受けていないものは殆どない。それほどRailsの思想は偉大だったと思う。これからも開発の選択肢として影響を与え続けて欲しいものですね。
コメント