なぜ、プログラミングは難しいのか

IT関連

私が初めてプログラミングを学んだのは、会社の内定者研修の頃でした。
支給されたテキストにの最初には、アルゴリズムに関しての解説が載っていました。
ソースコードには
 順次(A,B,Cと順番に処理します)、
選択(AならB、CならDします)、
反復(Aの間はずっとBします)
の3つしか無く、この組み合わせによって全て成り立っているというものでした。
言っていることは理解できます
しかし、実際に書いてあるソースコードは読めません
何が書いてあるのか意味が分からないのです。
さすがにそんな直ぐ分かるようになるものでは無かったのです。

しかし、数をこなすと段々と見覚えのある形に気付いてきます。
数学の方程式や文章題を解くような感じです。
それぞれの問題の数字や答えは違っても、解く方法が分かれば似たような問題なら解けるようになるのです。
ちょっとした応用問題でも、基礎が分かっていればある程度は解けたりします。
それと同じ様にプログラミングも段々と見慣れてくると、形が見えてくるときがあるのです。

その数をこなしていく上で、何故挫折する人が多いかということについて考えてみたのですが、
ちょっと間違っているだけでエラーが出まくるのが原因なんじゃないかなと思います。(そしてそのエラーが何を言っているのかも分からない。)
エラーだけじゃなく、画面が真っ白、何も反応しない、思っていたのと違う動きをする、などなど。
そういう状況になると、ちょっと調べても結局分からず落ち込み、ネガティブになり、だんだんプログラミング自体が嫌になってくるという(私です!笑)

そしてそのネガティブになる根底にあるのは、完璧にやらないといけないという思考なのではないかと思います。
完璧に全部覚えよう、完璧に全部仕上げようと思えば思うほど、どツボにハマっていく気がします。

正直言ってバグが無いコードなんて不健全です。
人間が作ったコードにはバグが生まれるからテストをしますし、テストしてバグが一個も発見出来なかったら、それは正しくテスト出来ていないということです。
間違えて当たり前」なのです。

しかしコードはある程度ちゃんと書かないと動きません。
プロとしてお客からお金を貰うには、出来るだけちゃんとしたものを作った方が良いのも当たり前です。
そして時間やお金が無限にあるなら良いですが、必ず制限があり、その中でベストを尽くします

この完璧に近付けたいけど、完璧なんて無理という矛盾の中で、自信と不安を行ったり来たりしながら、少しずつ前に進んでいく。
ほんとに少しずつ。

そんな日々を送っています。

コメント

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