なぜプログラムが書けないのかを考えてみた

あくまでオレの考えなので異論反論は一向に構わんッッッ!!!

むしろ異論反論があったほうが記事を書くモチベーションになる!


CASE1.文系がプログラムを書けないわけ

本来は言語に強いはずの文系、それがなぜプログラミング言語だけは理解できないのか?
それは文系人間は直感的にデータの流れが理解できないからだと思う。
どこの変数に何の値が入って、それがどのアドレスに格納されている。
そもそもその変数に値には何の意味があるのか?
値が変化することでプログラムがどういう挙動をすればよいのか?
その辺が理解できないんだと思う。
でも言語独特のリズム的なものを理解できるようになればコードトレースは理系より早く出来そう。
そこに完璧な仕様書があれば尚更。
コードトレースが出来るようになれば実はある程度プログラムは書けるはずだから後は場数を踏むしかない。
がんばれ!


CASE2.理系がプログラムを書けないわけ

こっちは文系のときと真逆。
直感で何をすべきかはすぐに分かるけど、それをどういう文章にしたらいいかわからない。
何で変数をスワップしたいだけなのに
tmp = x;
x = y;
y = tmp;
とか書かなくちゃいけないか理解できない。
こういうタイプはとにかくコード書きまくって覚えるしかない。
ある程度書いてればアルゴリズムの組み合わせで何でも出来るようになるはずだから後は場数を踏むしかない。
がんばれ!


結論
以上のことからプログラムを書くには言語能力と直感が必要なことが分かる。
文系や理系に特化した人が両方を兼ね備えるのは実際問題かなり大変だろう。
だからプログラムが書けないって人が後を絶たない。
逆に言えばプログラムが出来る人ってのはよく言えば器用、悪く言えばどっちつかずな人なんだろうな。
とりあえず言えることはプログラム書きたい人も書きたくない人も書いてる人も書いてない人もがんばれ!
だがオレはがんばらない。