Juliaは一時期すごい流行って数値計算の王座になると期待されライブラリも大量に作られたけど、結果Pythonの座を置き換えるにはいたらなかった。Goもコンテナ化との相性がよて一時期すごい流行ったけど、なんだかんだみんなJavaとかPHPとかRubyとか書いてる。
Rustもここ数年すごい流行ってるけど、JuliaとかGoみたいに飽きられて廃れていく気がする。
- 流行に敏感な人がなんか面白い言語あるぞーと騒ぎ出す。
- 様々なライブラリが乱立して色々出来るようになる。
- 数年かけて言語そのものが良くなっていき、ライブラリも淘汰や共通化されて成熟していく。
- 成熟したライブラリの開発は飽きられてメンテナンスされなくなる。
- メンテナンスされてないライブラリを使いたくないから誰もその言語に参入しなくなる。
- 結果として言語そのものが衰退して、もとの成熟していてメンテナンスされ続けている言語とライブラリをみんなが使い続ける。
こういう過程で新しい言語は毎回衰退してる気がする。
僕の印象ではRustは状態4にいる気がする。
JuliaやGoは状態5、D言語は状態6かな。
Nimは状態1or2って感じかなぁ。
一方で、TypeScriptはずっと流行っていてこれから廃れていく気はしない。この差はなんなんだろう。。。
何か意見あったらコメント下さい。
コメント
@dynamiteore1
@WolfMoon2(編集済み) 0
@newta0
@EqualL2(編集済み)
0
@hakaicode(編集済み) 0
何を根拠にjuliaやgoが5の状態って言ってるんだろ。
完全に視野の狭い人の妄想ですよねwww
使いたくない人は使わなければいいだけの話です。
Fortran や Cobol がわずかながらも使い続けられているという実情もあるわけですから。
コンピュータやコンピュータ言語を「流行に敏感な人が使う」というのはそうかも知れませんが,そのような人はスポーツやゲームなどにおける「にわか〇〇ファン」みたいなものかもしれませんね。
LGTM する気には,とてもなりません
常識となって、わざわざトピックとしてあげる必要がない状態を衰退と呼んでいるのでしょうか?
適材適所があるので、あなたの周りの課題解決の時には使われないだけなのではと思います。
むしろ私の周りでは既に主流です。
この人たちってそもそも新しい言語に手を出さずに元々の環境を守ってるタイプの人ってだけではないですか?
こういう人も実際必要で大事な人たちです。
これは単純に見えてる界隈が違うのかなと思います。
今Pythonが明らかに強いのは機械学習の分野で、その分野は確かにあまりJuliaでの置き換えが進んでいません。というのもこの界隈ではPythonは「C++で書かれたコアに簡単にアクセスするためのラッパー」でしかなくて、別にJuliaで置き換える必要がないからです。
(そもそも「Pythonが数値計算に強い」という記述自体怪しいかなと思います。Pythonが強いのはNumPyとかPandasとかを使った機械学習含む統計分野だと思うので)
じゃあJuliaがどこを置き換える雰囲気かというと、今までFortranを書いてたような(HPC寄りの)「数値計算」界隈ですね。この界隈は下手するとFORTRAN(古いFortran)がまだ跋扈しているような世界なので、ここを置き換えられると嬉しいわけです。
あと、Goの方はあんまりちゃんと観測してないですが、今のところ全然廃れていないような気がします。
自分は今年就活をしてましたが、バックエンドではかなりGoのスキルが求められる傾向がありました。
Rustの将来どうこうは正直Rustaceanの自分としても気になるところではあるのですが、そこを占う以前に前提知識が正しくないように思われます。
個人的な見解ですが、
Go
まだ廃れてないと思うものの言語仕様は非力過ぎだし、Cのカルチャーが強く汚いソースを書く人が多くてベテランになるほど敬遠しがち。
Julia
悪くはないけどあえて既存のものを置き換えるほどの魅力がない。
Rust
C++の置き換えとして有力。エコシステムが揃ってきたらランタイムのでかいJVM言語の置き換えにもなれそう(個人的願望)。
と感じています。業務ではやはり「集めやすいかどうか」はかなり重要なので、Java/PHPの牙城を崩すのは難しいかと。でも複数言語の経験があってもPHPがいいなんて言う人や、Scala/Kotlinをやった後にJavaの方がいいなんていう人はいない(たまにいるけどエンジニア向いてない人だけ)ですよね。Kotlin/gradleは結局Java言語仕様/mavenエコシステムを知らないといけないところがイケてないし、JVMは今では実行速度も速くprofilingツールも揃っていていいのですが、ランタイムデカすぎてdockerイメージを小さく出来ないとか、依存ライブラリが多くてAWS lambdaとかにupするのが数十MBとかになったりするのでいつか置き換えが進んで欲しいなと思っています。
TypeScript/JavaScriptはReact(およびVue,Angular)が強すぎて仕方ないのかなと。elmやKotlin/JSでフロント作ったって、ハマったらwebの情報で解決するのまだまだ厳しいですからね。