【本サイトではGoogleアドセンス、または、アフィリエイト広告を利用しています。】
プログラミングを学習する時に何から始めればいいのか?
今から学習を始めようと思った時に、まず何をすれば良いでしょう?
まったく未知の世界ですし、手探り状態でかなり迷うと思います。
- 参考書を探す。
- プログラミング教室を探す。
- Webで学習サイトを探す。
- YouTubeで動画を探す。
とりあえずすぐに思い浮かぶのはこんなところでしょうか。
また、独学でまず始める人、誰かに教わりたい人でそれぞれ変わってくると思います。
ですが、まず、その前に!
決めておきたいこと、知っておいて欲しいことがあります。
- プログラミング言語の種類と役割を理解する。
- プログラミング言語を学習する目的を決める。
- 学習するプログラミング言語を決める。
これらは、あなたのモチベーションに直接関わることであって、
上達のスピードにも影響しますので必ず押さえておきましょう!
プログラミング言語にはどんな種類があるか?
あなたがプログラミングを覚えようと思って、
いきなり図書館や本屋さんに行っても手が止まると思います。
それは、なぜでしょうか?
会話で使っている言葉にも、日本語だけでなく、英語、フランス語、イタリア語、
ほんとにいくつも種類があります。
それと同じで、プログラミング言語にも多くの種類があるからです。
まずは、どんな種類があるのかを見ていきましょう。
ここには載っていないものもありますが、すべて覚える必要はありません。
代表的なものをここで紹介しますので、今はそれだけ知っていれば十分です。
Webシステム開発向けの言語
Webシステムとは、操作は主にパソコンのブラウザ上から行い、
ネットワークを介して、データをデータベースに登録するシステムです。
例えば、どこかのお店のサイトでネットショッピングをしたり、
ブラウザで操作して何かを注文、登録するようなサイトは、
Webシステムと呼ぶことができます。
Webシステムの処理は、フロントエンド、バックエンド、データベースという
3つのカテゴリに分けることができ、それぞれで使う言語が違います。
ユーザーが操作する画面側の処理です。
画面のデザイン作成もこちらです。
Webシステムのフロントエンド開発に使う主な言語は、HTML、CSS、JavaScriptなどです。
ネットワークを介してサーバーからデータベースへ登録など行う裏方の処理です。
ユーザーが意識しない部分のことを指します。
定期的に実行されるバッチ処理と言われるものもこちらです。
Webシステムのバックエンド開発に使う主な言語は、Java、PHP、Ruby、Pythonなどです。
Webサイトで会員登録した時の個人情報や、お買い物をした時の購買情報など、
様々なデータの集まりをデータベースと呼びますが、Webシステムでは、
データベースから情報を取得したり登録したりする処理を行います。
開発に使う主な言語は、SQLと呼ばれる
データベース処理専用の共通言語ですが、データベースの種類によって
使える関数や文法が少しずつ違います。
主なデータベースは、Oracle、PostgreSQL、MySQL、SQLServerなどです。
このように、Webシステムは、いろんな言語の処理を、
フロントエンド⇔バックエンド⇔データベースの間で組合せることでできています。
また、データベース処理は、バックエンド処理の中の1つとして説明される場合もあります。
業務システム開発向けの言語
業務システムとは、本来は、仕事に使うシステムという説明になりますが、
多くは、パソコンにインストールしたアプリケーションを通して、
データをデータベースに登録するシステムです。
ネットワークを介して、Webシステムと同じように構成されるものもあり、
業務システムの構成は様々ですが、
基本的には、アプリケーション全体を1つの言語で開発することが多く、
開発には、Visual Basic、C#がよく使われます。
データベースで使うSQLは、Webシステムと同様です。
また、Webと同じ構成になる場合は、Webシステムと同様の言語が使われます。
組み込み開発向けの言語
組み込み系の開発とは、カーナビやテレビ、電子レンジといった、
家電製品やロボットなどの機械を動かす為のソフトウェアを開発することです。
組み込み開発でよく使われる言語は、C、C++、アセンブリ、Javaなどです。
何を目的としてプログラミングを学ぶのか?
ここまでプログラミング言語の種類を見てきましたが、
見ていくうちに、どの言語を学べばいいのか?
という疑問が出てくると思います。
この疑問を解決する為に、まずは、
あなたがプログラムを習得して何をしたいのか?
なぜプログラミングを習得する必要があるのか?
を考えてみましょう。
IT系の企業に努めたいから、ゲームの開発がしたいから、
ブログを書きたいから、など人によっていろいろあると思います。
その目的が決まれば、自然と学ぶべき言語も決まってきます。
おすすめのプログラミング言語は?
あなたの目的は整理できたでしょうか?
特に目的がない場合や、迷っている場合は、
最もスタンダードでよく使われている言語をおすすめします。
言語では、Java、C#です。
目的がある程度定まっている場合は、ここにいくつか代表例を書きますので、
近いものを参考にしてください。
Java、HTML、CSS、JavaScript、SQLを学習しましょう。
もちろん一気に覚える必要はありません。
まずは言語の基本を覚える為に、Javaから始めましょう!
C#、Visual Basic、SQLを学習しましょう。
Visual Basicは少し古い言語で、未完成であいまいな部分が多いので、
入り口としてはおすすめしません。
ということで、Visual Basic→C#よりも、
C#→Visual Basicの順に学習する方が理解しやすいので、
まずは言語の基本を覚える為に、C#から始めましょう!
Webシステムにも興味がある人は、Javaから始めましょう!
HTML、CSS、JavaScriptを学習しましょう。
まずは画面のレイアウトを作成する為に、HTMLから始めましょう!
HTMLが理解できてくれば、デザイン調整をする為にCSSを学びましょう!
次に、画面の動きを自在に操る為に、JavaScriptを学びましょう!
バックエンドの動きも自分で作ってみたいという人は、
そこからさらに、PHPやSQLを学びましょう!
C#を学習しましょう。
ゲーム開発にはUnityと呼ばれる開発環境を使うのが主流になっています。
Unityで利用できる言語を考えた場合、まずC#から学習することが、
プログラミング言語の基本をしっかり学べるのでおすすめです。
余裕が出てきたら、JavaScriptや、C++にも挑戦しましょう!
Java、もしくは、C#を学習しましょう。
iOSとAndroidで使われる言語が変わってきますが、
このどちらか、もしくは両方を押さえておけば、
Objective-Cやswiftといったスマホアプリ開発に特化して使われる言語は、
JavaやCの派生から誕生した言語なので、応用するだけで習得できます。
資格は取った方がいいのか?
プログラミングに関する資格はいくつかありますが、
そのプログラミングをマスターしたいという純粋な気持ちであれば
勉強をして資格を取っても良いと思います。
しかし、資格を持っていることで
就職に有利だから、周囲の人と差をつけることができるから、
という目的であればおすすめしません。
なぜなら、システム開発の仕事で
その知識を使う場面はほとんどないからです。
システムが作れるかどうかは、資格を持っているかどうかではなく、
どれだけ多くのシステムを作ってきたか、によって判断されます。
知識よりも経験が重視されるのです。
なので、未経験でIT企業に就職したい場合を除いて、
言語ができるという証明に使おうと考えているのであれば、
それは特に意味をなさないことが多いです。
また、プログラミングの資格を取るにはかなり体力と時間を使います。
受験料も高額です。受かった時のメリットが見合っていません。
むしろ、資格を持つことで、周囲の期待値が増してハードルが上がったり、
余計なテクニックを覚えて、他の開発者がメンテナンスしにくい
プログラムを書いてしまうクセがついたりするので、
基本が身についていないタイミングでの資格取得は控えた方が良いです。
最初に学ぶべきプログラミング言語は? まとめ
今回紹介した以外にも、プログラミング言語はいくつも存在します。
学習する目的も人それぞれだと思います。
まずは、高級言語と呼ばれるJavaやC#のいずれかをマスターすれば、
他の言語は応用ですぐに習得できるので、
特に目的がない人、迷っている人は
上記のどちらかから学習を始めましょう!
また、言語にも流行りがあり、一時的に人気が上がるものがあります。
流行りの言語を使いたい、かっこいいというイメージは理解できます。
しかし、流行りものは、ブームが過ぎれば使われなくなり消えていきます。
そして、新しく登場した言語は、文法や応用の方法など、
情報量が圧倒的に少ないので学習には向きません。
もし基本を飛ばして主流の言語を最初に習得しようと考えている人は、
あなたの就職先や今後のキャリアにも影響してくることをよく考えて、
流行りに惑わされて言語を選ばないように気をつけてください!