在園子首頁看到了《讓我們暫時遠離業界,回到校園…… 》,有些自己的想法。
文章中給出的程式碼片段,的確有讓人耳目一新、為之一震的效用,這些代碼“據說”是人寫的。不禁感歎,如果一個人能寫出這個樣子代碼,還能通過編譯,甚至可以運行,再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++程式設計》了。