軟件測試之下一代編程范型主要原則

發表于:2009-09-02來源:作者:點擊數: 標簽:軟件測試范型原則
軟件測試之下一代編程范型主要原則 軟件測試工具 關鍵字:下一代編程范型主要原則 LOP:TheNextProgrammingParadig LanguageOrientedProgramming:TheNextProgrammingParadigm SergeyDmitriev,JetBrains 現在是軟件 開發 中開始下一次技術革命的時候了,而這次
軟件測試之下一代編程范型主要原則  軟件測試工具

關鍵字:下一代編程范型主要原則 LOP : The Next Programming Paradig
Language Oriented Programming : The Next Programming Paradigm 
Sergey Dmitriev, JetBrains 

現在是軟件開發中開始下一次技術革命的時候了,而這次革命的輪廓正變得越來越清晰。下一代編程范型也在接近我們,但仍然沒有完全成形--不同的部分有不同的名稱:Intentional programming, MDA, generative programming, 等等;我建議把把所有這些新方法歸并為一個名字: ‘language-oriented programming’(面向語言的編程), 而本文將闡述這種新的編程范型的主要原則

今天主流的編程方法有一些內在的假定像脖子上的繩索一樣桎梏著我們,盡管大部分程序員還沒有意識到它;即使算上在編程領域取得的所有進步,我們也仍然處于石器時代;我們有我們信賴的石斧(面向對象編程),能夠滿足我們的需要,但是當用它來對付最困難的問題時,它會裂成碎屑;為了超越石器前進,我們必須馴服烈火,只有這樣,我們才能鑄造出新的工具,激發一個創作的新時代,和新技術的爆發

我將討論編程的局限,它強迫程序員像計算機一樣思考,而不是令計算機像程序員一樣思考;這是嚴重的,根深蒂固的局限,需要花費巨大的努力去克服它;當我說這將是編程中下一個大的范型轉換時我并沒有自命不凡;我們需要徹底重新定義我們編寫程序的方法

本文中,我表述了我的觀點和我當前在Language Oriented Programming (LOP)上的工作;首先我將展示目前主流編程方法的錯誤,然后我會使用示例來解釋LOP的概念,它們基于我已有的一個LOP的實現:the Meta Programming System (MPS). 本文有意只是給你一個對LOP的驚鴻一瞥,目的是激發你對這個思想的興趣,并希望能夠得到反饋和討論

Part I. LANGUAGE ORIENTED PROGRAMMING OVERVIEW 
Language Oriented Programming and the Meta Programming System 
理想的,做一個程序員意味著我可以對計算機做任何事情,我有完全的自由,完全的控制;但實際上,今天的程序員只有非常受限的自由;當然,我確實可以在計算機上做任何事情,但其中一些事情花費了我許多年的努力,而它們實際上只需要少的多的時間;一定有什么事情不對勁

程序員被限制是因為他們深深依賴于那些他們不能輕易改變的編程基礎設施:編程語言和開發環境;如果我需要一些語言的擴展,我只能等待語言的設計者去更新它;如果我需要我的IDE有一些額外的強大功能,我只能等待供應商來添加新特性;就是這些依賴限制了我完全的自由;當然,我可以寫我自己的編譯器和IDE,實際上,這也是我啟動了IntelliJ IDEA的原因,因為我厭倦了依賴現有的弱弱的Java IDE;但是,這會花費大量的時間和努力,并且顯而易見,對大部分程序員來說是不可行的;理論上的自由和實際的自由之間存在巨大的差異;下文中當我談到自由時,我指的是實際的自由

獲得自由的途徑是減少我們的依賴層次;例如,Java的一個主要目標是減少對操作系統的依賴,給開發者在不同操作系統上部署的自由;因此,為了在語言和環境之上獲得自由,我們需要減少對它們的依賴

為什么這是一個問題呢?任何general-purpose的語言,像Java和C++,給了我們用計算機做任何事情的能力;這是事實,至少理論上是這樣,但是,general-purpose的語言趨向于如同后面我將講到的般生產效率低下;作為一種替代,我們可以使用domain-specific languages(DSLs,aka ‘little languages’),它們被精心設計成在特定問題域具有高度生產率,比如用SQL編寫數據庫查詢;DSLs的強大之處,領域相關,也正是它們的弱處,因為任何真實世界中的程序都會包括許多不同的領域

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97