この記事にたどり着いた皆さんは、「コーディングを学習したい!」と思っているでしょう。
この記事では、コーディングとはなにか?からプログラミング言語の選択方法や、おすすめの学習方法などをひとつひとつ丁寧に解説していきます。
コーディングとは
IT用語である「コーディング」とはどのようなことを指すかご存知でしょうか?
同じようなIT用語として「プログラミング」がありますが、どう違うのでしょうか?
ここでいう「コーディング」とは②プログラミング言語で記述 という部分を指します。
プログラミングとは①~⑤のすべての作業を指します。
プログラミング言語の選び方
プログラミング言語がいくつあるかご存知でしょうか?
実は、現存するプログラミング言語は200以上あると言われています。
ここでは、現在多く使用されているプログラミング言語を製作するアプリケーションごとにピックアップしてご紹介します。
コーディングを学習する際にはぜひ「何を作るのか?」を考えてプログラミング言語を選択してください。
ローカルアプリ(スマホアプリ)
まずスマホアプリを製作するときに使用する主なプログラミング言語を紹介します。
現在主流になっているプログラミング言語はこの4つです。
ReactNativeとFlutterはiOSとAndroidアプリのどちらでも動作できるアプリケーションを作ることができる開発用フレームワークです。
どんなアプリケーションを作りたいか。によってプログラミング言語を選択しましょう。
Webアプリ
次にWebアプリ(Webアプリケーション)を製作するときに使用するプログラミング言語を紹介します。
プログラミング言語 | 内容 |
---|---|
Java | 1996年にリリースされたプログラミング言語。 リリースから年数が経っており安定した動作で多くのアプリケーション、企業に取り入れられている。 |
C# | 2001年にリリースされたプログラミング言語。 Javaに似た言語で、歴史も古くこちらも多くのアプリケーション、企業に取り入れられている。現在はUnityなどのゲームエンジンが採用していることでも有名。 |
PHP | 動的サイトを実現するために生まれたプログラミング言語。 他の言語よりも学習コストが低いが大きいアプリケーションには不向き。 |
Ruby | 日本人が作ったプログラミング言語。 Ruby on Railsというフレームワークとセットで使うことが多い。低学習コストでも有名。 |
Python | 機械学習やデータ分析用のライブラリを数多く持つプログラミング言語。 動作が軽いためハードウェア上でも好んで使用されることが多い。 |
現在主流になっているプログラミング言語はこの5つです。
プログラミング言語習得のロードマップ
プログラミング言語をコーディングするには、最適なロードマップが存在します。
もちろんこのロードマップ以外で学習しても習得できるかもしれませんが、これからご紹介するロードマップは学習コストが最も低く無駄なく学習できるおすすめなロードマップとなっています。
ぜひ参考にしてください。
スマホアプリ版
スマホアプリを製作するためのプログラミング言語を習得するロードマップはこちらです。
こちらは最低限の学習内容となっています。
もし学習が完了したら、ぜひWebアプリケーションのロードマップと比較して足りない部分も併せて学習してください。
Webアプリ版
Webアプリを製作するためのプログラミング言語を習得するロードマップはこちらです。
Webアプリケーションは学ぶことが大変多いですが、これらをしっかり学習しておくとキャリア形成にとても役立ちます。
また、学習完了後にスマホアプリのプログラミング言語を学んでみるとまた違った考え方を学ぶことができます。
ぜひチャレンジしてみてください。
おすすめ学習サイト・本
①プログラムの制御と構文を学ぶ(スマホ・Web)
ブロックを使ったブロックプログラミングで学ぶのが一番の近道です。
最初からプログラミング言語で学習してしまうと、慣れない英語や環境構築などで躓くことも少なくありません。
ブロックプログラミングは子どもっぽいと思われるでしょうか?
私たちプログラマーはこの制御をほぼ完ぺきにこなすことができます。この基礎があってこそ、プログラムを組めるようになるのです。
試しに一度学習してみてください。
教材も併せて購入すると良いでしょう。
手前味噌ではありますが、筆者の講座です。こちらでプログラミングの基礎の基礎を学べます。
いくつか練習問題を公開していますので、試しにチャレンジしてみてください。
初心者でも挫折しない、ブロックプログラミングで学ぶプログラミングの仕組み
②言語の基礎を学ぶ(Web、スマホアプリ)
ここでは最初に学んだプログラミングの構文や制御をプログラミング言語に置き換える作業をメインとしています。ですので、最初から大きなアプリケーションに取り掛かるのではなく、小さなアプリケーションを作成できるサンプルが用意されている教材を選びましょう。
Python
こちらは書籍ではなく、Udemyという動画学習サイトの講座になります。ツールもWeb上のGoogleColaboratory を使用するので環境構築で躓くこともありません。
Progateの次に学ぶ!Python演習問題100問パック!〜データ型・制御構文編〜
100問パックですので、まいちにコツコツと学ぶとしっかり基礎構文を学ぶことができますので、おすすめですね。
Java
Javaはこちらの本を購入してみることをおすすめします。
C#
C#は開発環境を整えやすいというところで、おすすめする言語です。こちらはさくっと学べる学習書です。
新・標準プログラマーズライブラリ なるほどなっとく C#入門を購入する
PHP
PHPでおすすめするのはUdemyという動画学習の講座です。
PHPからLaravelまで サーバーサイドをとことんやってみよう【初心者から脱初心者へ】【わかりやすさ最重視】
プログラムの構文や制御についても触れられてはいますが、深くまでは言及していませんので、制御や構文の知識は必要です。
Ruby
Rubyはこちらの本で学習することをおすすめします。
Swift
iOS向けのアプリケーション開発に使用されることが多い言語です。
1冊目はこちらの本です。手順をしっかり解説してくれているので、入門書としてはわかりやすいです。
Kotlin
Android向けアプリケーションに使用されることが多い言語です。
1冊目はまず手を動かしてみる。ということが重要です。まずは動くものを作れるこちらをご紹介します。
Flutter
最近話題のフレームワークです。まだまだ日本では案件が少ないですが、3年後には主流になっていると予想します。今からしっかり学びましょう。
Flutterの本やUdemyの講座はまだ少ないです。
私がおすすめするのはこの動画の講座一択です。
③HTML/CSSを学ぶ(Web)
こちらの本は基礎やWebの基本なども書いてあり、一番最初に学ぶにはとても良い本です。
④Webの仕組みを学ぶ(スマホ・Web)
まずは、こちらの入門書で基礎を学びましょう。
少し退屈してしまうかもしれませんが、HTTPやWebの仕組みの基礎が学習できます。毎日少しずつ読み進めていきましょう。
⑤データーベースの基礎を学ぶ(スマホ・Web)
最近のデータベースの主流はRDB(リレーショナルデータベース)、KVS(キーバリューストア)とありますが、最初はRDBを学んでいきましょう。
RDBも古い技術ですので、書籍を使って学習できます。
良い書籍もたくさんあるのですが、体系的に学ぶというところに主点を置くと、OracleMasterの教書が一番のおススメです。
Oracleは有料アプリですが、試験学習に使用するデータベースは無償で提供されます。
DBAと合わせて資格を取ってしまうのもアリです。
オラクルマスター教科書 Bronze Oracle Database 12c SQL基礎
⑥Webアプリケーションを作る(Web)
ここでは、今まで学習した集大成を最大限に発揮してWebアプリケーションを作成します。
できればローカル・コンソールアプリの作成で使用した言語を採用することをおすすめします。
何と言っても慣れていますからね。
プログラミング言語はなんでもほぼ同じとは言いましたが、各言語によって書き方のお作法が少しずつ違います。最初のうちはアレもコレもと手を出さずにひとつの言語をしっかり深堀してください。
そうすることで必要な基礎の力が身につき、他の言語に転向した時も、自分の中にある知識と結びつけながら学習を進めることができます。
「ひとつの軸を作る。」という意味ではひとつの言語を深堀することは大変有効なことです。
あちこち色々な言語を薄い知識で学習するよりも、1つの言語をしっかりと深掘ることが、Webアプリケーションエンジニアへの近道です。
まとめ
この記事では、コーディングの学び方やおすすめの本・サイトをご紹介してきました。
自分が「何を作りたいのか?」「どんなソフトウエアエンジニアになりたいのか?」をしっかり確認して、好みのプログラミング言語を学んでいきましょう。
プログラマーやシステムエンジニアの仕事内容についてはこちらの記事も参考にしてください。