ふうたです!
前回は「プログラミングを学ぶ前」の準備について解説していきました!
ここからはいよいよ、どのプログラミング言語を学んでいくべきかを解説していきます!
このマガジンを読み始めた方は、きっと、プログラミングやエンジニアの将来性に共感したわけですから
「将来性があるプログラミング言語を学びたい!」
と思って、読み始めてる人も多いはず。
でも実は、エンジニアになって仕事を得るためには、ほかにも注目すべきポイントがあるんです…!
ということで、第2章ではまず
「どういう言語を選ぶべきか」を解説したうえで、
おすすめの言語について、解説していこうと思います!!
どんな言語を選べば良いのか?
初心者がプログラミングを勉強する際には
- 難易度が低く
- 仕事がすぐに見つかって
- 将来性もある
この3つをすべて満たしている言語を選ぶのがおすすめです!!
プログラミング言語は数多くありますが、どの言語を選ぶかによって学習の難易度や将来のキャリアに大きな影響が出てきます。
中でもおすすめなのが、Web制作に関するもの。
Web制作に関する言語である
- HTML
- CSS
- JavaScript
は、初心者でも学習しやすく、Web制作において必要不可欠なスキルであるため、比較的多くの仕事があります。
また、これらの言語は、フロントエンドとバックエンドの両方に使用されているため、Web開発の幅を広げることができます。
逆に言うと、Web制作ではあまり用いられない言語は「未経験者からすぐチャレンジすべき言語」とまでは言えないかなと思ってます!
たとえば、Pythonはシンプルで読みやすく、理解しやすいと言われていますよね。
実際に、Pythonはデータサイエンスや人工知能の(AI)分野で広く使用されており、将来的にキャリアアップを目指す人にも適しています。これは間違いないです。
しかし、Pythonは学習しやすいメリットがある一方で、すぐにAIなどを扱う機械学習エンジニアやデータサイエンティストになるわけではありません。
これらの分野に進むためには、数学や統計学などの専門的な知識が必要であるため、時間がかかる場合があります。
このような点から、PythonはWeb制作系の言語と比べると、初心者が求める条件には合致していないかも…?と僕的には思っています!!
もちろん、良い言語であることは間違いないんですが「今から最優先で学ぶべきか?」と考えると、う〜〜〜ん、って感じですね…!
完全未経験者が今すぐやるべきおすすめの言語
ここからお伝えする2つの言語は「今すぐやるべき言語」として挙げています!
これから学習していく上で、この2つは絶対に取り入れたほうが良いです!
Web制作をするうえで、極めて重要になってくる言語なので、まずはここからお伝えする
- HTML
- CSS
この2つを知っておきましょう!
HTML
プログラミング未経験者が、まず最初にやるべき言語は「HTML」です!
HTMLとは「HyperText Markup Language」の略称で、Webページを作成するための「マークアップ言語」と言われています。
Webページの構造や内容を記述することができ、Web開発の基礎となる言語ですね。
なぜ初心者にとってHTMLが適しているのかというと、まず、HTMLは学習が比較的容易であることが最大のポイント。
Webページを作成する上で欠かせない言語であり、他のプログラミング言語を学ぶ前に、まずはWebページの基礎的な構造やコードを書くことに慣れることが重要だからです。
たとえば、あなたは今この記事を読んでいると思いますが、ここで見ている「文字」は、HTMLで記述されています。
ホームページを作って、文字を書くためには、HTMLのスキルが必要ということですね。
だから、今後Web制作をするうえで、Webページを作成していく以上、HTMLを理解していることは必須ということです!
ちなみに…
HTMLは、これから伝える「CSS」や「JavaScript」と組み合わせていけば、自分だけのWebページを作成することができます。
極論この3つの言語を覚えておけば、仕事が出来るという理由がまさにここにあります!
その中でもHTMLは、基礎の基礎にあたる言語となるため、最優先で学習していきましょう!!
CSS
プログラミング未経験者がまず最初にやるべき言語は、HTMLに続いて「CSS」だと言われています!
CSSとは「Cascading Style Sheets」の略称。
Webページのデザインを記述するためのスタイルシート言語です。
HTMLで定義したWebページの構造に、CSSを組み合わせることで、見た目のデザインを簡単・柔軟に変更することができます。
こんな感じで!!!
↑みたいに、色を着けるなどの、レイアウト面を司っているのが、CSSです。
なぜ初心者にとってCSSが適しているのかというと、まず、CSSはHTMLと同じく学習が比較的容易であることが挙げられます。
できるだけ噛み砕いて説明すると…
CSSは、HTMLで作ったものを調整するために、プロパティと値というものを使用します。
これらのほとんどがシンプルな構造になってるので、初心者でも理解しやすいんですね。
また、CSSは簡単なだけでなく、Webページのデザインを変更するための重要な要素なので、HTMLと同じくWeb開発に欠かせない言語なんです。
Webページの見た目って、読み手にとって超大事ですよね。
こんなにテカテカした色の文章が続いたらダラダラと続いてしまったら読みにくいと思いますが、
(「こんなにテカテカした色の文章が続いたらダラダラと続いてしまったら読みにくいと思いますが、」と書いてます笑)
読者の目にスッと入ってくる色合いであれば、同じ文章でもスルスルと頭の中に入ってくるはずです。
デザインが悪いWebページはユーザーに不快な印象を与えることがあります。
そのため、Webページのデザインを美しく整えることは、Web開発者にとって重要なスキルと言えますね!
こんな感じでCSSはHTMLと同じく、Webページを作成するための基礎となる言語であるため、CSSを学ぶことで、Web開発の基礎を固めることができます。
CSSは学習が比較的容易であり、Webページの見た目を整えるための重要な要素であるため、プログラミングに興味を持った初心者の、次のステップとして最適な言語と言えます。
完全未経験者でも覚えておいたほうが良い言語
次にお伝えする言語は、HTML・CSSの次に覚えておくべき言語です!
一応現段階では「どんなことをやってるか」ってのだけ覚えておけば十分。
HTMLとCSSが触れるようになったら、その次の言語として考えておくのが良いかと思います!
- JavaScript
- Ruby
↑の2つであれば、個人的にはJavaScriptを優先して学習したほうが良いかと思います!
ただ、いずれも覚えて損はない言語だと思うので、HTMLとCSSが落ち着いたら視野に入れてみましょう!
JavaScript
Web制作をやっていくうえで、次に覚えるべき言語としては「JavaScript」です!
JavaScriptは、Webページに動きを出せる言語であり、Web開発において欠かせない言語の一つです。
※↑のボタンは例に出しただけなので、クリックしても何も変わりません!笑
例えば、こういうボタンとか見たことありませんか?
こういうボタンをクリックすると表示内容が変更されたり、フォームに入力した内容を即座に反映させたりできるのが、JavaScriptの役割です。
ほかにも、Webページ上で天気情報や、ニュース記事などの外部データを取得することもできるので…
Webサイトのクオリティをググッと上げられるプログラミング言語と言えますね!
そしてJavaScriptは「プログラミング言語として学ぶ価値が非常に高い言語」の1つとも考えられています。
「オブジェクト指向プログラミング」の概念を取り入れた言語として考えられており、この概念を学習することで、他のプログラミング言語の理解を早める役割も持ちます。
たとえば、これからお伝えするRubyとかがそうですね!
なので、JavaScriptを覚えると、芋づる式に他の言語の理解も早められるメリットがあるわけです!
しかも、このJavaScript、HTMLやCSSよりは難しいとはいえ、他のプログラミング言語と比べると、割と学習が簡単な部類に入ります。
Web制作の仕事をする際は、ひとまずHTML・CSSと、このJavaScriptがあれば大丈夫なので、HTMLやCSSを掴んだあとは、JavaScriptの学習を視野に入れておきましょう!
Ruby
そして次点に来るのがRubyです。
まず、Rubyは他のプログラミング言語よりも文法がシンプルで読みやすく、学習しやすいという特徴があります。
プログラムの記述量も少なくて済み、短いコードで多くのことが実現できる点もポイント。
初心者にとって理解しやすく、簡潔なコードを書けるので、エラーが少ない点も初心者向けといえます。
それにRubyは利用者も多いため、解決すべき問題や疑問点がある場合は、ネットで検索すると、問題をすぐに解決できる点もポイントですね!
あとは、これはまだナンノコッチャ?って話かもしれませんが、Rubyには「Ruby on Rails」という、いわゆる「Rubyを操作する骨組み(フレームワーク)」があることで有名でして…。
これが、Webアプリの開発に凄く適してるんですね。
なので「将来アプリ作れるようになりたい!」と思ってる人は、Rubyの学習を視野にいれるのはアリだと思います。
JavaScriptの所で少し話しましたが、Rubyもオブジェクト指向型言語なので、
JavaScriptが出来るようになったら、こちらの習得も早くなるかと思います!
完全未経験者にとって、あまりおすすめしない言語
そして次が、僕が考える「完全未経験の人にはあまりおすすめしない言語」を紹介します!
おすすめしない理由としては、記事前半でお伝えした
- 難易度が低く
- 仕事がすぐに見つかって
- 将来性もある
これらのいずれかが欠けているため「おすすめなように見えて、結構キツイんじゃないか…」っていうものをまとめています!
なので、なかにはネット上で「おすすめ」「将来性がある」とされてるのもあるかも…。
これからお伝えする言語は「ある程度プログラミングを理解している人には総じておすすめ」なのですが
「完全未経験からエンジニアに転職出来るレベルまで」
を考えるのであれば、少し難しいかな…って所を紹介していきます!
Python
Pythonは初学者にとって比較的優しい言語であると同時に、実務で広く使われているため、初学者が学ぶのに適した言語とされています。一般的には。
しかし、以下のような理由から、Pythonを学ぶことが適切でない場合も。。
まず1つに、他の言語の基礎を理解していない場合、Pythonの学習が難しい可能性がある。ということが挙げられます。
Pythonは比較的優しい言語ではありますが、プログラミング初心者にとってPythonの学習自体が難しい場合があります。
またPython学習者は、その言語の特徴からコンピューターサイエンスの基礎的な理解、そして他のプログラミング言語の基礎を求められることもあります。
つまり、、「Python単体だと理解が難しい可能性がある」ということですね。
そしてもう1つ。
そもそもなのですが「Pythonの学習」について、色々誤解や誤った先入観を受けていることもよくあります。
確かにPythonはシンプルで読みやすい構文を持っていることが特徴の1つですが、このことからPythonは「易しい言語」と誤解されることがあります。
ネットでも「初心者におすすめはPython!!」とたくさん出てきますよね。
おすすめはPython!
おすすめはPython!
おすすめはPython!
…こういう内容を聞くと、情報の受け手としては
「おっ!じゃあ未経験からでも簡単なんだ!」と感じかねません。
また、Pythonは数値計算、データ解析、機械学習などに利用されているため
「Pythonを学べば、すぐにデータサイエンティストや機械学習エンジニアになれる!」という誤解を受けている方も。。
こんな感じでPythonが「簡単なプログラミング言語である」という印象が広く認知されていることから、
未経験者がPythonを学ぶ際に難しさを過小評価し、
実際にエンジニアになるためには深い知識と経験が必要であることに気づけていない可能性があるんです。
なので、せっかく何時間かけて勉強しても
「全然わからない・・・・」
「いきなりデータサイエンティストって、無理じゃん…」
となって、自己肯定感が下がるだけになるかもなので、
「最初の言語」として選ぶのは、控えておいたほうが無難です!!
Java
次にお伝えする言語は「Java」です!
最初に伝えておくと「Java」と「JavaScript」は全くの別物です!
JavaScriptと同様、Javaも広く利用されている言語の1つです。
Javaの主な用途は、Webアプリケーション、Androidアプリケーション、ビジネスアプリケーション、ビッグデータ処理などに使われているのですが…
この言語は純粋に「未経験者には難しい」んですよね。。
コードを書く際に、構文が複雑で、厳密な文法ルールがあるため、初心者にとっては学びにくいという特徴があるんです。
それに、Javaの開発には「Eclipse(イクリプス/エクリプス)」などのソフトウェアが必要で、初心者にとっては環境構築が難しいという面もあります。
めちゃくちゃ噛み砕いて言うと「そもそも勉強できる状況に持ってくのが大変」ってことですね。。
他にもJavaには、多くの概念や機能があって、それらを理解するためには相当な学習時間が必要になります。
エンジニアになるために最短最速でスキルをつけていきたいなら、他の言語やったほうが早いよね、っていう話ですね。。
こんな感じで、未経験者がJavaを学ぶことは、時間的にも労力的にも大きな負担になります。
Javaはプログラミングの基礎概念やロジックを理解した上で学んだほうが、学習時間もショートカットできますし、よりスムーズに学習出来ると思います!
Go
Goは、Googleによって開発された言語で、2009年にリリースされた、比較的新しめのプログラミング言語です!
「あのGoogleが作った言語!なんかすごそう…!」
と、憧れる気持ちも分かります笑
GoはC言語に似た文法を持ってまして
「C言語って聞いたことある」っていう人も多いかも知れません。
実際にC言語は利用者多いですし、参考書も色々出てますね。
ただ、そもそもC言語って、完全未経験者が習得するのはちょっと難しいんです。。
あとはこれは仕方ないんですが、2009年に生まれた、比較的新しい言語にはなるので、ネット上で無料で取れる情報も、決して多くはありません。
こういった理由から考えると「完全未経験からいきなりGo言語は、ちょっと現実的じゃないなぁ」というのが、僕の所感となります!
Swift
「Swift」とは、Apple社が開発したプログラミング言語で、iOS、macOS、watchOS、tvOSなどのアプリケーション開発に利用されています。
Objective-Cと言われる、Appleの推奨するアプリ開発言語として注目されています。
これもGoと同じで
「あのAppleが作ったプログラミング言語!なんかすご(以下略)」
と思う人も多いはず。笑
まぁたしかに、GAFAの一角が作ったものと考えると、将来性高そうですし、やってみたいと思う人もいるでしょう。
ただSwiftは、C言語やObjective-Cのような、プログラミングの基本概念やアルゴリズムを理解している前提知識が必要となります。
また、SwiftはiOS、macOSなどのApple製品向けのアプリケーション開発に特化しているため、その用途に限定された知識を必要とします。
つまり、意外と求人数も他と比べるとまだ多くない。ということですね。
こうやって考えると「完全未経験からいきなり…」は難しいと思います!
おすすめの言語は分かったけど
どれもピンとこないときは…?
と、ここまでで
- 未経験者が今すぐやるべき言語
- 未経験者が知っておくべき言語
- 未経験者にはあまりおすすめしない言語
の3つを解説してきましたが、人によっては
「どれもあんまりイメージが湧いてこないナァ」
「自分が出来る気が1ミリもしない…」
と思ってしまうかもです…!
この気持ち…正直めちゃめちゃ分かります!
実際僕も、今でこそITエンジニアとして働けてますが、
最初はプログラミング言語見ても
「えっ…なにかの呪文…??」
「英語すら分からないのに…何語ですか…??」
ぐらいの感覚でした!!笑
なので、最初はそういう気持ちになっても仕方ないかと!
で、ここからなんですが、僕は「あること」を始めたことで、
ググ〜〜ッと、プログラミングのイメージが湧いてきたんです!
その詳細は、次の質問で回答しますね!