人人都是程序員

[轉]人人都是程序員—自動編程軟件在德國浮出水面

2006-12-19閱讀4413 評論1

CT公司對外公布最新研發成果

   來自美國芝加哥的消息,一家名為CT(Care Technologies)的軟件公司向外界公布了其最新的研發成果——一款聲稱可以把應用軟件開發速度提高四十七倍并可在某種程度上代替程序員的自動編程軟件。據了解,這款軟件被命名為OlivaNova。

   為了證實這款軟件的功能,Care Technologies公司(以下簡稱CT)還特地邀請了很多對此感興趣的公司去其位于德國慕尼黑的一個工作室做了為期兩天的訪問。在該工作室,參觀者 們親自試用了一些由OlivaNova“編”出來的軟件,有一個商店管理系統、一個效用管理軟件和一個高爾夫俱樂部管理系統。但由于時間的限制,他們并沒 能對這些軟件的性能進行具體的評估。

   看到這則新聞,相信所有的程序員包括比爾·蓋茨都會驚出一身冷汗。因為人人都可以用OlivaNova自動編制出需要的軟件,人人都是程序員,蓋茨們就要 丟掉手中的金飯碗,怎能不急呢?但在打倒比爾之前,還是有必要了解一下這個所謂的自動編程到底是個什么東西?是不是真的如此神奇?

   自動編程初露端倪

   我們都知道,在各種集成開發環境中,向導(Wizard)可以幫助人們建立多種典型的應用程序。不過這還不能稱作自動編程,因為通過向導等建立的程序必須在人工修改后才可正常使用,向導過程中也需要給出各種參數,毫無智能可言。

   因此各種組織和公司都致力于在自動編程方面取得進展,如對象管理組織(OMG)在UML 2級的基礎上①提出了MDA(Module Driven Architechture)的概念,目標就是要實現從UML企業化模型到最終代碼的自動化生成。這類典型的軟件包括IBM Rational Rose以及一系列Rational軟件。

   而上面提到的OlivaNova軟件,它并沒有采用UML的MDA能力,而是使用了自己編寫的模型執行系統。使用OlivaNova軟件進行自動編程時, 需要先使用OASIS模型語言建立軟件架構,然后OlivaNova會啟動內置的轉換引擎選擇合適的程序開發語言輸出程序。其整體思路與MDA并無多大差 異,但應用卻要廣泛許多。

   目前OlivaNova支持的開發平臺有Windows和幾乎所有的Unix/Linux,并可自動生成VB 6.0、JAVA/EJB、JSP、Cold Fusion、。NET程序代碼,以用來開發Web、客戶端/服務器、Web Serivce、Windows Service等程序。

   OlivaNova擴展了自動編程應用的領域,可謂領先于IBM等大公司,著實火了一把,但這種自動編程真的能夠讓人人都編制出自己需要的程序嗎?我們先來看看編程語言的發展歷史——

   程序設計語言發展史

   當計算機在上世紀四十年代剛剛問世的時候,編程可謂是痛苦的工作。當時的計算機,并沒有鍵盤等輸入設備,人們只能使用笨重的繼電器、開關去操作龐大的“巨 型機”。所有的程序都使用機器語言以二進制形式(全都是0、1的組合)書寫,再用專門的像老式打字機一樣的穿孔機把源程序敲到到一條長長的黑紙帶上。然后 操作員拿著長長的紙帶進入酷似外科手術室的機房,進行期待已久的計算。若是程序出現錯誤,還需要重新打孔。

   1949年,匯編語言被提出,它大大提高了編程的效率,但仍不夠直觀簡便。1953年12月,IBM公司程序工程師J. Backus開始設計一種用于科學計算的“公式翻譯語言”(FORmula TRANslator)。他的小組于1954年完成了第一個程序設計高級語言——FORTRAN。自此以后,各種高級程序設計語言如雨后春筍般涌現出來, COBOL、ALGOL、BASIC、PASCAL、C/C++……令人眼花繚亂。

   近年來,隨著面向對象程序設計和網絡技術的興起,一批新的程序設計語言開始流行,如Sun的Java、微軟的C#語言和。Net平臺、網頁編程流行的PHP、ASP、通用的XML等等。

   但再怎么說程序開發語言也只是讓人們越來越易讀懂程序,在軟件日益龐大的今天,動輒幾萬行的源碼全靠手工編寫,非把人累趴下,因此各種各樣的開發工具就成為編程的必需品——

   開發工具助力程序設計

   開始,人們使用編譯器或解釋器內置的查錯功能自動檢查程序源碼中的錯誤,在代碼不多的情況下,也足夠程序員使用。而隨著代碼的增多,單純在編譯時檢查錯誤 遠遠不能滿足需要,因此誕生了一些具有語法高亮顯示、規范代碼功能的編輯器,它們都能夠在書寫代碼時有所提示,將錯誤扼殺于萌芽狀態。這方面著名的有 Emacs、vi,還有UltraEdit、EmEditor等,目前還被廣泛使用。

   上述編譯器以及編輯器都沒能解決代碼基本靠手寫的問題,因此集成、可視化的開發環境被提上日程。集成開發環境減少了開發程序所付出的時間、金錢以及腦細 胞,只要輕敲幾個鍵,一整段代碼就可以使用了。在這方面,典型的如Macromedia的Dreamweaver和Microsoft的Visual Studio .Net。

   Dreamweaver可以根據用戶的排版方式自動生成HTML代碼,最新的Dreamweaver MX2004更是將主流網頁服務器腳本和數據庫開發結合在一起,這樣普通人也可通過它設計出個性的站點。Visual Studio .Net則更為強大,其擁有的眾多特性,如注解報告、命令窗口、部署工具、文檔導航等,使程序員開發和維護一個項目更加容易。

   各種編程工具雖然極大地解放了程序員的雙手,但重要的代碼組合還是需要手工完成。人們夢想著有一天能夠不再揮動雙手而自由翱翔在程序的海洋里,而這一夢想也正在逐步變為現實——

   自動編碼初級階段

   不管是OlivaNova還是IBM的Rational,在生成代碼之前都需要用特定的語言建立一個軟件模型。因此,與其說它們是自動編程工具,還不如說是輔助程序員開發的快速編碼工具,并且僅僅處于“自動編碼”的初級階段。

   為什么這樣說呢?這是由于用此類自動編碼軟件所生成的代碼很大程度上只是一些原型,往往可控性較差,真正有用、實用的東西還是需要人工實現。CT宣稱OlivaNova所寫出來的代碼的錯誤只有手工編程的7%,雖然很少,但還是會有錯誤。

   既然這樣,我們使用OlivaNova打倒比爾的夢想是不能實現了。但從中可以看到,未來單純的編碼工作將逐漸消失,對軟件工程的掌握會成為程序員這一行當的必需,否則真有丟掉飯碗的危險。

   (上海拿破盾)(jy23y01)

   編者按:作為普通人的我們也不必灰心,因為人們對自動編程的研究是無止境的,當人工智能取得長足發展,各種軟件模型能夠直接由具有人工智能的計算機建立之 時,自動編程就真正實現了。那時的我們,只需告訴計算機軟件要實現的功能,就能夠自動生成相應的代碼,比爾·蓋茨們再也不能從我們手中掠走分毫血汗 錢?.....

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,786評論 6 534
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,656評論 3 419
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,697評論 0 379
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,098評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,855評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,254評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,322評論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,473評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,014評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,833評論 3 355
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,016評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,568評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,273評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,680評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,946評論 1 288
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,730評論 3 393
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,006評論 2 374

推薦閱讀更多精彩內容