初心者におすすめのプログラミング言語はJava?一番最初に選ぶプログラミング言語について
プログラミングを始めようと思っているなら、まずは Java はどうでしょうか? 古くから使い古された言語で、堅牢であり、様々な企業で今もなお現役です。
プログラミング言語の選択は大事なのか
正直に言って、そこまで大事じゃないです。 何が作りたいのか、何をしたいのかによります。
企業や大学、研究室に入って、特定の言語を学ばなければならないようであれば、自動的に決まるので楽ですが、そうでない場合には選択肢は山ほどもあります。
プログラミングとプログラミング言語は別物です。 プログラミングは何かを作り、運用していく過程であり、目的そのものです。
その一方でプログラミング言語は何かを作るための具体的な手段です。 ホームページを作りたい、マーケットプレイスを作りたい、モバイルアプリを作りたい。そんな目的を具体的に達成するために必要なのがプログラミング言語です。
どんな道具で作っていくか、道具は非常に大切です。 何かを作るうえでプログラミング言語に習熟することは必須ですし、言語の選択を誤ってしまうと作れるものも作れなくなります。iPhone アプリを作りたいのに、fortran を学んでしまえばかなり遠回りになります。
一番大事なことは1つの言語にまずは精通すること
一番大事なことは、まずは何でもいいので、1つの言語に精通することです。 プログラミング言語はたくさんありますが、それぞれの言語は似たところは多いです。1つの言語に習熟していれば、新しく学ぶ言語の学習量は飛躍的に低くなります。それはプログラミング自体が抽象度を高くすれば同じだからです。通常私たちが話す自然言語もノーム・チョムスキーのユニバーサルグラマー(普遍文法)仮説によれば、普遍文法として同じ言語とみなすことができるとされています。もちろん違いを見れば際限はありませんが、抽象度を高くすれば同じものです。なので今母国語として扱っている言語と同様に、まずは1つをマスターしましょう。
逆に最初にあれやこれやと手を出してしまうと頭の中が混乱してしまって、学習が非常に遅くなってしまいます。1つの処理を書こうとしても、頭の中にたくさんの構文やルールが思い出されて、作業も遅くなりますし、疲れやすくもなります。
でも最初の1つを選ぶのは大変ですよね。
初めて、これは人にとっては大きな挑戦です。
プログラミングを学ぼうとしたときに最初の落とし穴
プログラミングを学ぼうとしたときに最初の落とし穴は何といっても最初の設定です。 プログラミングで最初のコードとしてよく出てくるHello Worldの表示ですが、そこにすら到達できないことが多々あります。
package test;
public class Test
{
public static void main(String args[])
{
System.out.print("Hello World.");
}
}
参考書やサイトには簡単にこう書いているのですが、実際に自分の手元でやってみると全く動かない。 何もこれは初心者に限った話でもなく、会社に入っていても一番時間がかかるのはこの最初の設定だったりします。
これを解決するには経験と勘が必要です。もちろんきちんとコンピュータサイエンスを修めていれば、論理的に解決方法に帰結できると思いますが、そうでない人が多いでしょう。ここを乗り越えられるかどうかが、今後学習するうえでの最大のハードルになります。ここをサクッと乗り越えられると出だしは上々です。ここで諦めたり、四苦八苦したりすると今後の学習の継続は危ぶまれます。
ですので、プログラミングってどんなもん、というような時は Web 上で実行できるところで始めて見るのがよいでしょう。
特に決まった言語がないという人には Java
大学や企業が指定してくれない人たちは何を選んだらいいのでしょうか。
この記事では Java をおすすめします。
嫌なところを挙げればキリがありません。
- いちいちコンパイルが必要
- 構文が冗長的すぎる
- Oracle に支配されている
- バージョンの更新が早い
- 環境構築が面倒くさい
どれもちょっと手を出したくはない内容なように見えますが、それを補ってあまりあるメリットとして、次のように考えます。
- プログラムの基本を学べる
- 長く存在しており、様々な知見が書籍やネット上に存在する。
- AWS、GCP、MS Azure など様々なクラウドプラットフォームで扱われている
- C 言語よりも簡単に扱える。特にポインターとガーベッジコレクション。
- 様々な企業で採用されており、即戦力として活躍できる。
- 変わりやすいフロントエンドよりも、変わりにくいバックエンドを中心にして技術を磨ける。
- Web アプリから、モバイル、組み込みなど様々な分野で使われています。
プログラミングを長く続けようと思っているのであれば、基本に近いと言われている Java はおすすめです。もちろん原理主義者にとっては C 言語だったり、Lisp 言語だったりはしますが、母数は Java が多いでしょう。
Java からプログラミングの世界が広がればいいなぁ
特に最初の言語が決まっていない人にとってはいい選択肢だと思います。
Java を触った後にKotlinやSwiftを見れば、非常に洗練されていて感動するでしょうし、Python を使うようになれば、簡潔に何でもできてしまうことに驚愕するでしょう。また Scala のような関数型プログラミングも新鮮な衝撃を受けるかもしれません。
Java は面倒な言語だとは正直思いますが、それでもやっぱり愛着はありますし、Java があったから色々と知ることができたんだろうなという実感もあります。Java を学ぶということはプログラミングのここ20年の歴史を再訪する旅路になると思います。
もちろん、他の言語でもかまいません。 最初の言語に迷える人の一助になれば幸いです。
それでは!