【必見】未経験者が最初に学ぶべきプログラミング言語はJavaかC#です(経験談)

最初に学ぶべきプログラミング言語

こんにちは、エンジニアのオノデラユウト(@CampinggearPOST)です。

エンジニアになりたい方々が最初に悩むのが「結局、最初学ぶべきプログラミング言語は何?」ということ。

僕もエンジニアになる前、未経験者だったときはプログラミングを独学してましたが、正直かなり悩みました。

レガシーな言語はオワコンなのか、
最初の勉強にはCやJavaが良いって聞くけれど、仕事はあるのか、

時代の流れに乗っかってモダンな言語(GoやKotlin、Rubyなど)の方を習得したほうが良いのか。

僕はアセンブリ、C、VBA、Java、PHPを独学しましたが、当時のネット情報だけで学ぶべき言語を選択していたので、勉強の仕方は非効率だったなぁと思います。

ネットにはあらゆる情報が転がっているので、正直、何が正解が分からなくなったりします。

この記事では僕が損得勘定抜きで、未経験者が最初に勉強すべきプログラミング言語を紹介します。

エンジニア経験4年になる僕が当時の僕が読んだら有益な情報になるなぁと思える記事を書きました。

【経験談】JavaかC#を学ぶべき。時間があればCでも良い

初心者のエンジニアやエンジニアになりたい方はJavaもしくはC#を最初に学ぶべきだと思います。

通説で言われている通り、初心者はJavaかC#からプログラミングをスタートさせるべきです。

自身の経験から明白になりました。

その理由を理解するためにプログラミングの遷移を簡単に知ってほしいです。

プログラミング言語はBASICやCOBOLが主流の時代から(この辺りはあまり詳しくない)、CやJava、C#が来て、PHP、Ruby、最近ではKotlinやGo、Scalaのように移り変わってきています。

そして新しい言語ほどプログラミング構造がシンプルで、書きやすい構造になってきています。

端的に言えば簡単に書けるようになっているということです。

識すべき箇所が減ったということです。

メモリやポインタ、データ型などを意識すべきだったのに、それらを意識しなくてもコードが完成するようになっているのが今です。

CやJavaだと10行ほど書く必要があるコードがPHPやScalaなどでは2、3行で書けたりします。

便利ですね。スピーディーな開発が求められる現在に少ないコードで完成するプログラミング言語が採用されやすいのは平常運転です。

でも、1つ注意点があって、それはシンプルな言語構造になっているので、あまり細かいところを注意する必要がないという点です。

新しめの言語は開発には便利ですが、反面、最初に学ぶべき言語としては望ましくないです。

例えば、PHPはデータ型を意識して変数宣言しなくても良いですが、JavaやCはデータ型を意識する必要があります。

この事実を分析すると、

Javaのデータ型を知っているエンジニアは、PHPを理解できるが、PHPを学んでデータ型を意識していない(そもそも知らない)エンジニアは、Javaを理解できない。となります。

Javaの人 ➡ あぁPHPはデータ型は不要なんだ、了解!
PHPの人 ➡ Javaのデータ型って何?Javaだけなの?C#も?え?Cも必要なの?やば分からない。

こういう反応になります。

つまり、比較的モダンな言語からプログラミングを始めた方はJavaやCなどは理解しづらいと思います。

もちろん、「一生、PHPだけで飯を食っていく」、「Kotlinの専門家になってやる!」という考えなら話は別ですが、上述したようにプログラミング言語の流行はすさまじく変化しますので、1つの言語だけで生涯エンジニアをするのは不可能というのが僕の考えです。

なので、プログラミング本来の構造であり、細かい部分まで意識しないといけない、面倒な言語を学ぶべきだと思います。
そういった意味ではJavaやC#が初心者が学ぶべき最適な言語です。

古くからあるプログラミング言語ですし、それぞれデータ型、関数、オブジェクト指向を採用しているので、一般的なプログラミングの概念を網羅しています。

プログラミングの全体像を網羅していれば、モダンな言語で開発する時にもすぐに応用が利きます。

さらに、JavaやC#は需要が未だ高いので、仕事が多いという点もおすすめの理由です。

業務系アプリはだいたいJavaかC#ですし、Javaに至ってはアンドロイドアプリにも採用されています。

ポインタの概念もあるCもおすすめの一つですが、Cを採用したシステムは減りつつあるので、そういった意味ではプログラミングの基礎は身に付くのだけれど、仕事に直結しづらいのでやはりJavaかC#です。

JavaかC#を学んだ後に仕事になる言語を学ぶ

JavaかC#を学べば、プログラミングの構造は理解できます。

構文、オブジェクト指向、コレクションやリスト辺りまで理解しておけばOKです。ベースが身に付けば、あとは需要に合わせて言語を選択するだけです。

JavaやC#を学んだら、それだけでプログラミング言語すべてが理解できるわけではないのでそこはご注意を。あくまで、JavaやC#はプログラミングの基礎の習得です。

PHPやKotlinなどで仕事をしたいなら、基礎を習得した後にもちろんPHPやKotlinの勉強が必要です。

プログラミング言語の勉強は大変ですが、朗報もあります。

JavaやC#を学んでいる人は、学んでいない人よりもPHPやKotlinなどのモダンな言語の習得は10倍以上のスピードで習得できます。(経験談)

ベースの知識があれば、すべて応用できます。

「JavaだとこうなっているからPHPも同じなんだ」的な感じでJavaやC#の知識をベースに習得するので理解がめちゃくちゃ早いです。結果的にJavaとPHP2つの言語が習得できるのもメリットですね。

「急がば回れ」じゃないですが、新しい言語を使いたくても、まずはJavaやC#を習得したほうが結果的に近道になります。これは経験談です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です