プログラミングが必修化されるというニュースが最近ありました。これからの時代、コンピュータを自由自在に操れるようになっていかないといけないのかもしれませんね。
プログラミングを勉強したい!という方をちらほら見かけることがあります。それなりに関心が高いのかもしれませんね。
そこでいつも耳にするのが、『プログラミングを勉強したい!いったいなんの言語がおすすめなの?』という話。そしてそれに真面目に回答する方もいます。
プログラミングの勉強について、わたしは絶対に最初は『C言語』から勉強することをおすすめします。今回はその理由について書かせていただきます。
目次
プログラミングの入門はC言語がおすすめ
できることは少ないが覚えることも少ない
C言語でできることはかなり少ないです。いや、本当は少なくはないのですが、むずかしいことをやらせようとするとすごく大変です。
最近人気のプログラミング言語はC#といったところでしょうか、C#だとプログラミングをガイドしてくれる機能があるため、さくさくとプログラムが作れてしまいます。
しかし、その機能をしっかり使いこなすにはかなり知識が必要になるんです。なので一番最初はC言語でプログラミングの基礎をマスターするのが良いでしょう。
C言語で覚えることというのは下記の項目程度で十分です。
- 変数
- 配列
- 制御文(if、for、while)
- 関数
- ポインタ
- 構造体
C言語からはじめるならここだけ抑えればわたしは十分だと思います。これがC#となるとオブジェクト指向やらコントロール、ジェネリックやデリゲートなどわけのわからないものが山ほど登場します。
そこで混乱して挫折しかねないため、まずは簡単なC言語がおすすめなんです。
覚えることは最小限だが、『コンピュータ』を知ることができる
C言語で学べることは、プログラミングの基礎と、コンピュータの基礎も学べるのがいいところです。
挫折してしまう人が多いのですが、『ポインタ』は非常に奥が深いです。簡単に説明するとポインタとは『メモリ上のアドレスを指し示す変数』です。
C言語ではポインタを多用することで開発を進めますが、ポインタを多用しているとアドレス空間を認識できるようになってきます。このときに培ったものが、のちのち非常に開発に役に立ってくれるんです。
プログラムを作る上で、常にメモリのことを考えておけると便利です。
プログラミングの勉強は階段をのぼるようなもの
プログラミングの学習は階段を上るようなもの、1段1段のぼって積み重ねていきます。
わたしの考え方ですが、C言語→C++→C#、このようなステップが必要です。C言語でプログラミングの基礎を学び、C++でオブジェクト指向を学び、C#でようやくアプリケーションの開発をする。
まぁ実際に現場ではそんなゆっくりしてはいられないのでしょうけれども。
しかし現場であれば武者修行ということでそれでなんとかなると思います。独学の場合だといきなりC#はむずかしいのではないでしょうか。
『なんの言語を勉強すればいいの?』という質問にたいしてC#やJava、PHPなどと回答するケースが多いですが、わたしはC言語がおすすめです。
初心者におすすめしない言語
C#はプログラミングがわかっていると楽だけど初心者にはむずかしい
さきほども書きましたが、C#にはプログラミングをガイドする機能があります。『インテリセンス』なんて名前がついていますが、たとえば”a”というキーを押すと、”a”を候補とした変数やクラスなどの候補を表示してくれます。
しかし、初心者にはたくさんの候補を出してくれてもどれを使えばいいのかがわからないと思うのです。
さらにいうと、C#の場合基本的には画面のあるアプリケーション、GUIを作成していくことになりますが、コントロールの名前すらわからなければマルチスレッドなプログラミングもできないはずです。そもそもコントロールだのマルチスレッドも理解できないでしょう。
コントロールとは、GUI上のボタンやチェックボックスなどのことで、マルチスレッドとはアプリの中で並列に動くプログラムのことです。C#ではこういったことを基本的に使うことになりますが、初心者には扱いきれないと思います。あまりにも一度に覚えることが多すぎて。
PHPはプログラミングだけではない、サーバやHTML、Javascript、データベースの知識も必要になる。
C#よりいっそうむずかしいのがPHPです。このPHPは今大人気?でとてもお金になりやすいイメージがわたしの中にあります。
PHPというプログラミング言語はweb系のプログラミング言語です。しかし、人気だから~、なんて理由でこの言語に手を出してはいけません。
当然ですが、webの知識が必要になります。PHPとは、簡単に説明しますとPHPというプログラム言語を使ってHTMLを生成する、場合によってはJavascriptのプログラムまで生成する、というものです。
PHPだけ知っていればOK!なんていうケースはまず存在しないでしょう。
プログラミングの基礎さえ押さえていればPHPとJavascriptはいけるかもしれません。しかし、HTMLやデータベースはプログラミングではないのでまた別の勉強が必要になります。
プログラミングをこれからはじめよう!という方がサーバやデータベースの知識を保有しているとは思えません。PHPは上位のプログラミング言語の中でもきわだって難易度の高い言語だと思っても良いかもしれませんね。
まとめ
以上のことをまとめますと下記の通りです。
- プログラミングは階段を上るようなもの、最初は初歩的な『C言語』がおすすめ
- C#やPHPといったものはプログラミング以外の知識まで必要になり難易度が高い
C言語はweb系のプログラムやGUIを作るのには非常に向いていませんが、基礎をマスターできるのはC言語だと思います。むしろわたしは仕事でほとんどC言語しか使っていません。
しかし、C#やPHP、PerlやASP、VBA、Javascript…数え切れないほどの言語を習得してきました。というのも、C言語でしっかりプログラムの基礎をマスターしてしまえば、他の言語はほぼすべてC言語の派生のようなものですので、ちょっと勉強するだけで十分実践で扱えるレベルになれます。
プロの世界では『どの言語が良いのか?』ではなく、『作りたいものがXXだから言語はOOにしよう』なんですね。なので、言語を選ぶ余地なんてなく、必要であれば使ったことのない言語を勉強して習得しなければなりません。
それがプロの開発現場ですので、どれだけすばやく使ったことのない言語を習得できるかがカギであり、すばやく習得するためにはC言語をマスターしておくのがベストなんです。
いかがだったでしょうか?プログラミングに興味があれば、ぜひC言語からはじめてみてください。