<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    冒號和他的學(xué)生們(連載20)——前臺語言

    冒號和他的學(xué)生們

    ——程序員提高班紀事

    20.前臺語言

    運用之妙,存乎一心                                                        ——《宋史·岳飛傳》


    稍事休息后,冒號切換了話題:“接下來簡單聊聊Visual BasicDelphi。”

    嘆號略帶得色:“Visual Basic最好用了,建個窗體,從工具箱中拖些控件,再定義一下它們的屬性和行為,搞定!”

    冒號點點頭:“VB最大的優(yōu)點就是易學(xué)易用、上手快開發(fā)快,對非計算機專業(yè)人士尤其具有吸引力。”

    引號咬文嚼字:“言外之意,VB對于專業(yè)人士就不那么合適了?”

    “恐怕也不好這么說。”冒號打了個哈哈,“當然簡單易用不是沒有代價的,隨便拖放一個控件,就生成了一大堆代碼,程序員的發(fā)揮余地自然受限,代碼效率也難以保證。不過VB多用于前臺的可視化開發(fā),對運行效率要求相對較低,因此還是很有市場的。另外,VB進化到VB.NET后,從單純的事件驅(qū)動式Event-driven)的編程范式發(fā)展為對象式、泛型式函數(shù)式等多種范式,越來越強大、越來越嚴格也越來越復(fù)雜,不再是‘玩具語言’了。”

    逗號囁嚅著:“其實用Delphi開發(fā)圖形界面也很快。”

    冒號接過話:“正因為它們擅長可視化快速應(yīng)用開發(fā)(RAD),才常常作為前臺語言來使用。事實上,它們不單單是語言,也是開發(fā)環(huán)境。Delphi又稱Object Pascal,前身是教學(xué)語言Pascal,VB的前身是入門語言BASICBeginner's All-purpose Symbolic Instruction Code),故而均具有易學(xué)易用的特點。”

    問號要求:“能否比較一下二者的優(yōu)缺點?”

    冒號回應(yīng):“引用Computerworld的評論:‘Delphi讓復(fù)雜的事情變得簡單,VB讓簡單的事情變得更簡單’。Delphi優(yōu)秀的VCL框架使得它作為前臺語言略勝一籌;更高的運行效率使得它同樣能勝任后臺工作;VB僅限于Windows,而Delphi可移植到Linux下的Kylix;對指針的支持則是便利與復(fù)雜的雙刃劍。反過來,VB的學(xué)習(xí)曲線更短;如果專注微軟技術(shù),VB更便于擴展開發(fā)包括MS Office在內(nèi)的應(yīng)用程序,VB.NET更能充分利用.NET平臺上的資源;不過VB版本更新較快,在緊跟時代的同時,也給程序員帶來惱人的兼容性問題。”

    句號再次體會到:“正如在JavaC#中作選擇一樣,平臺是語言選擇的一個重要因素。”

    “說得沒錯。”冒號表示認可,“由于BASIC是微軟的起家語言,VB的門檻又低,同時VB.NET也是.NET的一部分,它的前景還是樂觀的,有些不利的是微軟明顯把重心放在C#上。談到Delphi,不得不提Borland公司。這位曾經(jīng)的軟件巨人開發(fā)了無數(shù)經(jīng)典的產(chǎn)品,卻因經(jīng)營不善而日漸沒落,不久前將子公司CodeGear連同包括Delphi在內(nèi)的產(chǎn)品賤賣給了他人。”

    也許,從當初Delphi的首席架構(gòu)師Hejlsberg被微軟挖走的那一天起,這樣的結(jié)局就已注定了。”冒號不由得輕嘆一聲,惋惜之情溢于言表,“這再次說明技術(shù)的成功并不意味著商業(yè)的成功,同時語言的發(fā)展與背后支持的公司也是休戚相關(guān)的。Borland和微軟是兩面最好的鏡子。

    嘆號聽出弦外之音:“看來Delphi前景不妙啊。”

    冒號不置可否:“這也很難說,畢竟Delphi的鐵桿擁護者也不少。不過隨著基于internet的應(yīng)用日趨廣泛,桌面應(yīng)用受到網(wǎng)絡(luò)應(yīng)用的猛烈沖擊,VBDelphi的市場份額必然都會有所下降。在以網(wǎng)絡(luò)為中心的企業(yè)解決方案中,作為平臺語言的JavaC#是兩棵比肩而立的大樹,在它們周圍生長著郁郁蔥蔥的動態(tài)語言的小草。”

    話題自然而然地移到了動態(tài)語言。

    引號看了看筆記:“按計劃下面該談動態(tài)語言Perl、PHPPythonRuby JavaScript了。”

    冒號說道:“在這些語言中,JavaScript是個異類,雖然也有服務(wù)器端的JavaScriptSSJS),但用得最多的還是在客戶端。從這種意義上說,它也是一種前臺語言。”

    逗號稍有疑惑:“您是說將它與方才的VBDelphi并列?”

    “有一點不同的是,JavaScript必須與CSS、HTML、XMLXSLT等語言配合才能完成前臺工作。”冒號作了補充。

    問號似乎明白了:“您指的就是流行的AJAX技術(shù)吧。”

    “不完全是。”冒號輕輕搖了搖頭,“DHTMLDynamic HTML)照樣可以勝任前臺事務(wù),事實上以前B/S架構(gòu)的應(yīng)用大都如此。AJAXAsynchronous JavaScript And XML)技術(shù)無非多了個XHR (XMLHttpRequest)的API,在此之前局部刷新的效果只能通過IFrame來實現(xiàn)。正是這種異步技術(shù),大大提升了用戶體驗,使得網(wǎng)頁效果開始前所未有地逼近桌面效果。”

    引號不無擔(dān)憂:“目前富客戶端技術(shù)層出不窮,JavaScript的前景如何呢?”

    冒號給了一顆定心丸:“JavaScript在網(wǎng)頁技術(shù)中的主流地位在很長時間內(nèi)恐怕都難以撼動。相比其他的RIARich Internet application)技術(shù),如AdobeFlex、微軟的Silverlight、SunJavaFX等,以JavaScript為核心的AJAX技術(shù)最大的優(yōu)勢在于:標準、普及、成熟;不需安裝插件,只要瀏覽器支持JavaScript即可;因其文本特征而對搜索引擎更加友好。”

    嘆號談及他的感受:“JavaScript給人的感覺是:看起來很簡單,寫起來很隨意,用起來很頭痛。”

    “原因是多方面的。”冒號諄諄而言,“從JavaScript語言本身來說,其弱類型和動態(tài)語言的特征給了程序員更多的自由;基于原型(Prototype-based)的OOP特征遠不如基于類(Class-based)的OOP那樣為人熟知;缺乏豐富的API;不同的瀏覽器不同的版本之間兼容性差。更主要的是,JavaScript一直被嚴重低估和誤解,自視甚高的程序員往往不屑去編寫網(wǎng)頁,大多數(shù)JavaScript代碼由不那么專業(yè)的程序員編寫。此外IDE與調(diào)試工具的缺乏也給開發(fā)帶來掣肘。這些都加深了人們對JavaScript的隨意混亂乃至丑陋難用的印象。但請記?。?strong>待友之道,貴在放大其優(yōu)點而縮小其缺點,對待語言亦當如此。其實JavaScript的強大和優(yōu)雅是超乎想象的,它如一只神奇的魔袋,乍看平淡無奇,卻總能變出意想不到的寶貝。”

    問號追問:“JavaScript的缺點是什么?”

    “最大的缺點是起了個極無個性的名字。”冒號半開玩笑地說,“為了沾Java的光,Netscape愣將LiveScript改成JavaScript,帶來不少混亂。”

    引號也注意到:“書店、圖書館常常將JavaScript的書與Java的放在一起。”

    冒號話鋒一轉(zhuǎn):“談?wù)?/span>JavaScript的缺點并沒有什么實際意義,因為它沒有同類的替代品。VBScript僅限于微軟的IE,在追求跨瀏覽器和強調(diào)標準的今天是不具備競爭力的。ActionScript具有強大的多媒體功能,但必須借助Flash插件,與JavaScript應(yīng)該是互補共生的關(guān)系。”

    句號發(fā)現(xiàn)一個有趣的現(xiàn)象:“初級程序員往往偏愛前臺編程,中級以上的偏愛后臺編程,有些人則認為只有底層編程的才是真正的高手。”

    冒號解釋道:“前臺編程涉及面專,絢麗花哨的界面更容易讓初涉編程者產(chǎn)生成就感;后臺編程涉及面廣,需要深厚的技術(shù)積累和縝密的設(shè)計思維;底層編程涉及面深,給人神秘莫測之感。然大道相通,難者亦易,易者亦難。設(shè)計一個用戶友好的界面與設(shè)計操作系統(tǒng)的一個模塊,一個是與人直接打交道,一個是與機器直接打交道,孰難孰易、孰輕孰重,焉能一概而論?”

    posted on 2008-06-16 23:52 鄭暉 閱讀(2304) 評論(6)  編輯  收藏 所屬分類: 冒號和他的學(xué)生們

    評論

    # re: 冒號和他的學(xué)生們(連載20)——前臺語言 2008-06-17 07:05 朱遠翔-Apusic技術(shù)顧問

    寫得挺有意思的,不過對VB和Delphi的分析過于簡單。如果沒人指點,自己學(xué)習(xí)的話VB更容易上手,但是如果想做個程序員的話,Delphi才提供了深入進去的機會。
    曾經(jīng),我學(xué)了兩年的VB還是只會拖控件,那些高手所說的VB可以做所有事情,根本無法理解,可能我比較笨。但是我用了一年Delphi之后就明白原來Windows編程里面還有那么多東西。
    主要是VB打著面向?qū)ο蟮钠焯?,把所有的東西都封裝了,結(jié)果拖了兩年的控件,仍然不明白面向?qū)ο缶幊痰母拍睢5荄elphi完全開放了VCL源代碼,程序員可以知其然還可以知其所以然。
    學(xué)VB對VBScript幫助不大,在理念上變化比較多,倒是覺得學(xué)JavaScript對VBScript幫助較大。而Delphi的跨平臺概念價值也不大,我見到的大部分還是在Windows平臺下開發(fā)。
    VB.NET就不了解了,因為沒再關(guān)注了。  回復(fù)  更多評論   

    # re: 冒號和他的學(xué)生們(連載20)——前臺語言 2008-06-17 08:21 ron

    想起了編程之道里的一個故事,^-^  回復(fù)  更多評論   

    # re: 冒號和他的學(xué)生們(連載20)——前臺語言 2008-06-17 09:34 raof01

    “前臺編程涉及面專,絢麗花哨的界面更容易讓初涉編程者產(chǎn)生成就感;后臺編程涉及面廣,需要深厚的技術(shù)積累和縝密的設(shè)計思維;底層編程涉及面深,給人神秘莫測之感。然大道相通,難者亦易,易者亦難。設(shè)計一個用戶友好的界面與設(shè)計操作系統(tǒng)的一個模塊,一個是與人直接打交道,一個是與機器直接打交道,孰難孰易、孰輕孰重,焉能一概而論?”

    說得好!!初學(xué)者急于看到成就,偏重前臺;中級以上偏向思考,偏愛后臺。然二者要想做到極致,難度是一樣的,側(cè)重點是一樣的。
      回復(fù)  更多評論   

    # re: 冒號和他的學(xué)生們(連載20)——前臺語言 2008-06-17 11:53 YODA

    寫得很不錯啊,一直在關(guān)注博主的這個系列呢。
    但是實際上VB并不像大多數(shù)人理解的這樣傻,MSDN有一本書叫做《Hard Code VB》,就對VB進行了很深入的剖析。只是因為VB太容易使用了,使人忽略了他底層的東西。Delphi是一個很不錯的東西,但是Windows是MS的,再加上Borland自身的一些問題,導(dǎo)致了Delphi的沒落。Kylix沒有玩過,不清楚。
    博主繼續(xù)啊,期待中。  回復(fù)  更多評論   

    # re: 冒號和他的學(xué)生們(連載20)——前臺語言 2008-06-17 22:02 fejay

    寫的很有意思啊!支持一下  回復(fù)  更多評論   

    # re: 冒號和他的學(xué)生們(連載20)——前臺語言 2008-06-19 19:40 kooyee

    有意思,好多問題都是深入淺出的被解釋, 很形象啊  回復(fù)  更多評論   

    導(dǎo)航

    統(tǒng)計

    公告

    博客搬家:http://blog.zhenghui.org
    《冒號課堂》一書于2009年10月上市,詳情請見
    冒號課堂

    留言簿(17)

    隨筆分類(61)

    隨筆檔案(61)

    文章分類(1)

    文章檔案(1)

    最新隨筆

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲国产精品自在拍在线播放 | 亚洲一区二区三区在线 | 亚洲自偷自偷图片| 亚洲高清在线视频| 亚洲午夜一区二区电影院| 国产成人精品日本亚洲专一区| 亚洲入口无毒网址你懂的| 亚洲精品精华液一区二区| 精品久久久久亚洲| 中文字幕的电影免费网站| 久草免费手机视频| 97人伦色伦成人免费视频| 国产精品色午夜免费视频| 亚洲精品国产自在久久| 久久亚洲国产精品| 亚洲最大天堂无码精品区| 精品在线观看免费| 久久久久久AV无码免费网站下载 | 国产又大又黑又粗免费视频| 在线A级毛片无码免费真人| 国产成人3p视频免费观看| 亚洲中文字幕丝袜制服一区| 伊人婷婷综合缴情亚洲五月| 亚洲精品~无码抽插| 亚洲午夜久久久精品影院| 亚洲一区二区三区国产精华液| 免费无码又爽又黄又刺激网站| 精品国产免费一区二区三区香蕉| 精品免费人成视频app| 国产大片91精品免费观看男同| 亚洲一区二区三区偷拍女厕| 亚洲AV日韩AV天堂久久 | 亚洲成人一级电影| 一级毛片大全免费播放下载| a毛片全部免费播放| 最近最新MV在线观看免费高清| 亚洲福利精品一区二区三区 | 亚洲av中文无码| 亚洲精品国产情侣av在线| 又黄又爽一线毛片免费观看| 亚洲男人天堂2020|