見出し画像

プログラミング未経験者と経験者の見分け方から、プログラマの生きる道を考えた

はじめに

以下のような記事がありました。

変数と値について説明するときに、まず触れなければならないのがプログラミングにおける「=」の意味だ。
プログラミングをしたことのない人は、「=」は等号を表すと考えるだろう。それが普通の感覚だ。しかし、JavaやPython、JavaScriptといった現在主流のプログラミング言語では、「=」は等号ではない。
それを端的に表すのが「a=a+1」というコードだ。「=」が等号だとすると、この式はとてもおかしなことを表している。aがどんな値でも、a+1はaとは異なる値になる。aが0の場合はa+1は1、aが1の場合はa+1は2だ。つまり「=」が等号だとすると、「a=a+1」は常に間違っていることになる。
プログラミングを少しでもしたことがある人は知っているように、この場合の「=」は代入を表す。正確には、右辺の式を計算して左辺の変数に代入することになる。

プログラミングが難しくなったのはなぜか、原因はC言語のあの記法?
| 日経クロステック(xTECH)
https://xtech.nikkei.com/atcl/nxt/column/18/00682/030800116/?

これは確かに最もだなと思う一方で、もう20年以上C言語系に触れている身からすると(一番最初は1998年にPerlを書き始めてからでした)、もはや全然気にならなくなっているのが実情です。

そこで、今回はプログラマの常識について考えていきます。


プログラマの常識は非エンジニアの非常識

まず、我々は

プログラマと非プログラマには知識に格差があるということを認識

すべきです。しかし、一方で

プログラマ自身は、その「非常識」を認識できていない

ことがほとんどです。

プログラミングは必修化したが、まだ常識化はしていない

企業でDX教育が行われているのと合わせて、たとえば小学校でもプログラミング教育が行われます。文字通り、プログラミングの知識は「必修」となりました。

しかし、必修と言っているわりに、今のところプログラミングの知識を持っている人はすごく少ないというのが実情です。

「DX人材研修」にかかわっているとこれをすごく感じます。プログラミングの知識を持っていない人は、目指すゴール=デジタルで何か操作できるようになることにたどり着くのに、どれだけのことをしないといけないのかがよくわかっていない。いわゆる

「何からやってよいかわからない」状態

です。まず、環境のセットアップも大変ですし

それを乗り越えたとして、やっと(?)「a=a+1」のようなプログラミング自体の難しさにぶつかります。これ自体が大きなハードルです。つまり、プログラマが「常識」だと思えるような世界に来るまでに、すでにとても大きなハードルがいくつもあるのです。

プログラミング未経験者と経験者、見分け方3種

これは、現在Python研修を受けているプログラミング初心者と会話していて「a=a+1」以外で、気になるところある?と聞いたのですが、以下のような話を言ってもらいました。

ここから先は

855字 / 1画像

¥ 100

課金してくれるととても嬉しいです。シェアしてもらっても嬉しいです。「いいね」も嬉しいですし、フォローも嬉しいです。要するに、どんなことでも嬉しいです。