記事の内容
プログラミングを始めたいけど、どの言語から始めたらいいんだろう?
PHP、Ruby、Python、Java、JavaScript、HTML、CSS、SQLとか色々な単語を耳にします。
全て勉強できたらいいけど、なかなかそこまでの時間はとれないし。
この記事では、そういった疑問にお答えします。
初心者が選ぶべき言語は何を基準にして考えるべきか?
初心者が選ぶべき言語は、何を基準にするべきでしょうか?
簡単な言語、将来性のある言語、年収の高い言語などなど、いくつかの選択肢があるとは思います。
私が思う「初心者が選ぶべき言語」は、「習得が簡単で、さらに就職がしやすい言語」です。
なぜならば、習得が難しければ当然のことながら、つまづくポイントが多くなります。
それよりは、簡単な言語を選んで、まずは達成感を感じて欲しいと思います。
また、いつまでも独学では、なかなか自信が着きません。
独学から抜け出すためには、就職が必須なので、求人数が多い言語がいいと思います。
各言語の特徴とオススメ度
PHPのオススメ度;高
PHPは習得の難易度が低く、更に求人数も多い言語です。
Web系では、最も使われている言語です。
- 習得の難易度は低いので、初心者向けです。
- 求人数が多いので、PHPエンジニアは正社員として会社に採用されやすいです。
その半面で、給料は安い傾向にあります。 - Web系で最も使われている言語で、人気があります。
- エンジニアの数が多い。
これはエンジニアの給料は安い傾向を意味します。
同時に会社側からすると、一定のスキルを持ったエンジニアを集めやすいので、会社で採用されやすい言語ともいえます。
メルカリは、そういった理由でPHPを選びました。 - メルカリ、グリー、Facebookなど大手企業も使っているので実績があります。
ただし、Facebookは自社で改良したPHPを使っています。 - WordPressなどWebサイトを構築するためのパッケージが整っている。
Ruby(Ruby on Rails)のオススメ度;高
RubyとRuby on Railsの習得の難易度は低くはないのですが、これを学べばWebの基礎を一通り、網羅できます。
独学では難しいかもしれませんが、よいメンターが入れば、Web開発を学ぶのに適していると言えます。
- 習得の難易度は中です。
- Ruby on Railsを学べば、Webで使われている技術を一通り、網羅することができます。
- 求人数は中ぐらいなので、正社員になる時は苦労するかもしれません。
- 素早くWebサイトを構築できるので、スタートアップ界隈で人気があります。
- Twitterが昔、使っていて、クックパッドは今でも使っています。
Twitterが使わなくなった理由は、サイトの負荷に耐えられなくなったためです。
ただし、普通のサイトはwitterほどのトラフィックにはなかなか達しないので、通常は気にする必要はありません。 - エンジニアの数が少ないので、給料が高い傾向にあります。
採用数も少ない側面もあります。 - 自由と楽しさをモットーとした言語なので、プログラムの書き方のバリエーションが多いです。
個人個人の癖が出るので、ソースコードは読みづらいともいえます。pythonとは逆の思想になっています。
Pythonのオススメ度;中
Pythonは、習得の難易度は中で、幅広い分野で使われている言語です。
最近は主に、機械学習で注目を浴びています。
ただし、機械学習ということで、多くの案件は経験者に向けたものになっています。
そのため、初心者が勉強しても、就職は難しいかもしれません。
- 習得の難易度は中です。
- Web系の求人数は少ないのですが、機械学習系と合わせると、それなりの数になります。
ただし、それでもPythonで求められる技術レベルは高い求人が多いです。
つまり、就職したい初心者には向いていない気がします。 - Web系では人気が低いです。
- 機械学習でよく使われています。
- コードを書くときのルールがはっきりとしているので、コードが読みやすいです。
- python2系とpython3系に分かれていて、文法が違うのが面倒です。
ただ、これからはpython3系だけ勉強すれば良いのかもしれません。
Javaのオススメ度;中
Javaの習得の難易度は高いので、初心者にはオススメしていません。
ただし、言語自体は素晴らしいものです。
Sierで使われていることが多いです。
- 習得の難易度は高いです。
- 求人数は中ぐらいです。関西の方だとJavaの案件は多いかもしれません。
- Web系でも使われていますが、Sierでも使われており、幅広い分野をカバーしている言語です。
Androidアプリ開発でもjavaが使われています。 - シッカリとした言語なので、Javaをきちんとと理解すれば一生ものだとは言われていました。
でも、JavaがOracleに買収されてからは、少々、危ういかもしれません。
JavaScriptのオススメ度;低
javaScriptは、その歴史的背景もあり、初心者にはもっとも就職が難しい言語だと思います。
また、javaScriptを習得したとしても、それだけでは、なかなか就職できません。
詳細は、こちらの記事に書きました。
- 習得の難易度は中です。
- この言語だけでは求人が少ないです。
- Web系で、フロント(デザイン、UI/UX)部分には必ず使われる。
- 他の言語と合わせて使う、第二言語的な扱い。
ただ、徐々に人気は高まりつつあります。
HTMLのオススメ度;高
PHPやRubyなどとセットで覚えましょう。
- Web系のエンジニアならば、必ず理解している必要があり、デザインに使うためのマークアップ言語です。
- 習得は簡単です。
CSSのオススメ度;中
デザインに興味がある人には、必須の言語です。
- HTMlを綺麗に整えるために、デザインで仕様する言語です。
- 習得の難易度は中です。
- フロントエンドをやりたい人には、必須の言語と言えます。
SQLのオススメ度;中
Web開発では、必ずに必要になってきます。
RubyやPHPを学んだ後で、SQLも学ぶようにしましょう。
- データベースに、データを入れたり取り出したりするための言語です。
Excelを複雑にしたようなものです。 - バックエンドをやる人は、必ず習得する必要があります。
下記の本が、さわりとしてはいいと思います。
Gitのオススメ度;中
集団で開発する時は、必ず必要になってくるツールです。
- バージョン管理ソフトと呼ばれるもので、みんなで開発する時は必ず使われるものです。
そこまで難しいものではないので、この本でさわりを勉強するといいと思います。
会社に採用されるためには、何を勉強したらいいのでしょうか?
それで実際に会社に採用されるためには、何を勉強したらいいんだろう?というのがよくある疑問だと思います。
人によって目標が違うので、ザックリと目標別にわけて説明していきます。
デザイナーになりたい人
ここでいうデザイナーは、与えられた画像を元にして、デザインを構築していく人です。
まずはHTML、CSSを学びましょう。
その後に余裕があれば、JavaScriptを学ぶといいです。
以下の内容は、別ページに書いた学習サイトで学び始めるのがいいと思います。
- HTML
- CSS
- JavaScript
- Git
フロントエンジニアになりたい人
ここでいうフロントエンジニアは、与えられた画像を元にして、デザインを構築していく人です。
さらに動的な動きも作成します。
まずはHTML、CSSを学びましょう。
フロントエンジニアの場合は、JavaScriptは必須です。
JQuery、Vue、ReactなどのJavaScriptのフレームワークを学ぶ必要もあります。
- HTML
- CSS
- JavaScript
- Git
バックエンドエンジニアになって、早く仕事をみつけたい人
ここでいうバックエンドエンジニアは、webサイトを構築するために、プログラミング言語やデータベースを使ってプログラムを作成する人です。
Web制作と呼ばれる人達です。
まずはHTMLを学び、次にPHPを学びましょう。
求人数が多いので、採用へは一番近いと思います。
ステップアップを目指したいならば、次にRubyやJavaを学ぶといいと思います。
バックエンドでは、SQLを知ることは必須になります。
CSSは知らなくても大丈夫です。
- HTML
- PHP
- SQL
- Git
稼げるバックエンドエンジニアになりたい人
Ruby on Railsの案件は高給が多いので、稼ぎたい人にはお勧めします。
HTML、SQLを学んだ後で、Ruby on Railsを学ぶといいです。
Ruby on Rails チュートリアルを学んだ上で実際に自分の作品を作ってから求職すれば、採用される可能性は十分にあります。
PHPに比べると学習時間は多めになると思います。
- HTML
- SQL
- Ruby on Rails
- Git
機械学習のエンジニアになりたい人
機械学習や統計をやりたい人はPythonを勉強しましょう。
ただ、pythonを勉強しろと言われても何がなんだかわからないと思うので、Udemy
の講座などを受講するといいと思います。
機械学習エンジニアになるのは、少しハードルが高めです。
まとめ
まずは自分の目標を決めた上で、学習に取り掛かりましょう。
少し目標と外れたことを勉強していたとしても、後で振り返ってみると、どの知識も決して無駄にはなりません。
一つ一つを丁寧にこなしていきましょう。
Good luck for your engineer life!
この記事が面白かった人は、こちらの記事も読んでみて下さい。