ぼくが主催している勉強会で、若手の子と話した時にこんなことを聞かれました。
「これからエンジニアとして転職をしたいけど、言語は何を学べばいいんですか?」
彼はWebアプリを開発するべくフロントエンド(HTML/CSS/JavaScript)を勉強しているところで、サーバー開発の言語をどれにすれば良いのか悩んでいるとのことでした。
悩むのは無理もない。
選択できる言語はいくつもありますからね。
いくつもある選択肢
最近のWeb系言語だと、主に次のものになるでしょうか。
- Ruby
- PHP
- Java
- Python
- JavaScript
ぱっと思いつくだけでも5つあります。
実際マイナーなものも入れればもっとあるでしょう。
ここから自分にあった言語を選ばなければいけないですから悩んで当たり前です。
特長を理解して自分の目的に合った言語を選ぶ
でも言語にはそれぞれ特長があります。
Rubyは直感的にわかりやすいのが特長ですし、PHPはレガシー言語だなんて言われますが、いまだに採用している企業がとても多い。この2つは初心者にはとっつきやすく、小規模から大規模までのWebアプリを構成するためのフレームワークも成熟しています。
次にJava。実装コストはかかりますが、大規模なWebアプリではJavaが採用されることも多々あります。
有名なところだとTwitterがサーバー言語にJavaを採用していますね。サイバーエージェントさんも一部Javaだったような。
そしてPython。機械学習やAI実装ではPythonが有利なため今めちゃくちゃ人気のある言語。
Webアプリ開発でも人気の言語で、DjangoやFlaskといったフレームワークを採用されることが多いです。
最後はJavaScript。サーバーで実行されるJavaScriptは総称してNode.jsと呼ばれます。
Node.jsは非同期の並列処理が得意で、処理も速いのでリアルタイム性のあるアプリケーションにマッチします。
という感じで、言語にはそれぞれ特性があります。
その特性さえ理解してしまえば、自分が望むものを選択出来るのではないでしょうか。
中でもRubyがおすすめ
個人的におすすめしたいのはRubyです。
そしてWebアプリーケーションフレームワークのRuby on Rails(以下Rails)を勉強してもらいたい。
Railsはベーシックなフレームワークで、Webアプリの基本がすべて詰まっています。
ぼくも採用の経験がありますが、全体的に直感的で覚えやすいですし、Railsを覚えてしまえば他の言語を学ぶ際にもかなり応用が効きます。
プログラミングスクールでも最近はどこもRailsが採用されていますので、初心者向きと言っても過言ではありません。
[kanren2 postid=”3465″]
とはいっても、有名なアプリケーションでRailsを採用している事例はめちゃくちゃ多いです。(クックパッドなどや初期のTwitterも実はRailsでした)
なので、きちんとしたプロダクトを作る際にRailsを選択するは非常に現実的。
「もし迷ったらRuby(Rails)を採用するのがいいよ」というのが、はじめの質問への回答です。
同じく迷っている方はぜひ参考にしてみてください。