論壇首頁一篇:社區“揭穿最大謊言”事件?, 我看了,也順便看了里面另一位仁兄的【36歲IT老人再次隨筆】
其中關鍵的地方就是一個例子:你會哪些計算機語言?
這個問題很有意思,確實如網友回復里說到的,每個人理解不同,答案不同。IT老人的答案雖然偏頗,但面試臨場也許真想不出八面玲瓏的答案也是可以理解的。不過其解釋我卻非常贊同,那就是思想是一樣的。
一個系統,在確定需求之后,是進行整體的設計,然后是詳細設計,然后才是編碼,也就是說,一個設計好的系統,可以用不同的語言來實現,無論是使用java還是.net還是C++,甚至匯編。 選擇哪個語言完全看開發團隊的熟悉程度,因為一般來說客戶更關心的是業務的實現而不是業務的實現細節。只要我們的系統能滿足用戶,那么用戶是不關心用什么語言開發的,在這一點上,各個語言確實只是一個工具,決不能說這個語言就比那個語言好。
我在幾個較大的項目開發公司接觸過,他們的開發人員有2種,第一種是專一于某個語言,一般是負責產品開發,另一類是精于某個語言,但其他語言也可以勝任,一般負責項目開發。在實際的項目開發中,由于java,php,c++等跨平臺的特性,可能會被大家優先選擇。而.NET由于其特有的方便快捷特征(至少不用象java那樣新東西太多了,讓許多新人花了眼),擁有者大量的應用系統。
回到正題:我會哪些編程語言呢?我更愿意從業務的角度來回答。
1 重點面向 C/S的編程語言
比如 delphi, PB, C++, VB 等
2 重點面向 B/S的變成語言
比如 .net java php asp ruby 等
3 面向底層、嵌入式和效率優先的實時系統的開發語言
這個當然是 c的天下了
注意:這個分類不代表其不能做別的,比如.net可以同時做C/S和B/S開發,但大家選擇.net更多的是用于 B/S開發。
實際上許多系統是混合開發的。比如核心服務系統需要高速性能,那么會使用C,或者匯編語言進行部分或者全部開發,而系統與用戶交互的部分則會采用C/S或者B/S開發語言來做客戶端。
無論你采用哪個語言開發,都是在你已經對系統有了了解,知道其實現機制,然后在不同的語言中【選擇】更適合這個系統的語言。
作為程序員,從1個語言轉到另一個語言,確實需要點時間,但其學習曲線卻是越來越平滑,我個人在大學里也是匯編,C語言,也自己用turbo C編寫過圖形化界面,然后就是學習了php語言,這個由于有C的基礎,學習起來真是太容易了。 然后是java, 同樣由于C/C++的基礎,很快入門并投入實戰,不過變成語言的類庫真的需要大量的時間去掌握,畢竟熟悉自己手里的武器才能讓他發揮最大的效率。這個時間真的可能會很長。象JDK加上大量的開源框架,這種東西如果沒用到,可能根本沒有去學,也導致以后可能用到了卻根本不知道有這個東西的【尷尬】局面。我就經常從別人的代碼里看到了許多早就存在的【新東西】。