Rubyは今後使われなくなる言語だと思いますか?5年、10年後はどうなっているでしょう?
数年前にスラドで下記の記事が話題になりました。
5 Programming Languages Marked for Death
2014年の時点でRubyは死すべき言語だったのです。そして、その2年後、続きとして下記の記事が書かれました。
5 Programming Languages Not Quite Dead Yet
なんだ、まだ生きていたのか、しぶとい奴め…
さて、この記事で言えることはRubyがどうとかというよりも、言語の未来について予測が極めて困難であると言うことです。実際に予測が当たったのはAdobe Flash and AIRだけです。PerlはPerl 6と言う形で生き続けており、Ruby、VB.NET、Delphiは予想に反して人気はあまり落ちませんでした。逆に、予想もしなかった事として、Objective-Cが急激に落ち込むと言うことがありました。
言語の死とは誰にも使われなくことです。そこには次のような要因が考えられます。
開発が止まった。
スポンサー(支持者)に見放された。
強力な代替が現れた。
Adobe Flash and AIRはHTML5+JavaScriptという強力な代替が現れ、最終的にAdobe社から見放され、開発が停止するという形で終わりました。Objective-Cの衰退は強力なスポンサーであったApple社がSwiftという代替を開発し、シフトしていったことが一番の原因です。こう考えると、特定の一社が強く支えているような言語、例えば、MSの.NET系言語(C#、VB.NET、F#)やTypeScript、AppleのSwift、GoogleのGo、MozillaのRust、OracleのJava等は梯子が外された瞬間に終わってしまう危険性があるのかも知れません。その他の例として、事実、MSのJ#のように黒歴史として封印されたものが存在します。JavaはOracleの方針変更により、今まさに危うい状況です(数年後にはJVMのみ使用し、言語はKotlinを使うのが当たり前というのもあり得ると言うことです)。
Rubyを含めたPerl、Python、PHP等はコミュニティーが開発の主体であり、どこか特定の会社に頼っている訳ではありません。また、C、C++、JavaScript等は多くの実装が存在するため、一つの企業だけから強く影響を受けるようなことはありません。そのような場合は、一社の都合で滅ぼされるというのはないため、しぶとく生きていく可能性は残されると思います。
もう少しRuby自体について分析していきましょう。コミュニティーが開発の主体であり、コミュニティーが無くならない限り開発は止まりません。また、一社のみに依存するというわけではないですから、その企業の都合で終わると言うこともないでしょう。もし、Rubyが終わるのであれば、強力な代替が現れたときだけです。
Pythonは強力な代替となるのでしょうか?いえ、もしそうであれば、既にRubyは滅んでいたはずです。いや、産まれることすらなかったはずです。正しいか正しくないかは別として、Pythonに不満がある人が、Pythonの哲学を受け入れられない人が少なからず存在するからこそ、Rubyを使う人がいます。多様性を嫌うPythonista達には理解できないかも知れませんし、わかり合えることは永遠にないでしょうが。
Perl 5は…まぁ、忘れて下さい。代替となるとしたら、Perl 6です。あれだけ話題になったPerl 6ですが、実際使っている人は…いや、いまはまだ産まれたばかりです。言語の正当な評価は10年ぐらい経たないとわからないということにしておきます。
PHPはジャンルが違います。PHPがRubyの代替になるという人は、CがRubyの代替になると言うぐらい馬鹿げています。そのような人を相手にする必要はありません。
あとお手軽なスクリプト言語はJavaScriptでしょうか?安心して下さい。JavaScriptはWebAssemblyによって駆逐されることが確約された言語であり、生き残ることができないと考えられます。www
一番あり得る未来は、みんなTypeScriptばかり使うようになって、TypeScriptをWebAssemblyにコンパイルできてしまうようになることです。もう、JavaScriptを使う人は居なくなるかも知れません。
まぁ、結局わからないが結論です。今後、強力な代替(それはPythonではない)が現れない限り、少なくとも私はRubyを使い続けるでしょう。ただ、それだけです。
【この回答に関する俺のコメント】
実は俺はRubyもJavascriptも大嫌いだ!
WebAssemblyによって滅ぼされて当然だと思っていたが、この回答がその考えを裏付けてくれた。
今はJavascriptがWebアプリ開発言語としてなぜか脚光を浴びており、プログラミングスクール詐欺師共の格好のネタになっている。猫も杓子もWebアプリ様々状態なのはおかしいと思っていた。
そもそもWebアプリで何がしたいんだ?ECサイトを作って欲しいと思っているテメエら詐欺師のカモ共がそんなにいるとでも思っているのか?
残念ながらカモ共はそこまでバカではない!
カモ共はマーケティング、宣伝広告、Webデザインに重点を置いているから、プログラミングスクール詐欺師共や偽装請負多重派遣の詐欺会社が出る幕ではない!
ソースコードを自動生成するローコード開発ツール「JITERA」、ベータ版を提供開始
Jiteraは2022年11月30日、ローコード開発ツール「Jitera」のβ版を提供開始した。Ruby on RailsやJavaScript(Node.js、React)によるWebアプリケーションのソースコードを、GUIベースのエディタを使って自動で生成可能なクラウドサービスである。フロントエンドからバックエンドまで幅広い要素のコードを生成する。数十件のプロジェクトに対して行った実証実験では、平均で60~70%、最大で90%の開発を自動化したとしている。正式版の提供時期は未定。
https://jitera.app/ja
RubyからJavascriptへのトランスパイラOpal
俺は興味は無いが、Ruby関連のトランスパイラを検索していて見つけたから記事にしてみた。
「Rubyに興味が無い」んじゃなくて「Javascriptに興味が無い」のだ!
RubyでPythonのライブラリが使えるのだ!
Rubyはデータ分析に全く向いていない。ほとんどできないような状態らしい。
ちなみにRubyは簡単なPythonよりもさらに簡単なプログラミング言語だ。
プログラミング初心者にはもちろん、小学生でも習得可能なプログラミング言語だ。
これはRubyのトランスパイラだとも言える。PythonをRubyに書き換えるような感じで使える。
それにしても遅い言語同士でトランスコンパイルしてどうすんだ?ってならないか?
pythonでフーリエ変換ができることは既知とした上で、それならば他の言語(例えばRuby)でフーリエ変換ができるのだろうか?できるとしたらプログラムはどう書くのか?
とふと疑問が湧いたので検索してみた。