プロが教える!プログラミング独学の方法|まずはC言語を習得しよう

プロが教える!プログラミング独学

独学でプログラミングを習得する方法をお教えします。
今までプログラミングの経験が無い方にとっては大変な道のりではありますが、必ず習得することができるスキルです。楽しみながらやりましょう。

 

書籍の購入

独学する人のガイドラインになってくれる書籍を購入することは、スキル獲得にとっては近道になります。もちろんサイトを見ながら学習することも手ではありますが、お金を出してまで購入した書籍は「よし!せっかく買ったから最後までやろう!」という強いモチベーションにもつながります。

おススメ書籍

画像をクリックすると購入画面が開きます

独習C
学習に必要な書籍はこれだけになります。
これ以外はあまりおススメしません。
「C言語入門」や「はじめてのC言語」のような書籍も存在しますが、これから真剣にプログラマーになろうと考えている場合には向いていないと思います。
毎年、新入社員には「この書籍1冊を持っておけばひとまず大丈夫」と伝えています。

 

学習を始める前に

なぜC言語なの?

歴史が長く、もっとも有名で、使用している技術者が多く、多くの製品で利用されており、用意されている機能は最小限であるためです。

実は”プログラミング言語”とひとことで言っても、多種多様な言語が世の中で使用されています。その数はなんと7000を超えるとも言われています。ですが安心して下さい。もちろんすべての言語を学ぶ必要はありません。まずは基礎となる言語を1つだけ習得し、あとは言語間の違いを理解すれば良いのです。

歴史が長く、多くの技術が使っているということは、質問すれば多くの方が答えてくれます。Googleで調べても多くの凡例が掲載されているため、早期解決ができるという点では初心者が学ぶ上では重要な点だと考えています。

C言語以外であれば、Webの世界だと『Java』、『C#』、最近流行りの『Python』、Excel効率化の『VBA』などが有名です。

2020年の人気ランキングでは1位:C言語、2位:Python、3位:JavaScript だったようです。
出典:日経クロステック

 

書籍は電子書籍でもいいの?

私は電子書籍ではなく、紙の書籍をおススメしています。
理由は、その方が学びやすいからです。
C言語に限らずプログラミング言語というものは主にパソコンなどで動作します。最初はパソコンの中に学習するための環境を構築(インストール)するところから始まります。
パソコンでやるなら画面を切り替えながらになりますし、スマホで見ながらだと小さくて分かりづらいと思います。特に電子書籍でないといけない理由がなければ製本された紙の書籍を購入しましょう

 

コツはある?

早く習得するコツはあります。
実際に手を動かしてコーディングしてみてください。そしてビルド(コンパイル、リンク)してみてください。最初はエラーがたくさんでると思いますが、解決方法は『独習C』が教えてくれます。
C言語はパソコン上で動作させる前にビルド(コンパイル、リンク)という作業が必要になります。パソコンが理解できるための実行ファイルを作成する必要があるんです。このビルドする際に出るエラー(コンパイルエラー、リンクエラー)が出てくれることは初心者にとってとても重要です。自分のコードのどこに問題があるのか動かす前にわかるからです。

『独習C』にはたくさんの課題が掲載されています。面倒だと思わずに、ひとつひとつチャレンジしてみてください。急がば回れ。それが一番の近道です。

 

何か作ってみたいんだけど?

遠回りになるかもしれませんが、最初から何か目的を持って取り組んでもいいと思います。楽しんで学ぶのが一番ですからね。実は私はこの方法で習得しました。『独習C』を片手にコンパイルエラーやリンクエラーとの格闘の毎日でした。時間はかかってしまいましたが、毎日楽しかったことを覚えています。統合開発環境と呼ばれる “Visual Studio” を使えば何でも作れるのでご安心ください。

 

資格取得できる?

できます。私はサーティファイの『C言語プログラミング能力検定1級』を取得しています。

(参考)サーティファイHP https://www.sikaku.gr.jp/js/cp/

1級はコツがあります。そのコツは以下で紹介しています。

 

『独習C』の強みと弱み

強み

C言語を学ぶ人のが挫折するトップ3が配列、ポインタ、構造体(共用体)です。独習Cでは特にこの3つの解説がわかりやすいです。次に網羅性です。入門書では掲載されていない機能があることが多いのですが、独習Cではすべて掲載されています。(毎年、新入社員が使っている入門書を見せてもらうのですが、ポインタや構造体が掲載されていなかったり、「この説明でわかるの?」といった内容のものがあります。。。入門書を頼りに業務に就こうという考えから変える必要がありますね。)

弱み

実は独習Cだけでは理解できなかった機能がありました。それは①分割コンパイル、②#pragma宣言です。②#pragmaは業務に就いてから独習Cに掲載できなかった理由を察しましたが、①分割コンパイルは必須スキルです。もちろん独習Cで理解できる人もいますが、私は特に *.h がある理由や何を記載すればいいのか理解できずにいました。もし、私と同じように分割コンパイルが理解できずにお困りの方がいらっしゃいましたら、以下の書籍をおススメします。

おススメ書籍

画像をクリックすると購入画面が開きます

はじめてのC++
1999年の書籍ですが、分割コンパイルについてはよく理解できる書籍でした。『27章|分割コンパイル』の項目だけにお金を払う価値ありです。オブジェクト指向言語についてもいずれ学習する必要があると思うので、購入しておくのはいかがでしょうか。(中古でしか手に入らないと思います)

 

さいごに

プログラミング必修化が始まり、これを機にプログラミングを学ぼうと思っている方も多いと思います。しかし、実際にプログラミングスキルが必要かどうかはちょっと考えてもいいと思います。政府がプログラミングを必修化した理由は何でしょうか。もちろんITを今まで以上に推進するためにプログラミングができる人を増やす思惑もあるだろうとは思えます。しかしそれ以上に『ロジカルに物事を整理して考えることができる人』の育成のために導入したものなのではないだろうかと思えてなりません。前述したとおり、プログラミングを一から学び、業務で高いパフォーマンスを発揮するには相当な学習時間を確保しなければならないからです。また、ソフトウェア業界においても「ノーコード、ローコード」の潮流があります。いずれ○○言語というものが消えてなくなるかもしれません。そんな時に必要なことは『ロジカルに設計できる力』だけです。

私からの提案は、『ロジカルに考える力を育成するためにプログラムを学ぶ』ことです。プログラミングはロジカルに考えて実装しないと実装者の意図通りに動作してくれません。まさにロジカルに考える力を育成するにはうってつけだと思います。

みなさんのキャリア形成に少しでも参考になれれば幸いです。

 

タイトルとURLをコピーしました