プログラミングを学びたい!何を学んだらいいの?とよく聞かれます。
プログラミングと言っても実は200以上の言語が存在しています。現在主流になっている言語だけでもたくさんあるんです。
学びたい言語を選ぶには、何をしたいのか?を考えることが大切ですが、「とりあえずやってみたい」という声も良く聞くので、以下の観点から入門書をご紹介しようと思います。
- Webアプリケーションエンジニアを目指す
- スマホアプリエンジニアを目指す
- 組み込み系エンジニアを目指す
- インフラ系エンジニアを目指す
それぞれの職種の違いはこちらで解説していますので、あわせて記事を読んでみてください。
プログラムを扱う職業
前述しましたが、ITエンジニアには大きく分けて4種類あります。
それぞれを簡単に説明していきましょう
Webアプリケーションエンジニア
Webアプリケーションとは、パソコンやスマートフォン、タブレットなどのブラウザから利用できるアプリケーションです。
現在のアプリケーションの主流となっています。
今ではどの端末からも利用が可能となっていて、パソコン用の表示方法、スマートフォン用の表示方法、タブレット用の表示方法など表示の仕方が違ったり、操作性が変わったりするようなアプリケーションもあります。
このようなアプリケーションを総称して「Webアプリケーション」と呼びます。
Webアプリケーションには企業で使用する基幹システムのような大規模なものから、ゲーム、ECサイト、解析ソフトなど様々な種類があります。
用途によってプログラミング言語は違いますが、今回は入門編ということで筆者がおすすめするプログラミング言語の本とサイトをご紹介していきます。
スマホアプリエンジニア
最近では、スマホアプリケーションのみというアプリケーションも増えています。これは、スマホやタブレット端末にインストールして使用するアプリケーションです。
ネイティブアプリなどとも言われます。
ネイティブアプリにはWindows端末のみで動く、MacOS端末のみで動くアプリケーションも含まれますが、最近ではネイティブアプリ≒スマホアプリという印象です。
スマホアプリの作成にも複数の言語がありますが、Webアプリほど多くはありません。
入門として扱いやすい本をご紹介します。
組み込み系エンジニア
ハードウエアとOS(ファームウエア)の開発も一緒に行う職業です。
現代では、IoTで家電もインターネットにつながる時代です。組み込み系エンジニアの需要は常に高く、人材が不足している業界です。
組み込み系は高い技術力が求められる業界ですが、モノづくりが好きな方には向いているでしょう。
今回はモノづくりの入門編という意味合いで本を紹介します。
インフラ系エンジニア
実はインフラ系エンジニアはプログラミングの技術はほぼ必要としません。
アプリケーションの足元を支えるインフラ(サーバーやネットワーク、セキュリティなど)を担うお仕事です。
今回はサーバー、ネットワークについての入門書をご紹介します。
プログラミングの構文と制御
プログラミングはたくさんの言語がありますが、構文と制御は似ています。
ここではプログラミングの基礎の基礎を学ぶためにおすすめする講座を紹介します。
初心者でも挫折しない、ブロックプログラミングで学ぶプログラミングの仕組み
Webアプリケーションエンジニアを目指す方におすすめ
Webアプリケーションで使用する言語はたくさんありますが、今回は以下の3つの入門書とおすすめのサイトをご紹介します。
- Java
- C#
- PHP
Java
Webアプリケーションの王道Javaは学びにくいと言われますが、今回はさくっと学べる入門書をご紹介します。
とりあえずやってみる⇒入門書 という形で進んでいくとより深く学べるでしょう。
1冊目はこちらです。
とりあえず手を動かしてみる1冊です。初めの一歩におすすめします。
次に紹介するのはこちらです。
「スッキリわかるJava入門」が終わったら、こちらでしっかりと基礎固めをすることをおすすめします。
次におすすめするのは、本ではありません。Udemyという動画学習サイトの講座です。
動画で学習できるので学びやすいということで、私はこちらもお勧めしています。
【 5日でできる】はじめての Java プログラミング入門を購入する
C#
C#は開発環境を整えやすいというところで、おすすめする言語です。
こちらも企業の基幹システムで良く用いられています。
1冊目はさくっと学べる学習書です。
新・標準プログラマーズライブラリ なるほどなっとく C#入門を購入する
この本でまず手を動かしてみて、雰囲気を掴みましょう。
次におすすめするのも入門書です。1冊目の次というわけではなく、どちらかを選択してみてください。
次におすすめするのは、本ではありません。Udemyという動画学習サイトの講座です。
動画で学習できるので学びやすいということで、私はこちらもお勧めしています。
【入門者向け】ASP.NET MVCでWebアプリ開発のノウハウを学ぼう!を購入する
PHP
PHPは簡単に習得できるプログラミング言語の1つです。ECサイトで良く用いられています。また、WordPressがPHPを採用している話は有名でしょう。
まずこちらの本をご紹介します。
短い章からなっていて、ページも少ないのでサクッと学習できます。
初心者からちゃんとしたプロになる PHP基礎入門〈PHP8対応〉を購入する
1冊目が終わったら、こちらの本で基礎を固めましょう。
PHP本格入門[上] ~プログラミングとオブジェクト指向の基礎からデータベース連携までを購入する
次におすすめするのは、本ではありません。Udemyという動画学習サイトの講座です。
動画で学習できるので学びやすいということで、私はこちらもお勧めしています。
PHPからLaravelまで サーバーサイドをとことんやってみよう【初心者から脱初心者へ】【わかりやすさ最重視】
スマホアプリエンジニアを目指す方におすすめ
スマホアプリで言語はいくつかありますが、今回は以下の3つの入門書とおすすめのサイトをご紹介します。
- Swift
- Kotlin
- Flutter
Swift
iOS向けのアプリケーション開発に使用されることが多い言語です。
1冊目はこちらの本です。手順をしっかり解説してくれているので、入門書としてはわかりやすいです。
1冊目で雰囲気を掴んだら、しっかりと基礎を固めましょう。少しボリュームのある本ですが、こちらでしっかりとした基礎を固めることができます。
Kotlin
Android向けアプリケーションに使用されることが多い言語です。
1冊目はまず手を動かしてみる。ということが重要です。まずは動くものを作れるこちらをご紹介します。
1冊目でなんとなく雰囲気を掴んだら、こちらの本で開発に必要な知識をしっかりと学びましょう。少しボリュームのある本ですが、基礎が身につきます。
TECHNICAL MASTER はじめてのAndroidアプリ開発 Kotlin編を購入する
Flutter
最近話題のフレームワークです。まだまだ日本では案件が少ないですが、3年後には主流になっていると予想します。今からしっかり学びましょう。
Flutterの本やUdemyの講座はまだ少ないです。
私がおすすめするのはこの動画の講座一択です。
Web・スマホ共通
次にプログラミング言語ではありませんが、開発をするうえで必要な知識である技術の入門書をご紹介します。
- データベース
- Web(HTTP)
これらは必須ではありませんが、アプリケーションエンジニアを目指すのであればいつかは必要になる知識です。
ぜひ入門書を購入して学んでください。
データベース
データベースはアプリケーションのデータを格納している機能です。
私がおすすめするのは「オラクルマスター教科書 Bronze Oracle Database 12c SQL基礎」 です。
オラクルというベンダーの資格試験の本になるのですが、データベースやSQLは主なリレーショナルデータベースの基礎となっています。
体系だって説明されているこちらの本は入門におすすめです。DBAと合わせて資格を取ってしまうのもアリです。
オラクルマスター教科書 Bronze Oracle Database 12c SQL基礎
ある程度SQLを覚えたらこちらの「改訂新版 SQLポケットリファレンス」を持ち歩くとよいでしょう。
Web(HTTP)
次に紹介するのはWebの仕組みやHTTPの基礎についての入門書です。
WebアプリケーションはWeb上にあるアプリケーションとなりますのでWebについての知識は必ず必要です。
またモバイルアプリケーションもモバイル上のみで完結するプログラムであれば問題はありませんが、データを扱う場合はWeb上のサービスにアクセスしていることがほとんどです。Webの知識は必要になります。
まずは、こちらの入門書で基礎を学びましょう。
もう少し深い知識を学びたいときにはこちらの本もおすすめです。
Webを支える技術 -HTTP、URI、HTML、そしてREST
組み込み系エンジニアを目指す方におすすめ
組み込み系エンジニアという職業自体をご存じない方も多いかもしれません。組み込み系はハードウエアに一番近いこともあり、高い技術を求められます。
組み込み系で使用する言語はC言語やC++が有名ですが、最近ではPythonも見かけますのでこれらのおすすめを紹介します。
- C言語
- Python
- Java
C言語
C言語は現在存在するプログラミング言語の源流となっている言語です。習得するためには大変時間を要しますが、ここではまず触れてみる。というところに視点を置いた本をご紹介します。
タイトルは挑戦的ですが、まず触れてみる。という入門書には良い本です。
次に紹介するのは昔からある入門書です。ボリュームはありますが、しっかりと基礎を覚えられる本です。
Python
PythonはWebアプリケーションや機械学習、データ分析でも有名ですが、実はハードウエアとも親和性の高い言語です。ハード系では、その高いパフォーマンス能力を発揮しています。
まずはこちらの入門書でまずはPythonに触れてみましょう。
Pythonの入門書が終わったら、 ハードウエアでPythonを動かすことを掴むためにこちらの本をおすすめします。使用するのはラズベリーパイというマイコンです。
ラズパイ4対応 カラー図解 最新 Raspberry Piで学ぶ電子工作
Java
組み込み系では、Javaが使われることもありますが、あまり機会は多くありません。しかしハード系の雰囲気を掴むためにJavaでラズベリーパイを動かしてみるとおもしろいかもしれません。
インフラエンジニアを目指す方におすすめ
実は、インフラエンジニアはあまりプログラミング言語を使用しません。
ここでは、サーバーやネットワークについての入門書をご紹介しようと思います。
AWS
AWSはアマゾンが提供しているクラウドサーバーサービスです。
AWSでは無料で使える枠が設定されています。こちらの本で学習する際には無料枠内で学習できるようですので、ぜひ活用してみてください。
なんとなくサーバーについて学んだら、こちらのLinuxについて学んでみるのも良いでしょう。現在のサーバーのOSはほとんどがこのLinuxで構築されています。
ネットワーク
ネットワークはアプリケーションやサーバーを支える最も重要なインフラの1つです。
基礎を学ぶときに何が一番おすすめだろうと考えた時、やはり資格試験が体系的に学べる!と思うのです。ということで、ネットワーク入門のおすすめ本はこちらの本です。
基本情報処理技術者試験
これまで、様々な本をご紹介してきましたが、実は1冊でだいたい学べるものがあります。それは、IPA(情報処理推進機構)が実施している「基本情報技術者」を取得するための本です。
基本情報技術者の試験にはITエンジニアとしての基礎の基礎が盛り込まれています。また転職時の資格でこれをチェックされることも少なくありません。この資格を持っていればスタートラインに立つだけの基礎知識はあるんだな。と認定されます。
興味がある方はまずは雰囲気を掴んでみてはいかがでしょうか。
効率的にプログラミング言語を習得する
ここまで様々なプログラミング言語の入門書をご紹介してきましたが、最も効率的な学習方法は「スクールに通う」ことです。
スクールでは、体系だったカリキュラムと並走してくれるメンターや講師がいます。
初学者の90%が挫折すると言われているプログラミング言語ですが、そばで支えてくれる講師陣がいることは本当に支えになります。
すぐにプログラミング言語を習得したい!と思っている方はスクールでの勉強をおすすめします。
こちらのDMM WEBCAPでは転職保証がついていたり、国の給付金が最大57万円受けられたりと様々な特典がついています。
最後に
プログラミング言語の習得は初学者の90%が挫折するとも言われています。
しかながら、適切な本や、学習方法を取り入れることで挫折率は大きく減らせます。
ぜひあなたに合った学習方法や本を見つけてみてください。