語言與程式員 (不想去賣雞排的來看一下) |
|
scotthsiao
高階會員 發表:13 回覆:324 積分:147 註冊:2005-02-01 發送簡訊給我 |
散文】語言與程式員 ◎ 本文作者:蔡學鏞 (XY.CAI@MSA.HINET.NET) ◎ 發表日期:2005-04-15 ◎ 文章出處:天瓏資訊圖書/蔡學鏞/書評專欄 小時候,總覺得讀書辛苦。我還記得讀國中時,一度壓力大到提筆寫信給張老師,而且還「把郵票貼成蝴蝶的樣子」(張清芳和張曼娟顯然是copy我的作法)。沒想到這封信被嗅覺敏銳的媽媽截獲,張老師自然無緣認識我這個辛苦的小孩(寫給你的信還在我媽口袋,郵差根本就不會來…)。我懷疑我媽是川島芳子的嫡傳弟子,不然怎麼會這麼厲害? 長大之後,我看看現在的小孩,我覺得他們比我當年辛苦許多,慘的是,效果更差。學的科目雖然變多,但是內容變淺,容易造成「樣樣通、樣樣鬆」的結果。有錢的小孩更努力補習,造成小孩子程度兩極化,分佈狀況呈現施振榮先生的微笑曲線。這種情況下,或者該說是苦笑曲線吧! 現在的台灣小孩很辛苦,光語言就得學好幾個,包括了: l 方言:政治人物認為:愛台灣就是要說台語(儘管所謂的台語其實就是大陸福建的閩南語),所以特別在國小加入鄉土語言課程。台灣的小孩要在上課的時候學方言,讀一些「火金姑」之類的詩歌。常常被別人誤認為外省人的我,不禁直呼「好險,我已經小學畢業了!」 l 英語:這是通行世界的語言,現在又是國際化的時代,所以必須學習好英文,以「和國際接軌」。據說現在小孩流行用文革時代樣板戲的方式演講英文,語言雖異,做作如常。可惜我不讀國小了,不然以我做作的程度,無人能及,肯定是要常常拿英文演講冠軍了。 l 國語:時代變遷,有時候讓人哭笑不得。例如:台灣地圖躺平,上方是太平洋;國文課本不教國文,反倒要教預防風災;甚至,在台灣連國語都不流行了。但是根據某些政治人物的說法是「餘孽尚存」,所以還是要學習國語,只是腔調已經經過「改良」,不必字正腔圓,不必捲舌,也不需要使用兒化音,現在流行的是台灣腔的國語,越「聳」越道地。讓我很難理解的是,許多人國語明明講得很標準,還會刻意在某些字詞用不標準的腔調,模仿:許純美 董月花 阿扁的口音,這些「倫」「俗」在「素」「粉」奇怪! 方言、英語、國語,不只這些,我知道現在還流行學習「第二外國語」,特別是日文,這股風潮悄悄地延伸進校園,所以有些家長會送小孩去學日文。心機比較重的家長,偷偷摸摸地讓孩子學日文,秘而不宣,免得讓隔壁人家的小孩也跟進。 現在的小孩需要學這麼多語言,程式員也是。程式員已經無法靠著一個程式語言打遍天下了,只熟悉一套語言,根本不足以應付多元化的應用。多語言已經是時勢所趨,連.NET和Parrot這兩個VM平台都標榜跨語言。程式員必須要精通多種語言,互相搭配使用。對於大多數的程式員來說,最好的程式語言組合可能是: l Java與C#:這是最重要的語言,足以應付百分之八十的需求。從PC、PDA、手機、Web Server、企業應用,不管是寫哪一類的應用程式,幾乎都用得到Java或C#。現在的客戶根據被洗腦的方式不同,分成兩派,一派會指定要用Java技術,另一派會指定要用微軟的技術,所以我的觀點是,Java和C#都要會。至於Visual Basic .NET,由於資源比C#少(大多數.NET書籍使用C#語言),而且Visual Basic .NET不會比C#更接近.NET的思維,所以只要學習C#即可,沒有必要同時會Visual Basic .NET和C#。事實上,目前就業市場上,對於Visual Basic的需求比Visual Basic .NET更大得多。 l C:這是會長期存在的語言,用來應付百分之十的需求。有時候,在系統開發的過程中,Java和C#無法完全滿足某些功能,這些部分必須用C來實現。這些部分雖然通常不多,但是往往很關鍵,還真是非用C語言不可,別無選擇。 l Perl或Python(2P)或Ruby或REBOL(2R):用來應付剩下百分之十的需求。通常用來快速地寫出工具程式。不要小看這類的語言,一旦你熟悉這類語言,許多程式的生產力會提高許多,建議你從此2P 2R語言中挑一個好好學習。我的選擇是REBOL(這真是一個好語言)。 l JavaScript:Netscape當初在設計JavaScript語言時,只是著眼於Web Browser的應用,但是經過演化,JavaScript的應用變得非常廣,特別是變成ECMA Script之後,更成為Script語言的霸主。現在許多地方都看得到JavaScript以及其衍生的語言,包括了網頁設計、Flash動畫(ActionScript)、SVG、WAP。我其實很後悔當初沒有早一點學JavaScript,導致我後來在許多地方遇到需要JavaScript時,都會心生恐懼。 l C :C 的重要性遠不如C,因為多數平台或程式庫所提供的API都是C語言介面,而不是C 介面。C 高度的複雜性也會讓人卻步。但是不可否認的,C 還是有一部份的影響力,有些系統是以C 為標準的開發方式,所以C 的編程能力依然值得保有。 每個語言有她的最佳使用時機,互相搭配,挑正確的語言來做正確的事,才能省下許多功夫:C語言做得到的事,彙編語言都做得到,這個時候我們選擇使用C語言是因為方便;Java/C#做得到的事,C語言都做得到,這個時候我們選擇使用Java/C#是因為方便;Perl/Python/Ruby/REBOL做得到的事,Java/C#語言都做得到,這個時候我們使用Perl/Python/Ruby/REBOL是因為方便。方便與否,是選擇語言的考量。每個語言設計的宗旨不同、特性不同,都有適合使用的時機。牛刀(殺牛)、菜刀(切菜)、水果刀(削水果)、拆信刀(拆信)、武士刀(砍人),都是刀,但是使用時機和對象就是不一樣。 除了上述的語言之外,程式員也需要會下面的語言,雖然這些語言並非「程式語言」,但終究是語言,且重要性不亞於上述的諸多語言: l SQL(結構化查詢語言):現在用來存取資料庫的API幾乎都是Call-Level Interface,需要以SQL字串當參數。我認為,這才是真正的「餘孽尚存」! l XML(可擴式標記語言):各種新的檔案格式以及高階通訊協定都已經大量採用XML。儘管有些地方可能不見得適合用XML,但是只要用了XML,就會得到老闆的稱許。XML雖然是好東西,但是現在似乎使用過頭了,我對這一點很感冒! l UML(統一塑模語言):利用UML來將系統設計用圖形的方法表示出來,可以讓大家更方便溝通。如果沒有用UML的notation畫上幾張圖,別人就會覺得你很遜。所以不管是有沒有實際的意義,也不管能不能實際表達出正確的系統設計,UML圖是一定要畫的啦! 下面是TIOBE Programming Community所做的2005年4月程式語言市場需求調查,提供這個排行榜供大家參考: l C 18.630% l Java 16.981% l Perl 10.197% l C 10.191% l PHP 8.724% l (Visual) Basic 6.789% l Delphi/Kylix 3.682% l SQL 3.491% l C# 2.820% l Python 2.697% l JavaScript 1.642% l SAS 1.354% 為了要具備足夠的生存技能,未來的程式員最好要會Java、C#、C、C 、2P2R、JavaScript、SQL、XML、UML。需要學會這麼多語言,你可能覺得很辛苦,沒關係,你還是有別的選擇。你應該讀過我寫的「程式與香雞排」三部曲吧!我一直大力地鼓吹程式員轉行去賣香雞排,至今依然不改其志。
|
scotthsiao
高階會員 發表:13 回覆:324 積分:147 註冊:2005-02-01 發送簡訊給我 |
|
rogan321
高階會員 發表:21 回覆:307 積分:200 註冊:2003-05-15 發送簡訊給我 |
|
stellos
中階會員 發表:24 回覆:84 積分:51 註冊:2004-06-08 發送簡訊給我 |
|
㊣
版主 發表:261 回覆:2302 積分:1667 註冊:2005-01-04 發送簡訊給我 |
|
happosai
高階會員 發表:93 回覆:228 積分:109 註冊:2002-09-15 發送簡訊給我 |
程式語言本身不重要,而是它創造出來的價值。
像是我們主管還在用PE2寫組語與C,大概會被蔡先生
歸類為史前人類,可是他替公司一年創造上億營業額。
那些號稱用了最先進的程式語言與開發工具的新新人類,
有幾個人能有這樣的能耐? 這又提到了另一個重點,這些程式語言的使用率事實上
與行業很有關係,電子業需要熟C,ASM的人,做商業軟體的需要
熟SQL,XML,C#的人,再深入研究,說不定會發現每個國家
程式語言的使用率都差很多。 這幾年軟體公司強力行銷,把一些程式語言與開發工具
說成「今天不學,明天就會後悔」、「xx語言程式設計師
在美國年薪n萬」。事實上,台灣的產業結構與就業市場
真的可以套用這些廣告詞嗎?大家不妨想一想
|
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
|
pcboy
版主 發表:177 回覆:1838 積分:1463 註冊:2004-01-13 發送簡訊給我 |
引言: 這麼說也對!! 程設之路好辛苦喔 我還學了組合語言真慘 >>< face="Verdana, Arial, Helvetica"> 小弟還學過 機械語言, LISP, PROLOG , BASIC , FORTRAN... ********************* 如果您滿意答案,請結案 *********************
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案! 子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問! |
happosai
高階會員 發表:93 回覆:228 積分:109 註冊:2002-09-15 發送簡訊給我 |
|
㊣
版主 發表:261 回覆:2302 積分:1667 註冊:2005-01-04 發送簡訊給我 |
引言: 不可否認的確是有些打混摸魚的老師,但是我覺得學生的學習態度 很重要,阿正大大也當過學生知道一個班級會寫程式的已經不多了, 願意下苦工的就更少了... >>< face="Verdana, Arial, Helvetica"> 呼..平均一個班,會寫且願意多學的5個不到 >.< 歸咎原因呢,一半是老師教法使學生沒興趣,甚至聽不懂! 另一半便是學生的學習態度了.如果願意學老師多半是願 意幫學生的,就算本身能力不足也會找管道讓學生多學一點! 打混摸魚的老師是有,但必竟是少數ㄚ!! ==================================== 生命的目的,在幻化出多采多姿的組合。 生活的意義,在捕捉住稍縱即逝的感動。 ====================================
------
------------------------------------------------------------------------- 走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!? |
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
引言: 呼..平均一個班,會寫且願意多學的5個不到 >.<這個就讓我想到。。。去年。呂副總統所說的。 你們這些高科技業所用的人又太少。所負的社會責任不夠多的問題。 我們來算一下。 一班50人。如果有三個人會寫程式的話。 那.....每一百人有六人。 每一萬人會有六百人。 每十萬人就會有六千人囉。。。。。。。這樣的算法。應該沒錯吧。 而我們大學聯考每年也差不多十萬人報考吧。 可是。。我看去年竹科在徵人。。。。好像就是取六千人耶。 看來。竹科就是說得很清楚了。你們這些鬼混的我不要。 真正在學東西的,我會選過來用。。。。。 這麼說來。是不是反而要怪政府。為什麼不把學生教好。讓我們有人可以用呢? 而不是我們想要多一點人材都要不到呢???? 可是教育是政府的事。所以我們尾大的呂副總統不會自打嘴巴說自己沒辦好教育。。。。。(其實。在他們手上辦的教育人材,還不到國小六年級) 所以。。這個問題又陷入無窮迴圈了。。。。。。無解了。 可是,能看到的是。台灣的情況只有越來越差了。。。。。。。唉。 |
happosai
高階會員 發表:93 回覆:228 積分:109 註冊:2002-09-15 發送簡訊給我 |
|
scotthsiao
高階會員 發表:13 回覆:324 積分:147 註冊:2005-02-01 發送簡訊給我 |
政治人物說的話,除了為了選票之外,還有什麼真實可言 ?
不過前一陣子政府還說要引進外籍的程式設計師,如印度地區。因為大企業抱怨人才太少。是人才不夠,還是要節省成本 ?
看來這一行又要繼製造業之後,逐漸被外籍勞工取代了。
整個資訊業是不是也到了該轉型的時候呢 ?
就像大部分的技術,都會隨著時代改變。雖然有人繼續堅守崗位,也是少數,其他人得另尋出路。農業、製造業的就業人口已經逐漸下降,那不是政治能夠解決的,是產業結構在改變。資訊業會不會呢 ?
程式語言也是一直在演進,雖然有時候只是商業的強力宣傳,卻也逐漸成為潮流。主流外也有生存空間,只是不多。
為了生存多學點吧 ! 管理、行銷、文史都有可能用到的 (有空學炸雞排也不錯啦)。
|
jesse_chao
一般會員 發表:2 回覆:9 積分:2 註冊:2003-12-09 發送簡訊給我 |
哇!夠了,每次都是香雞排作結尾(現在還加上甜甜圈和珍奶),但有多少人真的去賣過,要養家活口比寫程式簡單嗎?賣賣看就知道了,第一,程式寫的好<>雞排作的好,第二、作雞排技能能一直隨時間加成嗎?,第三,雞排除了從客人收錢的一瞬外,能有讓人愉快的因子嗎?我擺過地攤,每次收攤時,雖然整天沒用什麼腦子,但心靈依然疲憊。所以當初蔡大大出這篇文章時,我就感覺不舒服了,觀點錯誤還一直振振有聲....唉!
身邊很多挺牛(大陸用語)的朋友都証明一件事,教的廣是學校的事,學的精是自己的事,想當初小時候,老師認為體育沒用,拿來作自習,美術沒用,拿來作自習,童軍課沒用,也拿來自習,班會沒用,也拿來自習,教的東西除了內容外,毫無精神涵養,如果後來變成了什麼師(程設師、會計師..),除了專業外什麼也不會,好畫不懂看,好音樂不懂聽,野外不懂求生,連世界多大都不知道,真是搞不懂到底在幹什麼...
其實重要的是心態,那麼多語言都要變專家嗎?除了專業科目外,那一樣不是要用再看書,用完後再還給書本呢?但是從廣泛的認識中,不是可以知道那個語言適合那種問題了嗎?學習的心態和方法才是最大的問題,成功的人都知道,這世界看起來進步很快,但是每天札實小步的前進依然是會成功的,反而是徘徊的人始終都在門外,我想以一個以前看過的禪機結束,「到底是旗在動,還是心在動呢?」
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
引言: 哇!夠了,每次都是香雞排作結尾(現在還加上甜甜圈和珍奶),但有多少人真的去賣過,要養家活口比寫程式簡單嗎?賣賣看就知道了,第一,程式寫的好<>雞排作的好,第二、作雞排技能能一直隨時間加成嗎?,第三,雞排除了從客人收錢的一瞬外,能有讓人愉快的因子嗎?我擺過地攤,每次收攤時,雖然整天沒用什麼腦子,但心靈依然疲憊。所以當初蔡大大出這篇文章時,我就感覺不舒服了,觀點錯誤還一直振振有聲....唉! 身邊很多挺牛(大陸用語)的朋友都証明一件事,教的廣是學校的事,學的精是自己的事,想當初小時候,老師認為體育沒用,拿來作自習,美術沒用,拿來作自習,童軍課沒用,也拿來自習,班會沒用,也拿來自習,教的東西除了內容外,毫無精神涵養,如果後來變成了什麼師(程設師、會計師..),除了專業外什麼也不會,好畫不懂看,好音樂不懂聽,野外不懂求生,連世界多大都不知道,真是搞不懂到底在幹什麼... 其實重要的是心態,那麼多語言都要變專家嗎?除了專業科目外,那一樣不是要用再看書,用完後再還給書本呢?但是從廣泛的認識中,不是可以知道那個語言適合那種問題了嗎?學習的心態和方法才是最大的問題,成功的人都知道,這世界看起來進步很快,但是每天札實小步的前進依然是會成功的,反而是徘徊的人始終都在門外,我想以一個以前看過的禪機結束,「到底是旗在動,還是心在動呢?」呵! 最後一句話想到駭客任務第一集的一句台詞: "There is no spoon!" -- |
scotthsiao
高階會員 發表:13 回覆:324 積分:147 註冊:2005-02-01 發送簡訊給我 |
引言: 我擺過地攤,每次收攤時,雖然整天沒用什麼腦子,但心靈依然疲憊。所以當初蔡大大出這篇文章時,我就感覺不舒服了,觀點錯誤還一直振振有聲....唉!其實蔡大作家用的是反諷語句,並不是教大家去賣雞排,只是傳的很廣才變的經典的。不用多心啦。 作這一行的,如果沒有下過一番苦心和努力,也沒有相當的熱忱,很快就混不下去了。所以很少人會放得下身段去賣雞排的(賣的技術是另外一回事),因為一身的功夫得來不易。 但是這個行業的變動非常的大,從大型主機到個人電腦,DOS 到 WIindows,大型主機到主從架構再到網際網路,生命的週期都不長。很多人就跟不上去了,或是不想跟了,結果就轉行。 如果能找到那一個行業,可以持續使用同一種技術的,那真的是幸運 ! 不過也很無聊的,相信各位大大也是看上這一行的多樣化才加入的吧 ? 純粹為了發財的,應該很失望,畢竟投入不見得會大於產出。 也由於高變動性,設計師必須不停的學習新的事物,才能作出適合目前社會所需要的軟體。學習->撰寫->放棄,學習->撰寫->放棄 ..... 這個循環會一直持續,除非你退出,停止學習。能夠停在某一個技術很久的人,相信不多。就像以前的 DOS 時代,CLIPPER 很有名。現在幾乎沒有人在用,可是它的 3rd 還在賣,編譯器也在賣。只是市場很小,僅能容納少數人生存。偏偏我們都是多數的那一群! 我那一輩的,很多都被 Windows 淘汰了,止於 Clipper。進一小步的留在 Visual Foxpro 的 .dbf 。C/S 又是一個門檻 。 勉強存活下來的還有一關要過,那是綱際網路。Delphi 在那一方面是有缺失的。 繼續進化(像神奇寶貝),還是被淘汰 ? 要不要成為化石呢 , 就看你自己。 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |