選擇C或C++
最近,看到很多人學習Python之類的有趣程式語言,我暗暗著喜悅在心中:程式人的市占率越來越高了。有人看在我多比他多學了幾年,跑來問我:「你最擅長什麼程式語言?」我便答:「C或C++。」這時,就一臉困惑的表情,把C語言講得好像史前時代的程式語言,指標、指標的指標、指標的指標的指標……。我就笑了,原來程式人果然不該叫一個初入程式圈者學C語言,這樣有機會像把小蘇打倒進火裡一般,有滅火器的功效(澆熄他唯一的興趣)。
我第一個學習的語言是C♯,這個語言陪伴我三年左右。之後,想要多學幾門語言(純粹無聊)所以就找了只和C♯差了一個字元的C語言,然後就掉進去,再也沒有出來了(?)。現在我大部分使用C或C++(但有時候會玩玩其他的),重點在我裝著某自由軟體作業系統、年紀逾十一歲的電腦,也可以很優秀的編譯,甚至重新編譯了好幾次核心。
自從會了C語言,我也去學了C++。
到後來,隨著看大家的文章越看越多,就發現C++的評價兩極化,有人很支持(因為語言本身就有物件導向的語法、STL容器不錯用……),有人很反對(因為C++改版飛快、標準函式庫太多東西、語言有很多「累贅」……)。就造成我的選擇困難。
任何一種語言都有設計者創作的理念,也都是由資深程式人造出來的東西。C一開始就是為了提供作業系統的設計,當時不需要太複雜的設計架構。C++出現是為了因應C語言在應用程式開發較為不易的問題。事實上,兩者各有千秋,也沒有必要當成比較對象甚至是競爭對手。任何一種語言都是可以被利用的,善用每一門語言,讓每一種語言發揮最大效益,使我的程式開發更為輕鬆容易,是我該學習的課題。