この記事はプログラミングを始めようと思う人に向けて書いています。
情報系以外の専門だった人がSEに内定もらったんだけど会社に入るまでに何やったらいい?
って人や
第二新卒として他業種からSEに内定もらったから何かプログラミングの勉強しようと思うけど何したらいい?
って人向けです。
結論から言うと
Java
です。
たぶんほとんどのこういう記事でJavaが選択されているのではないでしょうか。
これは個人的にはNTTデータやNRIといったSIerに行く人も、DeNAやサイバーエージェントみたいなWeb系に行く人も同じだと思います。
本当に手っ取り早く仕事を開始したい!って人にはPythonやJavascriptなどもいいかもしれませんが、今後しっかりと会社でやっていこうと考えている人はおとなしくJavaをお勧めします。
なんで?
個人的には以下です。
プラットフォームを選ばない
多く使われている
だいたいの言語として必要なことがある(オブジェクト指向、変数の型など)
の3つですかね。
プラットフォームを選ばない
これはまず勉強するにあたってMacしかないとかWindowsしかないという人もいるかと思いますが、それを気にしなくていいです。
SwiftだとiOS向けがメインになりますし、C#やVB系だとWindowsをメインに開発となります。
Linuxでも動かすことができます。
まぁこれに関してはいろんな言語がそうなのであまり気にしなくてもいいですが、上記に挙げたような言語は最初には選らばない方がおすすめです。
多く使われている
個人的にはこれが一番の理由です。
何よりJavaで作られているシステムは非常に多いです。
業務システムなどは昔はCOBOLが多く使われており、そのあとVB6を経てJavaとなっているところが多いのではないでしょうか。
少なくともSIerに行くという人はJavaをやっておけば間違いありません。
Javaなんて時代遅れだ!Web系なら今どきのイケてる言語がいい!
って人はごくまれにいますが、まぁそうとも言い切れないです。
Web系に行ったところで、その時に必要な言語は違ったりします。
今はAIなどでPythonがやたらと流行ってますが、その前はNodeJSでJavascriptが流行ったりGOが流行ったり本当にいろいろです。
なので、流行りを追ってPythonなどに手を出すこと自体は否定はしませんが
Pythonしかできません!
って人はWeb系にはいらないと思うよ。なんでもできる人、なんでも勉強して出来るようになる人が求められます。
また、何よりこれだけ多く使われている言語なので、自分で勉強するときの教材に困りません。
本を見たらたくさん出てるし、Udemyなどのオンライン講座でも探せばいくらでも出てきます。
新しめの言語でいろいろやろうとすると、変化が早いぶんバージョンが変わっていて動かなかったり、本がわかりにくいやつばかりだったり、調べても英語の解説ばかりだったりします。
なので、こういった背景も含めて初心者ならJavaじゃね?って話です。
ちなみに私がいろいろ見た中で分かりやすかったのは下記の本です。(第二版出てたので両方載せておきます。)新卒でWeb系に入って今はベンチャーの社長やってる大学時代の友人が、会社に入社する前にお勧めしてくれて、確かに分かりやすかったので入社後などでも同期とか後輩にも勧めてます。
言語として必要なものがそろってる
自分もそんなに多くの言語を触ったわけではないですし、自己学習レベルで業務で触れた言語に至っては少ないですが、やはりJavaはいいです。
回りくどかったり変なところはありますが、オブジェクト指向型だし、変数の型もしっかりしているし。
このあたりはC言語でもいいですが、いかんせんC言語が業務で使われることはどうしても少ないのでJavaを選択しています。
JavascriptやPythonなどのスクリプト言語は型がないので、最初に勉強するには適していないのではと思っています。
数値なのか文字列なのかそういったことを最初にしっかり意識することで保守性も高くなりますし、きれいなプログラミングというものを意識するようになると思っています。
他の言語を触る時も、最初にスクリプト言語を触って型を意識しない状態でこういった言語を触るとわけがわからないって人もいます。
やはり最初はしっかりした言語を触っておくことは必要だと思います。
それでまぁある程度触れるなと思ったら他の自分のやりたい言語に行くのがいいと思います。
結論
やっぱJavaでしょ。
別に自分は特別Javaが好きなわけではないです。
学生時代はC言語メインでしたし、そのあと業務でJava触ることが多かったですが、ReactやAngularでJavascriptやTypscript触ったりAI関連でPython触ったり古いシステムでVB6なんかも触ったことがあります。他にも独学でいろいろ勉強したりしてます。
ただ、いろいろ総合してやはり最初はJavaじゃないかな。
何より調べて情報量が多く、やってる人が多いってのは非常に強みじゃないでしょうか。
あくまでこの記事は新卒や第二新卒でプログラミングしたことないけどSEの会社に入社するよって人向けなので。
Webシステム作りたい!作りたいものが決まってる!って人はそれにあった言語を選びましょう。
何よりプログラミングは続けることが重要です。
1日や1週間程度でできることなんてたかが知れてます。
1か月はしっかりと期間とって勉強しましょう。
一つ、自分の中で言語を学んでおくと他の言語を学ぶときなどはすぐに理解できますので。
コメント