最優秀的程序員大部分是C程序員?
其實也不能這么說,c最牛的地方是高效率的執行和內存超靈活使用。但是由于c不是一個面向對象的語言,相對更適合流程性應用的過程開發。c也普遍被應用在前段的嵌入式開發中。
一些自動化的領域,用Linux+c的開發,起硬件底層架構要比JAVA andriod sdk及節省很多。不過用c就別太注重UI設計,否則一些特殊的交互能煩死人。近幾年,隨著我開始接觸樹莓派這一類的玩具,我也了解了Python在前段嵌入式領域其實也有了較為深刻的應用,就是因為大量的開源包,可以讓開發者更快的實現功能開發。但玩過一段時間Python的人都知道其底層可以用c重寫和優化,不過我是沒研究那么深。
一種計算機開發語言越接近底層越是靈活。但是為了這逆天的靈活,也不得不付出很多基礎工作的代價。如果我需要一個linklist可能我需要構造兩個數組,然后一個數組存的是值,另外一個做偏移量。兩個數組都要有增刪改,甚至是內存資源的管理。不是能做,是需要太長時間。
c的優勢
c可以直接訪問硬件,一些操作系統會開發環境都是用c寫的。從前的WPS就是用c寫的,但是也沒感覺我是執行效率就高多少,只是WPS的確比ms office更節省安裝存儲空間。
不過理論上系統開銷小很多是一定的。
c的劣勢
寫c的認你通常會比一些高級語言的更嚴謹。編譯的時候很多東西你如果沒考慮和很多異常處理以及防止被利用的安全問題,也許就很容易被別有用的人利用。這個也是通信底層程序員的一點體會。
你硬件更新的時候也許要進行大改版。必經為了節省系統開銷,很多東西都做到了極致。但是當硬件架構無法滿足的時候,c基本上太多東西都要重新做。
總結以下,c就想一個精打細算的小媳婦。給老公做身西裝,自己買料子,自己買扣子,然后量身裁剪,手藝還不錯。錢是省了,也比外面買的更合身,就是花了還多時間。萬一哪天老公胖了該沒留余份,拆了改還費時間。如果這媳婦手藝一般,那么就也許老公剛穿上就開襠了也說不定。不過和做西裝不同,弄完一套就是編譯和燒錄了。
說了這么多,最優秀程序員用c談不上。希望回答對你有幫助。