網路城邦
上一篇 回創作列表 下一篇   字體:
賽車手和修車師傅需要的工具思維都不一樣!
2020/09/16 08:27:08瀏覽551|回應0|推薦5

前文立即獲得讀者如此回應,他指出了一個重點,C語言是所有軟體工程建設的基礎,這一點無庸置疑,但是當工程建構到上層,為了讓設計師能專心做好設計複雜美觀建築的工作時,他需要的就不是鐵鎚、鑿子與工具箱,而是紙筆、黑板與製圖桌了!

其實今天早上上班途中就想到了這個例子:我們寫應用端程式,尤其是最傷腦筋的演算法程式的人,很像一級方程式賽車的賽車手!他們的任務是讓車子跑得最快最有效率,此時就會有老先覺跳出來說:「如果不懂車子,你怎麼可能將車子開得好?」於是想當賽車手的人就開始學習研究汽車的所有技術細節,讓自己變得和修車技工老師傅一樣的懂得車子的所有零件與性能。(讀資工系?)

但是這樣就可以最有效的培養出最厲害的賽車手嗎?有幾個賽車手真的很會修車呢?當他可以熟練到當修車師傅時會不會已經太老,反應變慢了,不適合飆車了呢?當他們專心開車閃避障礙或超車時,腦袋裡需要隨時擔心水箱裡還有沒有冷卻水嗎?如果這樣一踩煞車會磨損掉多少輪胎皮呢?下次進站保養時要不要換輪胎呢?這樣想太多的車手會奪冠嗎?

所以雖然賽車手都一定「略懂」車子,但不必如修車師傅一般熟悉細節,也絕對不應該使用技工的思考模式對待車子!賽車手開車主要必須處理的問題是車子外部的環境,賽道與其他賽車;技工需要處理的則是車子內部的問題。就像建築師不應該用工具箱裡的鐵槌鑿子做設計圖一樣!工匠們用紙筆也沒辦法將房子的牆壁砌好的!工具不對,不順手嘛!

程式語言就是資訊世界各種角色的程式師使用的工具,在20年前程式語言的優劣主要是看他們的廣用度與效能,現在的程式語言其實這兩個指標大致上都一樣了!任何程式語言都可以做到任何事情,而且效能差異不大!所以你要選擇使用甚麼語言工作的主要標準,就應該是看你的工作性質而定了!

所以我接連寫了兩篇好像是吐槽C語言的文章,其實重點不是貶低C語言,而是讓大家知道他們並不是設計演算法的好工具,就像我批評機器學習一樣,只是提醒大家他們不是萬能的,不是說他們無能或無用!事實上不必我說,就已經有Python的出現開始取代很多演算法的設計工作了!我只是分享自己的經驗,其實我用VB也很OK!和很多人用Python的意思一樣!如此而已,只要腦筋清楚不要盲從迷信殺雞用錯牛刀就好。

( 心情隨筆工作職場 )
回應 推薦文章 列印 加入我的文摘
上一篇 回創作列表 下一篇

引用
引用網址:http://classic-blog.udn.com/article/trackback.jsp?uid=yccsonar&aid=150702460