こんにちは、KAZUです。
初めてプログラミングを学習する際に、どの言語から始めてたらいいのだろうかと迷うことがあります。
ぱっと調べてみたのですが、プログラミングの数は2017年の時点で約7000あると言われていたそうです。
現在はさらに増えているでしょう。
さすがに、マイナーなものや古く廃れているものもあるので、ある程度は絞れます。
それでも、主に使用されているものが数十種類あるので、迷ってしまいます。
私もそうでした。
何を選ぶ基準にするのか?
人気があるもの?需要があるもの?将来性があるもの?
はたまた、国内なのか海外なのか?
もしくは、難易度?
客観的にいうなら、将来性があって難易度を低いものがいいかもしれません。
PythonやRubyなど人気がありますね。
海外でも需要が高いので、学習する価値は十分にあるでしょう。
Pythonはアメリカの大学の入門講座として用いられることが多いです。
また、AI、IoTなど注目されている分野に強いので将来性がありますね。
Pythonを扱えるプログラマーは年収も高めです。
あえて、欠点をいえば他の言語と比較して、国内の求人数が少なめです。
しかし、伸びしろがありますので、今から学習して取得するといいかもしれません。
Rubyは日本人が開発した言語です。
ですので、海外でもそうですが日本では特に求人数が多いです。
日本人が開発したからか、日本語での情報が多いです。
基本的に最新情報は英語で出回っていることが多く、英語が苦手だと若干調べるのに手間がかかることもあるでしょう。
翻訳アプリも精度が高くなっているとはいえ、おかしい和訳になることが今でもあります。
エンジニアとして第一線として働くのでしたら、最新情報はいち早くキャッチしたいので、その点でもおすすめできますね。
私はどちらも学習しましたが、両方とも初心者向きです。似ている部分も多いので、どちらか一方を習得してからもう片方を学習するのもいいでしょう。要領がある程度つかめているので、後から学んだ言語は習得スピードがかなり早いはずです。
pythonとRUbyだけではありませんが、ポピュラーな言語はオブジェクト指向のものが多いです。
私が耳にした中には、オブジェクト指向の理解するためにJavaから学習したほうがいいといった声もありました。
Javaは世界中で人気、求人数が多く、汎用性も高いです。
コンパイラ言語と言われているものの一つでです。
コンパイラ言語とは、機械がわかりやすい言語であり、プログラムの処理速度が早いのが特徴です。
pythonとRubyなどはスクリプト言語なのですが、コンパイラ言語と比較すると動作は遅いです。
しかし、難易度が高い言語です。
機械がわかりやすい言語ということは、人間がわかりやすいものというわけではありません。
スクリプト言語よりも複雑なコードを書く必要があります。覚えなければいけないことも多いです。
Javaは歴史がある言語であり、後発のプログラミング言語にも影響を与えています。
そのため、難易度が高いのですが、Javaを習得することは他の言語の習得スピードを大幅に上がることでしょう。
C言語も似たような部分が多いですが、私が学習した感想ですと、難易度がより高く感じました。
また機械的な印象があり、最初に学習する言語としては挫折しやすく不向きだと個人的には思います。
私の場合は最初にHTMLとCSSから学習を始めました。
それらはプログラミング言語ではないという意見もありますが、その議論にあまり関わらなくてもいいです。
ここでは、プログラミング言語として扱います。
どちらにしてもHTMLとCSSは、他の言語のコードの中にも組み入れたりしますから学ばなければいけないです。
なぜ、私がHTMLとCSSから学習を始めたのかというと、最初に利用した学習サイトの初めてのステップがHTMLとCSSだったからです(笑)
結果的にこれらの言語から学習スタートしたのは正解だったと思います。
まず、第一に学習ハードルが低いです。
簡単に書いたものを出力することができます。
定番の『HELLO WORLD』を出力することから始めましたが、非常に簡単でしっかり動作したことに感動しましたね。
簡単にHTMLとCSSをご紹介しますと、HTMLは文字を出力するのはもちろん、画像やリンクを貼ったりすることができます。
しかし、それだけですと殺風景ですよね?
そこでCSSです。文字やバックグラウンドの色、サイズ、レイアウトを変えることができます。
それらを使用することで、私達が普段見ているWEBサイトの見た目が作りあげられるのです。
つまり、HTMLとCSSだけでWEBサイトが作れるのです。
動きは乏しいのですが...。
そこで、プログラミング言語だと胸を張って紹介できるJavaScriptがあります。
先に紹介したJavaとは名前は似ていますが、全く別の言語ですからね。
私はこの言語はぜひ学習してほしいと思います。
JavaScriptは先ほどのHTMLとCSSで構成したものに、動的な変化をもたらすことができます。
ポップアップウィンドウやメニューの表示、フォームの内容確認などユーザーの操作に応じた反応をコンピュータにしてもらうように設定することが可能です。
WEBアプリ、スマホアプリ、ゲームなども開発することもできます。
プログラマーっぽくなってきましたね。
学習難易度も低めですので、初心者にもおすすめですね。
世界での需要も高いです。
HTML、CSS、JavaScriptはフロントエンドと言われています。名前の通り、見た目の部分を担当しているということですね。
フロントエンドエンジニアとして経験を積むと、フリーランスになってWEBサイト制作の仕事も在宅で受注しやすいです。
Wi-Fiさえあれば、世界中どこでも仕事できるので、自由が欲しいと思っている方にもおすすめできますね。
私が最も好きな言語であり、書いたことのある言語でもあります。
オブジェクト指向の言語ですので、習得することで他言語の学習にも入りやすくなります。
その上、HTML、CSS、JavaScriptは環境構築をしなくてもいいです。特別難しいものではありませんが、ここでつまづく人もいるようですので、それはもったいないですからね。
結局、メジャーなものであればどれでもいい、という方もいますが、何をしたいかを基準に最初の言語を選んでみるのがいいです。
今回私がいくつかプログラミング言語を紹介したのですが、それらもぜひ参考にしてみてください。
おすすめのプログラミング学習法
↓