• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    腳本語言:21世紀的高級編程語言

    發布: 2009-7-24 18:04 | 作者: 網絡轉載 | 來源: 領測軟件測試網 | 查看: 1781次 | 進入軟件測試論壇討論

    領測軟件測試網

        (實際上可以用隱藏基本語言的復雜性的圖形開發環境處理一個像這樣的不重要的例子:用戶在表中輸入合適的值,而開發環境輸出代碼.然而,在更多復雜情況像按計劃產生合適值或接口的條件任務中開發人員必須在基本語言下編寫代碼)
    這可能看起來腳本語言的無類型特性不能發現錯誤,但實際上腳本語言和系統程序設計語言一樣安全.例如在上面的按鈕例子中如果字體大小被置成非整型字符串,就像xyz,那么就會出現錯誤.不同的是當一個值被使用時腳本語言在最后一刻進行錯誤檢查,而強類型在編譯時發現錯誤這就避免了運行時的檢查.然而提高效率的代價是限制信息如何使用:這導致了更多的代碼和更不易改變的程序.

        腳本語言和系統程序設計語言的另一個重要不同是腳本語言是被解釋而系統程序設計語言是被編譯.被解釋的語言由于沒有編譯時間而提供快速的轉換.通過允許用戶運行時編寫應用程序,解釋器使.應用程序更加靈活,例如,許多整體線路的綜合分析工具,包括Tcl解釋器;程序用戶編寫Tcl 腳本來使他們的設計具體化并控制工具操作.通過快速設計代碼解釋器可以實現強大的功能.例如,一個基于Tcl的網頁瀏覽器可以通過把網頁中的HTML轉換為使用一些常規表達替代物的Tcl腳本,從而從語法上分析網頁然后執行腳本把頁面翻譯顯示在屏幕上.

       腳本語言不如系統程序設計語言效率高,部分是因為他們使用解釋器而不是編譯器,而且因為他們基本組件的選擇標準是功能強大和易于使用而不是有效地對應基本硬件.例如,腳本語言經常使用長度可變的字符串,而同樣的情況下系統程序設計語言使用對應一個機器字的二進制值;腳本語言經常使用哈希表,而系統程序設計語言使用變址陣列.

        幸運的是,腳本語言的性能不經常是一個主要的問題.腳本語言應用程序通常比系統程序設計語言的應用程序要小,并且腳本應用程序的執行受組件執行的支配,而這些組件是系統程序設計語言提供的典型工具.

        腳本語言比系統程序設計語言更高級,平均一個指令可以做更多的工作.一個典型的腳本語言指令執行成百上千條機器指令,而一個典型的系統程序設計語言指令執行大約五條機器指令(參圖一).部分不同是因為腳本語言使用翻譯器,這不如系統程序設計語言中被編譯的代碼.但是主要的不同是因為腳本語言的初期操作有更強大的功能.例如,Perl中喚醒一個常規表達替代和喚醒一個整型加法一樣簡單.在Tcl中,變量會有與它相聯系的圖標,因此,設置變量會導致側面影響.例如,一個圖標可能會被用于保持變量的值在屏幕上持續更新.



    表1.表的每行描述了被執行了兩遍的應用程序,一遍使用系統程序設計語言,像C或Java,一遍使用腳本語言,像Tcl.代碼率列給出了兩個應用程序的代碼行率(>1意味著系統編程語言需要更多的代碼),作用率列給出了開發率.在大多數情況下兩個版本由不同的開發者執行.表中的信息由comp.lang.tcl新聞組中對文章進行答復的不同人提供。.

        由于上面描述的特性,腳本語言允許基于膠著的應用程序的快速發展.表1提供了有趣的支持.它描述了幾個在系統程序設計語言下執行后又在腳本語言中重新執行的應用程序,或反過來也是一樣的.

       在每種情況下腳本版本都比系統編程版本需要更少的代碼和更短的開發時間,不同點的變化從2到60.腳本語言第一次執行時好處不顯著,這使人聯想到任何在第一次執行經驗上的重執行都會更好,而腳本和系統編程的真正不同相差5到10倍,而不是表中的極端點.腳本的好處同樣依賴于應用程序.在表中的最后一個例子中,應用程序的圖形用戶界面部分是基于膠著的,而模擬裝置部分卻不是;這可能解釋為什么腳本應用程序不如其他應用程序獲益多.

        總之,腳本語言被設計成膠著應用程序,他們提供比匯編或系統程序設計語言更高層的編程,比系統程序設計語言更弱的類型,和解譯后的開發環境.腳本語言犧牲執行速度來提高開發速度.

    4.不同的任務,不同的工具
        腳本語言不是系統程序設計語言的替代品,反過來也一樣.他們各自適合不同類型的工作.把膠著和系統合為一體,應用程序可以比腳本語言快5-10倍;系統程序設計語言將需要大量復本和轉換代碼來連接各塊.而這直接使用腳本語言.對于復雜的算法和數據結構,系統程序設計語言的強類型使程序更易于管理.執行速度是關鍵.系統程序設計語言可以比腳本語言運行快10-20倍,因為它產生更少的運行時檢查.

        在決定是否使用腳本語言或系統程序設計語言處理一項特殊任務時考慮以下問題:

    ★應用程序的主要工作是否是把已經存在的組件聯系起來
    ★應用程序是否要操縱不同種類類型的事物
    ★應用程序是否包含圖形用戶界面
    ★應用程序是否做大量字符串操作
    ★應用程序函數是否能快速解決問題
    ★應用程序是否需要可擴展

      如果這些問題回答"是"就表明這個應用程序使用腳本語言會更好.另一方面,如果對下面的問題回答"是"就表明系統程序設計語言更適合這個應用程序:

    ★應用程序是否執行復雜的算法或數據結構
    ★應用程序是否操縱大量數據集(像圖像中的所有像素)因而執行速度很重要
    ★應用程序的函數是否已經定義好,并且很少改動

      在過去的30年中,大多數主要的計算機平臺同時提供系統編程和腳本語言。例如,第一個腳本語言雖然粗糙,卻是一個JCL(作業控制語言),它被用于在OS/360中把工作等級按順序排好。個別工作等級由PL1,Fortran或匯編語言書寫,那時是系統程序設計語言。在二十世紀八十年代時Unix機器上,c被用于系統編程而sh,csh等殼編程被用于腳本。在二十世紀九十年代的PC時代里,c和c++被用于系統編程e而Visual Basic用于腳本。在現在已基本成形的網絡時代中,Java被用于系統編程而像JavaScript , Perl和Tcl等語言被用于腳本。

      腳本和系統編程是共生的,共同使用,他們能產生格外強大的編程環境:系統程序設計語言用于產生令人興奮的組件,然后用腳本語言把他們組裝起來。例如,Visual Basic的主要吸引力是系統編程者可以用c編寫ActiveX組件,而不太老練的編程者可以在Visual Basic應用中使用這些組件。在Unix下編寫用于喚醒用c編寫的應用程序的殼腳本很容易。Tcl普及的一個原因是可以編寫執行新命令的c代碼來擴展該語言的能力。

    5.腳本呈上升趨勢
      腳本語言已經存在了很長時間,但最近幾年幾個因素的綜合結果使它的重要性提高了。最重要的因素是應用程序綜合向膠著應用程序發展的變換。這種變換的三個實例是圖形用戶界面,因特網和組件框架。

      圖形用戶界面出現于二十世紀八十年代早期,并在二十世紀八十年代晚期得以普及。在許多編程項目中圖形用戶界面占了一半甚至更多的比重。圖形用戶界面基于膠著應用:他的目標不是創建新的功能,而是把圖形控制集合和應用程序內部函數聯系起來。我不擔心任何快速發展的環境因為圖形用戶界面基于系統程序設計語言,不論是Windows環境,Macintosh Toolbox或Unix Mctif,圖形用戶界面基于c或c++等已被證明難以掌握,使用不靈活,生成結果不靈活的語言。一些這樣的系統有很好的圖形工具來設計屏幕輸出并隱藏基本語言,而一旦設計者不得不編寫代碼時一切變得困難起來,像為接口元素提供行為。所有好的快速開發圖形用戶界面環境都基于腳本語言:Visual Basic,Hyperlard和Tcl/tk,隨著圖形用戶界面的普及,腳本語言也越來越流行。

      因特網的增長也使腳本語言變得大眾化。因特網只是一種膠著工具,它不創建任何新的計算結果或數據;它只是簡單的把大量已經存在的事物聯系起來。因特網編程工作的完美工作之一是讓所有連接的組件在一起工作,像腳本語言。例如:Perl 因編寫CGI腳本而流行,JavaScript因編寫網頁而流行。

      基于腳本的第三個例子是組件框架,像ActiveX,OpenDoc和JavaBeans。雖然系統程序設計語言可以很好的創建組件,但腳本更適合組裝組件到應用程序中。沒有一個好的腳本語言來操縱組件,組件框架的大部分功能就都沒有了。這可以部分解釋為什么組件框架在個人電腦上(Visual Basic提供了方便的腳本工具)比在像Unix/CORBA等組件框架中不包含腳本的平臺上更成功.

      腳本語言繼續普及的另一個原因是腳本技術的提高,F代腳本語言像Tcl和Perl離早期腳本語言像JCL的公開宣布已經很遠。例如,JCL不提供基本反復而早期Unix外殼不提供過程,即使在今天,腳本技術仍然相對不成熟。例如,Visual Basic不是真正的腳本語言:它最初執行像一個簡單的系統程序設計語言,然后修改使之更適合腳本。以后的腳本語言將比現在使用的更好。

        腳本技術得益于計算機硬件的加速發展。過去常常用系統程序設計語言在復雜的應用程序中獲得可接受的執行。某些情況下甚至系統程序設計語言也不夠有效,因此不得不用匯編編寫應用程序。然而,今天的機器比1980年的快100-500倍,并且仍在繼續以每18個月翻一番的速度增長。今天,許多應用程序可以用解釋后的程序執行,并且仍然有出色的執行。例如,Tcl腳本可以操縱幾千個對象同時提供好的相互響應。由于計算機速度的不斷提高,腳本將對越來越大的應用程序產生吸引力。

      腳本語言應用的不斷增長最終導致編程群體的改變.二十年前大多數編程者是大型項目的熟練的編程人員.那個時代的編程人員需要花幾個月的時間掌握一門語言和它的編程環境,系統程序設計語言就是為這些人設計的.然而,自從個人電腦出現以后,越來越多的非專業編程者加入到編程者的行列.對這些人來說,編程不是他們的主要工作,而只是他們偶爾用來幫助他們工作的工具.偶然編程的例子是簡單的數據庫查詢或者是巨大的擴展片.偶然編程者不希望花幾個月的時間學習系統程序設計語言但他們可以花幾個小時的時間學到足夠的腳本語言知識來寫出有用的代碼.由于腳本語言由簡單的句法并且省略了對象線程等復雜的特性,因而它比系統程序設計語言要容易學.例如,比較Visual Basic和Visual C++,很少有偶爾編程者會選擇Visual C++,而大部分會用Visual Basic建立有用的應用程序.

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    32/3<123>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>