jildin workers

SFA、CRM製品を開発するエンジニアのブログ

一番初めに学ぶべきプログラミング言語

こんにちは。Jildinのトラです。

f:id:jildin:20170320171043p:plain

 

これからプログラミングを学んで、webで自分のプロダクトを作っていきたいとか、

ソフトウェアエンジニアの道に進みたいと思う人に向けて書きたいと思います。

 

ただ最初に伝えたいのは、ソフトウェアの業界というのはものすごい勢いで変わり続けます。

なのでこの言語を覚えておけば大丈夫というものは存在しないんですね。

 

そしてプログラミング言語というのは宗教的な要素も持っています。

いろんなところで絶えず戦いが勃発している領域ではあるので

あくまでwebアプリ開発をしてきた一個人の意見として見てもらえればと思います。

 

重要なポイント

・ネットに出ている情報の量

・モチベーション

 

最初に学ぶ言語を決める上で重要なことはこの二つだと思っています。

 

・ネットに出ている情報の量

これは初めてプログラミングを学ぶ人にとっては一番重要だと思います。

プログラミングってどれだけ長くやっている人でもわからないことって出てくるんですよね。

そんな時に全然情報が出てこない、英語の文章ばかりでわからない、英語ですらない

となってしまうのが一番しんどいです。

 

うちの天才エンジニアであるハゲタカですらreact nativeには苦戦していました。

「なんか調べてたらアラビア語youtubeしか情報ないんだけど」

とか言ってました。

 

彼は一流のエンジニアで技術的も経験も豊富なのでreact nativeだろうが何だろうが

すぐに解決していってしまうのですが

プログラミング初心者はおそらく挫折をしてしまうので

情報が多い言語を選びましょう。

英語が苦手な人は

広まってからの年数×扱っているエンジニアの数×日本人率

が一番大きい言語を選ぶと良いかもしれません。

 

・モチベーション

これも情報の量と同じくらい重要です。

僕も学生時代にプログラミングを学びたいと思い、初めてみたのですが

「めっちゃ時間がかかるし、わかんない」

という結論に至ったことがあります。

環境を作るのですら時間がかかって、調べてはみるものの

情報を書いている人が何を言っているのかもわからない。

僕は向いてない。そう感じてそっとパソコンを閉じました。

 

そんな僕も今では一端のエンジニアをやっているわけですが

結論は大きく変わっていません。

 

「めっちゃ時間がかかるし、わかんない」ということを知っている

 

というだけなんですね。言葉にするのは簡単ですが

一つプログラミング言語を習得したという成功体験がないとこれはわかりづらい。

大きな概念は似ているので二つ目、三つ目の言語を覚えるときは

短時間で習得できるようになってはいますが、やっぱり気合がいります。

 

そんな大きな壁を超えるわけですから相当なモチベーションか根性が必要です。

なので、なかなかうまくいかない時でもそれが当然だと割り切って欲しいです。

試行錯誤をちゃんとしていけば動きますから。

 

初めて学ぶべきプログラミングランキング

ではここからは主観の世界でランク付けされた言語たちを紹介します。

第一位 JAVA

何と言っても開発者人口が多いので情報量が膨大です。

だいたい日本語で解決策が得られます。

webブラウザで動くアプリケーションを作るための情報もたくさんあります。

webアプリは結構何でも作れるのでモチベーションを高く保てますね。

あとは後方互換性が比較的保たれているので、

昔の記事を参考にしたら今のバージョンでは使えなかった。

ということが起きにくいです。

また、ルールが多いことも最初に学ぶという人にとってはありがたいと思います。

いろんな書き方が存在することで混乱する必要もなくなるわけです。

フレームワークはspringがオススメです。

 

第二位 Ruby

日本生まれの言語だけあって、日本語の情報が豊富です。

rubyで大規模なアプリケーションを作っている会社は日本でも数社しか無いです。

簡単にコードが書けるので初心者にはとてもいいかもしれません。

rubyを書いた直後にjavaを書くと、

何でこんなにいろんなところに宣言やコードを書かなければ

と思うくらいrubyは簡単にコードが書けます。

後方互換性が弱いことは初心者にとって辛いかもしれません。

自分の構築しているバージョンではどう書いたらいいのか。ということに苦しむかも。

とりあえず何か動くものを作ってみたいという人には一番オススメですね。

フレームワークはおそらく今はrails一択でしょう。

 

番外編 英語

この文章でいう「日本語の」 という制約から解放されます。

得られる情報量が段違いに違います。

最終的に自分で作った製品を使ってもらうという観点からも

ターゲットにできる人口が大きく変わります。

日本語でしか書かれていない製品は海外の人が使おうとは思わないでしょう。

 

以上が主観の世界におけるランキングでした。

 

webアプリは比較的簡単に成果がわかり、公開もしやすいので

最初に取り組む領域としてはとてもいいと思います。

ソフトウェアエンジニアの人口が増えることによって、

世の中をどんどん便利にしていきたいですね。

 

corp.jildin.com

visit our corporation page
http://corp.jildin.com