全部javaでいいじゃねーか

ここ最近のプログラミングの傾向はというと、事実上「先祖返り」しているということだと思うんですね。かつてC言語(といっても今も健在ですが…)やjavaというものがゴリゴリの文法でもってかなりかっちりした変数型やそのそもそも扱いづらい言語に対してそれなりに扱えるフレームワーク的なものやオブジェクト指向による抽象化された組み込みの関数というものが一緒くたになっていろんな開発をしておりました。システム開発というものはそもそもそういうもので、これまでもこの先もそのようなものであると誰もが信じていた時代が長らく続きましたが、WEBというインターネットを介した情報網が発達する中でまずはPerlがHTMLを動的に書き出す流行りの言語になりました。ぶっちゃけPerlにもそれなりの問題がありましたが、ラリー・ウォールが言うように「簡単なものは簡単にそれなりのものはそれなりに」入出力できるという言語はその時代の寵児となりました。いわゆるCGIという言葉が意味とは別にひとり歩きした時代です。Perlには厳格な文法がなくかなり楽にプログラミングできました。何でもかんでもPerlでかいておけば問題ないという感じでWEBページ作成ではずいぶん重宝したものです。ついでPHPがPerlを凌駕しました。この時代に入ってくるとRubyと(そのフレームワーク的というかライブラリの集合体というかの)on railsやphysonなど様々な言語がWEBページ(つまりhttpリクエストに対して何らかの情報を出力し得る情報ページ)と連動して登場しました。もちろんこれらの言語も水面下でかなりむかしから着々と進化を遂げていたわけですが、WEB2.0時代に入ってくるとまたたく間にその地位を確立しました。同様にしてWEBサーバーといったらIISとApacheぐらいにかなり絞られてきたし、Mailサーバーだってだいたいpostfixかqmailで動いているみたいなことになっています。かつては様々なパッケージが乱立していた時代があったのですが、今ではその殆どが絞りこまれ偶然にもLAMPといわれる環境が主流になりました。同然銀行などの金融業界やロボットなどを扱う工業分野では全く別のプログラミング言語が今も尚脈々と受け継がれています。
WEBの世界ではバカでも書けるPHPがかなりのシャアを占めています。実際にHTMLが書けたらPHPを習得するのにそれほど時間がかかりません。開発環境の構築は殆どないに等しく、コンパイルもデコードもビルドも何もない平坦なインタープリタ言語になっています。それ故に「デプロイ」という言葉を聞くのも稀になってきましたし、デプロイという言葉を知らないプログラマーさえいる時代になってきたわけです。が、この「コンパイルもデコードもビルドも何もない平坦なインタープリタ言語」は大規模開発には全く向いていません。大規模になるに連れてデバックが非常に難しい言語なのです。それもそのはず、PHPには構造化されたフレームワークがそもそもないのです。
そこでPHPでもそれなりの開発ができるようにCakeやSymfony、ZendFrameWorkといわれるフレームワークが登場しました。これらのフレームワークでPHPも抽象クラスから様々な情報を取り出して大きなピラミット構造の中で情報をフィルタリングできるようになってきました。アプリケーションの登場です。PHPというApacheに簡易的に組み込まれたPHPが大型プログラミング言語としてはじめて成立したわけです。
ちなみにですが、mixiはPerlで書かれています。内部的にはもっと大きなシステムが動いていますが、表面的にはPerlで出力しています。FacebookはPHPで動いています。CMSでいうと、EC-CUBEはクソPHPで動いています。MovableTypeはPerl、WordpressはPHPです。言語の云々に関わらずその構築方法、または設計の機知でもってその性能を発揮しています。ここまでくると構造化されていない現在のPHPで構築されたアプリは殆ど発展の余地のないクソということになります。
そんなわけで、WEB界を大きく左右したPerlとPHPなのですが、この言語が再び先祖返りしているのですね。Perlにはuse strichtというモードが登場して久しく、文法を厳しくチェックします。これをやらないと大規模開発に耐えられないからです。またPHPもオブジェクト指向のプログラムが多く、平坦な関数とphpに直アクセスなんていうサイトが非常に少なくなってきました。PerlでもPHPでも内部的にAPIなるものを用意し外部からのアクセスに十分耐え、おまけにOAuth2.0以降は各ソーシャルサイトがそれらの情報を外部に開示しております。バカでも書けるPerlやPHPが現在はその開発環境構築からはじまり、その開発プロジェクトの過程を通してかなりフレームワークチックになりました。

もうjavaでいいじゃねーか?

と私は個人的に思います。20年たって一周りして同じ結果になっているという始末です。