字體:小 中 大 | |
|
|
2015/03/02 07:05:49瀏覽29202|回應1|推薦14 | |
對於多數資訊專業人士而言,說VB優於C語言是很離經叛道的!但是從二十多年前分別接觸Basic與C語言開始,我就一直很想大聲說:『VB語言比C還要好』!只是一方面怕人微言輕,自己的學識能力不夠,亂講話會被攻擊會被笑,一方面程式語言的內涵也在持續演變,早期VB的效能與功能廣度確實不如C語言。 但是隨著時間過去,客觀上VB與C的效能差異已經完全消失,我自己也已經熟悉這兩種語言,到了可以同時出書的程度,而且身為專業的軟體開發人員,我就是用VB作為我日常研究各種軟體技術,尤其是影像辨識的工具。所以我終於敢大聲地說:VB真的比C語言還要好! 會想到這件事,是因為剛剛看到一位讀高中的小朋友來信,問一些程式語言學習的問題,他說他買了書(不是我的書)學VB,但是「知道」以後進入專業「一定」還要學用別的「進階」語言云云…。我想他是初學者,不可能真的深入知道各個語言的特性,一定是因為他接觸的前輩老師們給了他這個概念:「VB是初學者學的簡易程式語言,是難登大雅之堂的!」這其實和以前美國白人認定黑人不會打籃球一樣的可笑。 當然,要進入專業領域是有必要學會多種語言,但原因並不是VB不夠好,所以必須學C語言等等「較好」的語言。只是因為程式語言是搭載在作業系統或通訊協定之上的工具,某些作業系統如蘋果電腦的IOS是沒有VB語言的,所以必須學會用C;如果你要寫網頁程式,在HTML的協定下也是沒有VB語言的,你必須學會用JavaScript;同理,要在Android系統下寫程式,你必須學會Java語言。 但是以功能的完整度與方便性來說,實際上目前已經沒有比VB更好的程式語言工具了!大家比較容易忽略(或故意忽視)的是在2002年微軟寧願被罵到臭頭,堅持放棄舉世稱讚的VB6,也要推廣所謂的.NET架構,就是讓VB與C語言徹底合流,自那時起變成功能與效能完全相同的一家人,事實上自那以後已經沒有甚麼事情是C語言做得到,而VB做不到的,而且效能速率也完全一樣! 即使如此好像也不能說VB>C吧?當然是可以的!用過兩種語言的人都可以印證,VB是以文字模式區分程式區塊,和一般英文文法幾乎一樣!不僅初學者很容易看懂,對於需要寫複雜結構程式的專家來說,有具體意義的If…EndIf或For…Next,也比層層疊疊的大括號容易閱讀得多!以我自己來說,超過三層的C語言迴圈就會讓我感覺很疲累,但是VB就沒關係,五六層的迴圈都還很清楚。 另一方面,VB還保留一點「糊塗」特性,他基本上會試圖自動轉換一下資料型態,以避免程式因為資料型態不符就輕易當掉!相對的,C語言則是號稱「資料型態嚴格」的語言,非常多好像是脫了褲子放屁的愚蠢宣告和資料轉換函數都是必須的!非常不人性化。 譬如我正在改編的一本書中,VB程式可以用Me.Controls(“M2”)就簡單指定好一個程式中稱為M2的Label物件,但是用C#就要寫成: (Label)this.Controls["M2"]; 誰會想到:明明就是Label的一個物件,前面還必須加上(Label)這個宣告,C語言才會看得懂它是一個Label?這些小地方可以讓初學者嚇死!因為太機械化太繁瑣了,不這樣脫了褲子就不能放屁,誰知道啊?這也會讓已經習慣用VB的老手們氣死!覺得C語言實在太愚蠢了。 總之,我認為各種程式語言中,應該毫無疑義VB是「最好」的!功能效能不缺,語法清晰好看又好寫等等,好處說不完!不僅適合初學者,即使你玩到像我一樣開軟體公司的程度,也還是會覺得用VB做測試研究之用是最好的!除非是你根本不會使用VB,其實這種「專業」人士還蠻多的!所以請注意:下次碰到有人還在說C比VB更好、更「專業」時,除非他真的也很熟悉VB,不然就別聽下去了! |
|
( 心情隨筆|校園筆記 ) |