轉自http://blog.csdn.net/vagrxie/archive/2010/03/27/5422692.aspx
其實很久就看到Bruce Eckel的文章了《Programming in the Mid-Future》,原文發表於2010-3-10日.作爲一個經常被自己無聊的求知慾所控制的程序員,我利用工作或者業餘時間學習了N多種語言,也常常在想,到底怎麼樣的語言纔是我們需要的,真的想要的,是能讓(絕)大部分程序員所能接受的,公認的好語言,而不是一提到某某語言,就必定引發一場無休止的口水戰呢?
Bruce Eckel提出了一些他的看法,雖然他不僅講述了關於程序語言的內容,而是涵蓋了程序設計的各個方面,但是,很顯然,程序設計再多方面,主要的內容還是在程序設計語言上面. 在這裏,大牛面前,我發表太多言論就類似班門弄斧了,這裏先摘錄一下原文的小標題及核心內容.
在Bruce Eckel心中,不遠的將來 程序語言是這樣的:
1.極端動態(Extremely dynamic)
有越來越多的問題是靜態語言解決不了的,所以,程序語言將向越來越動態的方向發展.
2.極其簡單的並行(Stupidly parallel objects)
對象將管理他們自己的進程,就算不知道啥叫並行編程,也能無誤的使用.
3.無盤持久化環境(Persistent diskless environment)
你將創建對象並隨時使用它們,而不用關心它們在哪裏,對象將在必要的時候包含必要的數據.
4.本地開發和雲部署開發一致(Transparency between local and cloud)
程序員將不用考慮這些問題,它們將自動化.
將來的測試要更快,更周密,更自動化,爲測試所寫的代碼也要少的多.
6.代碼安全測試(Security via suspicious systems)
將來的測試不僅包含現在普通意義上的測試,邏輯測試,安全測試也將存在.
7.以查詢爲基礎的數據模型(Query-based data)
將來查詢數據庫就像使用Google一樣簡單............
8.更大尺度上的複用(Reusability on a vast scale)
未來的對象交互會以'組件'爲基礎,組件間的接口將是通用的,向一個系統中添加一個新的組件將非常容易.
9.簡單的系統集成(Effortless System Integration)
你可以自由選擇單獨使用一個程序/組件,或使用由這些程序構成的更大的系統.
用戶界面的元素將分類存儲,並且獲取和顯示數據,大部分時間,我們選擇並粘貼它們到系統中就能添加某個功能.
11.簡單的效率伸縮性(Effortlessly Scalable)
一個程序在無論在多大規模下使用都不需要進行更改.
12.內建的可進化性(Built-in Evolvability)
無論向多大規模的程序中添加新特性,都是一樣的簡單.