在园子首页看到了《让我们暂时远离业界,回到校园…… 》,有些自己的想法。
文章中给出的代码段,的确有让人耳目一新、为之一震的效用,这些代码“据说”是人写的。不禁感叹,如果一个人能写出这个样子代码,还能通过编译,甚至可以运行,再NB点可以正确的完成预计的功能,作者是一个多么伟大的程序员,能写出代码的人,说他不是大师谁信啊;再一步说,能教出这样人的校园,说它不是大师的摇篮谁信啊。
国内的大学计算机专业,就我看来,其实就是大师把学生培养成大师的过程;业界,就是把大师训练成普通成员的过程。不知道下面这个说法正确不正确,我是这么觉得的——国内从事计算机教育的人, 都是大师;国外从事计算机教育的人,都是普通程序员。于是最开始那个理论,就显得那么正常不过了。举个例子,写《Code Complete》的Steve McConnell肯定是牛人啊,看看人家是干什么——Construx Software公司的首席软件工程师。写《C语言程序设计》的谭浩强,我心目最接近神的大师,看看人家是干什么的(头衔太长了,都不能用一句话概括)——学生时代曾担任清华大学学生会主席、北京市学联副主席、全国学联执行委员,北京市人民代表;<这就完了,校园的大师们拿着最厉害的大师写的教材,教出来的学生要是普通程序员,那学校也没有什么开办的意义了。
好像前段时间,还有人把现在计算机的教育失败归咎于学生,认为不懂设计模式,是因为你不认真;不懂重构,是因为你不刻苦;不懂优化代码风格,是因为你太懒。这我就十分的不解了,你们看看大师的书里,哪本写设计模式了?哪本写重构了?又有哪本教你怎么调整代码了?
大师就写
for(m2=0;m2<3;m2++)
{
for(m1=0;m1<3;m1++)
{
u[n1][n2]=tr1[i][j];
n2++;
j++;
}
n2=n2-3;
j=j-3;
n1++;
i++;
}
你敢不按照大师的风格写?
然而这些一个普通的程序员,用他的《Code Complete》都记录了下来。
学生都是可怜的,谁也不敢说上计算机专业之前100% 的学生就会编程吧,教什么学什么,然后都学成大师了。
最后我以为,现在的教育之所以这样,说白了就是业界和校园分格太大。以至于校园里需要谭老师这样的大师,这样的人大代表来教授学生知识。希望有朝一日,业界里的普通程序员能回到“暂时远离业界,回到校园”,给计算机教育带去点人性的东西。
P.S.:
本人最恨谭浩强,出奇的恨。计算机语言加上应用,什么都会的一个人(至少什么语言都会写书),为什么就不能写本正经的说。人家《C++ Primer》900页才叫个Primer,自己弄200多页订在一块,就叫《C++程序设计》了。