Q. プログラミングって難しいですか? A. いいえ、簡単です。

Q. プログラミングって難しいですか? A. いいえ、簡単です。

プログラミングって難しそう…

プログラミングに対して苦手意識を持っている人や、食わず嫌いしている人って多いですよね。

確かに難しそうに見えます。いや、現実問題として難しいと思います。

 

筆者も大学時代に授業でプログラミングを教わったのですが、その時は全く理解できませんでした。

その時は確かRubyというプログラミング言語を教わったと記憶しておりますが、全くちんぷんかんぷんでした。

しかしその後、大学の研究室に配属されて、新しい理論のシミュレーションをするためにどうしてもプログラミングが必要になって、

そこでプログラミングを頑張って、ある程度書けるようになりました。人間やればできるものです。

 

今となっては仕事でプログラミングしておりますから、一般の方よりはプログラミングに詳しいです。

どちらかと言えばプロの中でもプログラミングはうまい方だと自負しております。

いろいろな方にプログラミングを教えましたし、人がプログラミングを理解していく過程を見て気づいたことがありますので、

それを今日はみなさんにシェアしたいと思います。

 

結論からいうと、プログラミングが難しい理由はたったひとつ、シンプルです。

わからないことが一気に押し寄せてくる、これに尽きます。

はい、これについて深堀りしていきましょう。

 

覚えなければいけないこと多くないですか?

プログラミングを自在に操って、自分のやりたいを成し遂げるにはあまりに覚えることが多いです。

たいていの人はプログラミングを覚える際に【Webアプリケーション】の作成のために覚えたいと思うはずです。

  • ブログを作りたい
  • Web系の企業に就職したい
  • Webサービスを開発したい

だいたいこんな感じだと思います。こうなると必要なスキルとしては、全てではないですがこんな感じになると思います。

  • HTML/CSSによる静的なサイトの作成
  • ネットワークの仕組み
  • Webの仕組み
  • PHP, Javascript, Ruby, Python, Javaなどの言語を用いたサーバーサイドプログラミング
  • Javascript, jQuery, Vue.js, Reactなどを使った動的なクライアントレンダリングプログラミング
  • Webサーバー, DBサーバー, メールサーバー, 認証サーバーなどの各種サーバーの設定/管理
  • TerminalなどのCLIでOSを操作する
  • Gitによるバージョン管理

ちょっと書ききれなくなるので、このへんでやめておきます。

これら全てが必要なわけではないですが、だいたいこれらの知識が要求されます。

プログラミングというのはWebサービスを作るために必要ですが、必要な知識のほんの一部に過ぎません。

int a = 1;
int b = 3;

print(a + b);

これだけでも実際にプログラミングと呼べるものには一応なっているのですが、(架空の言語です)

ここからWebでサービスを開発するには覚えなければいけないことが山程あります。

おそらく多くの人は「プログラミングができれば私/俺もすぐにお金を稼げるぜ!!」

みたいに考えているかも知れませんが、そんなに甘くありません。

人にもよりますが、毎日頑張って勉強して三ヶ月〜1年くらいかかるんじゃないでしょうか。

 

プログラミング簡単って言ったじゃねーか!!嘘つき!!

いえいえ、それは嘘ではありません。プログラミングは簡単です。

さっき述べたのは「Webアプリケーションを開発してお金を稼ぐのは難しい」という主旨であって、プログラミング自体はとっても簡単なのです。

 

例えば主婦の方は旦那さんにこんなお願いをしたことはありませんか?

「スーパーに行って、卵1パック買ってきて。もし牛乳があれば、牛乳も2パックお願い。」

これはまさにプログラミングそのものと言っても差し支えないでしょう。

プログラマの方に聞いてみてください。

この旦那さんへのおつかいとプログラミングの違いは2つだけです。

  1. 相手がコンピュータではなくて人間であること
  2. PHPなどのプログラミング言語ではなくて日本語であること

つまりこのお願いをコンピュータに対して、プログラミング言語で行うことを我々はプログラミングと呼んでいるのです。

プログラミングのイメージが掴めない人は、

『プログラミングとはプログラミング言語と呼ばれる言葉でコンピュータにお願い事をすること』

だと思ってください。

int a = 1;
int b = 3;

print(a + b);

先程書いたこのプログラムはおおよそこんな感じの意味だと思って下さい。

  1. aという名前の箱を用意して、1という数字を入れてください
  2. bという名前の箱を用意して、2という数字を入れてください
  3. aとbの中の数字を足して、画面に表示してください

こんなお願いをコンピュータにしたのです。ね?簡単でしょ?

 

ただし、Webサービスを開発する、となると、

  • Webにまつわる色々な用語を覚える必要があって
  • それらの用語にまつわる問題をプログラミングによって解決する方法を覚えて
  • プログラミング言語を書いて実際に解決する

ということを大量にやる必要があるのです。

 

なので、プログラミングを学ぶ最良の方法はプログラミングのみに集中することです。

Webやサーバーのことは後回しにしましょう。段階的に色々な知識を得ると挫折しにくいです。

そのための方法を別の記事にまとめていますので、是非御覧ください。

 

プログラミング初心者に競技プログラミングがオススメの理由を解説します

 

まとめ

今日はプログラミングが難しいと言われる理由について、筆者なりに解説してみました。

繰り返しになりますが、プログラミング自体は、

『プログラミングとはプログラミング言語と呼ばれる言葉でコンピュータにお願い事をすること』

なので、そんなに難しく考える必要はありません。

しかし、現実の問題を解いてお金を稼ぐにはそれだけではまだまだ足りません。

Webの仕組みやサーバーのことは別の記事でお話したいと思います。

 

今後もブログでプログラミングにまつわるネタを発信していきますので、お楽しみに。