見出し画像

【結局やるかやらないか】プログラミングができない誤った理由3選

ムンペイです。プログラミングを30年以上しています。

私がプログラミングを始めた頃は、学校でもプログラミングをする人は少なく、中学のマイコン研究部の皆さんくらいでしたが(私は入ってませんでしたが)、最近は副業やSTEM/STEAM教育という文脈で、多くの人がプログラミングというものに関心を持つようになったと感じます(好きな人が増えたとは言ってない)。

何かのきっかけで「プログラミング歴30年ですよー」と話したときに、「すごいねー、でも、私〇〇できないからプログラミングは難しいなー」といった反応がくることがしばしばありますが、この〇〇が結構思い込みや誤解だと思うことがありますので、誤解度(当社比)と一緒に3つご紹介します。


1.タッチタイピングできないからなー(50%)

タッチタイピングとは、キーボードを目視せず、画面だけを見ながらタイピングしていく技術のことです。ブラインドタッチとも言いますね。

タッチタイピングするプログラマー(左利き)

確かに、プログラマーは四六時中タイピングをしているので(実際はそうでもないのですが)、タッチタイピングをマスターしている人は多いでしょう。しかし、断言しますが、タッチタイピングをマスターしなければプログラミングが理解できないということはありません。

私もそうでしたが、プログラミングをやっているうちに思考力にできるだけ近いスピードでもっと早くタイピングできるようになりたいと思うようになるものです。

タイピング練習ソフトで練習したこともありますが、プログラミングを続けていればだんだん早くなります。厳密な意味でのタッチタイピングをのためには指の使い方などに気を付けて打つ練習も必要ですが、それもプログラミングをしながらできることです。

2.数学は得意じゃないからなー(80%)

これもよく聞く誤解です。確かにプログラミングには計算が必要ですが、数学的な知識が必須というわけではありません。

数学に悩むプログラマー(w/シースルーディスプレイ)

もちろん、分野に依ります。
数学的な計算をするためにプログラミングをするなら、数学が得意じゃないといけないでしょうけど、それはプログラミングのためではないですよね。
高速化をしようとする場合も、アルゴリズムを工夫して計算量を落とすという考え方をする場合、数学を知っている方がずっと有利です。

しかし、そうではないもの、例えば、APIサーバーを実装するとか、何かの処理を自動化するとか、そういう内容であれば、いわゆる数学的な数式を扱うことはほぼないでしょう。ちょっとしたゲームを作るとかでも、中学までの計算で十分です。

ただし、論理的な思考は必要です。Aという条件が成立している場合は、処理Xをする。そうでない場合は、処理Bをする、というロジックが厳密に組み立てられないとバグります。この辺を見て、数学が・・・と感じてしまうのかもしれません。

3.英語できないからなー(95%)

これは結構あります。プログラミングというものは、英語を書いていると思っているようです。これは95%くらい誤解です。

英語(?)を話すコンピューターに向き合うプログラマー

たしかに、「アルファベットという英語でも使われる文字」を使うという点に間違いはありません。しかし、アルファベットを使っているからと言って英語とは限りません。例えば、ローマ字というものがありますが、あれは日本語(の一つの表記方法)です。

変数、関数、メソッド、クラス、などの命名には、確かに英単語を使います。標準ライブラリなど他人が作ったライブラリを使う場合は、英単語のケースが多いでしょう。しかし、英単語だと決まっているわけではありません。実際、`saidaichi` とか、ローマ字で書く人もいます。

文法に関しては、完全に英語とは無関係です。SVCとかありません。C言語、Python言語、など全然別の文法です。`if` `then` など、英単語を使った文法もあり英単語がわかれば推測が付くといえばそうですが、プログラミング言語での意味を知らないと使うことはできません。

ということで、英語ができないとプログラミングができないということはありません。それどころか、プログラミングを学ぶことで、英語の勉強になるというケースが多いと思います。
前述のとおり、英単語に触れる機会になりますし、プログラミング力が上がってくると触れる情報が海外のものになるので英語を何とかしようという努力をするようになるからです。

プログラミングからはじめよ

最近、「イシューからはじめよ」(安宅和人著)を読み直しています。いまみたところ手元の物は2010年の第1版第1刷(!)でしたが、いまでも書店でに並ぶベストセラーですね。

この本には、何かの成果を出すために、まず能力を高めようと考えるのは悪手であるという趣旨のことも書かれています。
(だからまずイシューを決めよ、というのが本書のテーマですが、これはぜひ読んでみてください。)

また、会社でも、能力が足りないから自信がないと言う若手プログラマーもよくいます。しかし、実際はそうではなくて、案外皆さん良い能力を持っていて、やれば期待する成果は十分出せるのです。

でもなぜ自信がないのか。

それは、知らないことを心配しているからです。
知らないことは不安なのは当たり前です。です。
ですのでやってみましょう。やってみたら結構できるものですし、成果が良くなくてもどこまでできるかは知ることができれば、次にどうすれば考えられます。知ることで、自信もついてきます。

おっと、プログラミングの話から逸れ過ぎてしまいました。
つまりはプログラミングもしてみましょうということです。
自信の話は私もずいぶん悩んだものですが、最近は年のせいか割り切ってきましたね。この話はまたの機会に。

これにて御免!

いいなと思ったら応援しよう!

30年プログラマー・ムンペイ
サポートのご検討ありがとうございます。 いただいたサポートは Code & Magic の開発運営などに使わせていただきます!