プログラミングの難しさについて、機械・家電・家の設計との違いについて関連するページがあった。
これによると、機械・家電・家などのエンジニアリング分野は物理的な限界があるが、ソフトウェアにはない。ソフトウェアエンジニアリングの限界は人間が理解できるかできないか、に掛かっているという。
良く「プログラムは人間の思考」「プログラム=文章」等と聞くが人間の考えた”手順”をコンピュータが代行してくれている。その指示をするのがプログラムというわけで、そのプログラムを作るためのアイデアをまとめるのがソフトウェア設計ということになる。
プログラミングの学習方法について調べているうちにこのような話題にたどり着いた。プログラミング学習方法の1手法として、「良質なプログラムを読む」ことが効果的とかかれているページがあった。ということは以下のことが導出されるような気がする。
・プログラム=人間の思考を反映したもの。
・プログラムを読むことが勉強になる。
→人間の思考を読む(理解&習得)することが勉強になる。
当たり前といえば当たり前だけど、単一の知識をたくさん理解したとして、それを効果的に使うということはできるのだろうか?
単に英単語をたくさん覚えてもそれを効果的に使用することはできないだろう。
知識とその知識の使い方(知恵)を含めて習得しなければ意味がないということになる。
余談だが、面白かったのでTim Romero氏のコラムを全て読んでみた。当たり前といえば当たり前のことが書かれているが、再認識させてもらった気がする。