経験者と技術者

アリストテレスの言葉から。

ひとが物事を知っているかいないかは、それをひとに教えられるか否かが一つの証拠になる。この理由からすると、技術の方が経験よりも多くの学問であるとみなされる。なぜなら、技術家は教えられるが、経験のみの人は教ええないからである。


たとえば、System.out.printlnは、ほとんどのJavaプログラマが使っていると思うんですけど、その文法的な意味は案外説明できなかったりします。
それとか、for(int i = 0; i < 10; ++i)は書けてもfor(Iterator ite = list.iterator(); ite.hasNext(); ite.next())は自力で書けなかったりする人は、結構いるんじゃないでしょうか。


プログラムは、それなりに経験を積んである程度、定型の形を覚えれば、だいたいのプログラムを書くことができます。
設計にしても、同じような仕事を繰り返していれば、その範囲では、経験だけでこなすことは可能です。
でも、それは、「経験者」であって「技術者」ではない、ということです。


2500年前のアリストテレスの言葉です。