當前位置:首頁 » 編程軟體 » 編程的歷史

編程的歷史

發布時間: 2023-03-19 11:51:13

A. 編程語言發展史

VB編程語言歷史=========
Visual Basic從1991年誕生以來,現在已經13年了。BASIC是微軟的起家產品,微軟當然不忘了這位功臣。隨著每一次微軟技術的浪潮,Visual Basic都會隨之獲得新生。可以預見,將來無論微軟又發明了什麼技術或平台,Visual Basic一定會首先以新的姿態登上去的。如果你想緊跟微軟,永遠在最新的技術上最快速地開發,你就應該選擇Visual Basic。

1991-西雅圖夜空的雷電
隨著Windows 3.0的推出,越來越多的開發商對這個圖形界面的操作系統產生了興趣,大量的Windows應用程序開始涌現。但是,Windows程序的開發相對於傳統的DOS有很大的不同,開發者必須將很多精力放在開發GUI上,這讓很多希望學習Windows開發的人員卻步。1991年,微軟公司展示了一個叫 Thunder的產品,所有的開發者都驚呆了,它竟然可以用滑鼠「畫」出所需的用戶界面,然後用簡單的BASIc語言編寫業務邏輯,就生成一個完整的應用程序。這種全新的「Visual」的開發就像雷電(Thunder)一樣,給Windows開發人員開辟了新的天地。這個產品最終被定名為Visual Basic,採用事件驅動,Quick BASIC的語法和可視化的IDE。Visual Basic 1.0帶來的最新的開發體驗就是事件驅動,它不同於傳統的過程式開發。同時,VBX控制項讓可視化組件的概念進入Visual Basic。Visual Basic 1.0是革命性的BASIC,它的誕生也是VB史上的一段佳話。

Visual Basic 1.0

1992-漸入佳境的Visual Basic
由於Windows 3.1的推出,Windows已經充分獲得了用戶的認可,Windows開發也進入一個新的時代。Visual Basic 1.0的功能過於簡單,相對於Windows 3.1的強大功能沒有發揮出來。所以,微軟在1992年推出了新版本Visual Basic 2.0。這個版本最大的改進就是加入了對象型變數,比如

Dim b As CommandButton

Dim c As Control

而且有了最原始的「繼承」概念,對象型變數分為一般類型(Control和Form)和專有類型(CommandButton和Form1等),一般類型的變數可以引用專有類型的實例,甚至通過後期綁定訪問專有類型的屬性和方法。還可以通過TypeOf…Is運算符獲取對象實例的運行時類型信息(這個功能就是當今C#的is運算符或Java的instanceof運算符)。除了對語言的改進和擴充,Visual Basic 2.0對VBX有了很好的支持,許多第三方控制項涌現出來,極大地豐富了Visual Basic的功能。微軟還為Visual Basic 2.0增加了OLE和簡單的數據訪問功能。

Visual Basic 2.0標准版

Visual Basic 2.0專業版

1993-資料庫組件新添力量
Visual Basic 2.0推出沒幾個月,微軟就發布了新版本的Visual Basic 3.0,可以看出VB這時候旺盛的生命力。乍一看,Visual Basic 3.0的界面沒有太大的變化,但其實這個版本是非常及時的。它增加了最新的ODBC2.0的支持,Jet數據引擎的支持和新版本OLE的支持。最吸引人的地方是它對資料庫的支持大大增強了,Grid控制項和數據控制項能夠創建出色的數據窗口應用程序,而Jet引擎讓Visual Basic能對最新的Access資料庫快速地訪問。Visual Basic 3.0還增加了許多新的金融函數。此外還增加了相當多的專業級控制項,可以開發出相當水平的Windows應用程序。Visual Basic 3.0是98年以前中國最流行的Visual Basic版本,因為它開發出來的可執行文件非常小,通常能用一張軟盤裝下。不過,Visual Basic採用虛擬機運行P代碼的做法也讓很多開發者不滿,他們認為這樣程序運行的效率很低,這時候Visual Basic的競爭者Delphi也誕生了。

Visual Basic 3.0標准版

Visual Basic 3.0特別版

1995-第二次革命性變化,向COM進軍。
從1993年到1995年年中,Visual Basic一直沒有新的動靜,焦急的開發者都想一窺這個神秘的新版本到底發生了什麼變化。Visual Basic 4.0的BETA最後終於和大家見面了。這個版本包含了16位和32位兩個版本,16位的版本就像是Visual Basic 3.0的升級版,而32位版則是一場新的革命。首先,人們發現VBX控制項不見了,全部換成了OCX控制項,這個OCX可能是指OLE Custom Controls,這個OLE已經不是傳統的OLE了,用現在的話說,它就是COM控制項。第二個最大變化是Visual Basic 4.0所用的語言換成了Visual Basic For Application,這就和Office 95所採用的宏語言統一起來,這個新語言有很多亮點:

1、? 加入了「類模塊」。這是面向對象最重要的封裝性的基礎。

2、? 加入了屬性過程,加上函數過程,子程序過程,VB已經有組件開發所需的封裝性特徵。

3、? 加入了Byte類型、Boolean類型和Object類型。這大大完善了VB的類型系統。

4、? For Each語句和Collection對象。For Each語句給遍歷集合類型提供了極大的方便,現在可以在動態增長的Collection上使用For Each,而不用擔心集合內容的總數或煩人的下標問題。

這個版本的Visual Basic還能夠開發DLL工程,其實就是COM的DLL,可以將書寫好的類用這種方式和其他語言共享。

總之,這個4.0的版本為Visual Basic成為一種COM語言奠定了基礎。用Visual Basic 4.0開發基於COM的DLL比任何一種開發工具都方便。但是,Visual Basic 4.0的性能問題變得更加嚴重了,P-代碼的組件成為Visual Basic 4.0嚴重的性能瓶頸,而且巨大的運行庫也讓用戶感到不滿。Visual Basic 4.0對以前版本的支持也不好,使用了大量VBX的項目很難移植到Visual Basic 4.0中。因此,Visual Basic 4.0在中國的普及程度非常低。

Visual Basic 4.0

1997-Visual Basic的豐收年
1997年,微軟推出了Visual Basic 5.0,這個版本的重要性幾乎和4.0一樣高。COM(這時候叫ActiveX)已經相當成熟,Visual Basic 5.0當然對它提供了最強的支持。不過,國內還沒有意識到COM的重要性前主要對這個版本另一個最大的亮點十分關註:本地代碼編譯器。Visual Basic 5.0終於在用戶的呼聲中加入了一個本地代碼編譯器,它可以讓應用程序的效率大大提升。除了這個大家都知道的改進以外,Visual Basic 5.0對Visual Basic For Application語言有重大的完善和豐富:

5、? 事件。Visual Basic 5.0終於允許用戶自己創建事件,而且這事件的語法相當強健和完善,這在一種不支持函數回調的語言中是很難得的。現在,VB擁有屬性、方法和事件的完整封裝性。

6、? 介面。這是VB實現多態性的基礎。同時為編寫COM組件提供了更多方便。

7、? 枚舉。在Visual Basic 5.0中枚舉作為Long整型的子類型出現,用枚舉可以對常量進行完善的封裝。

8、? 類模塊的改進。通過類模塊的屬性可以指定類模塊具有多種指定的行為,如私有構造函數等,可以通過這個功能創建符合Singleton和Monostate模式的設計。

9、? Debug.Assert。雖然這個斷言系統有點雞肋,但是總算是給調試帶來了方便。

10、 Visual Basic 5.0支持創建自己的集合類。可以創建用於For Each語句的集合類型。

11、新的數據類型Decimal,可以精確地處理有效數位較多的計算。

Visual Basic 5.0的IDE支持「智能感知」,這是一項非常方便開發者的功能,可以不必記住很長的成員名稱和關鍵字,只要按「.」,想要的東西統統彈出來。

Visual Basic 5.0還支持開發自己的ActiveX 控制項、進程內的COM DLL組件、進程外的COM EXE組件以及在瀏覽器中運行的ActiveX文檔。這極大豐富了Visual Basic的開發能力,在Internet開發上,Visual Basic 5.0也能有所建樹。

Visual Basic 5.0學習版——我的第一份正版VB

1998-企業真正高效的源泉
Visual Basic 6.0作為Visual Studio 6.0的一員發布,證明微軟正在改變Visual Basic的產品定位,他想讓Visual Basic成為企業級快速開發的利器。Visual Basic 6.0在數據訪問方面有了很大的改進,新的ADO組件讓對大量數據快速訪問成為可能。數據環境和新的報表功能也讓數據開發有了全新的體驗。Visual Basic 藉助COM/COM+強大的功能,可以開發具有N層結構的分布式應用程序。同時,Visual Basic還可以在IIS上開發性能超群的Web應用程序。Visual Basic 6.0在語言方面和IDE方面的改進都不大,但是許多新增的組件成為Visual Basic開發人員手中的利器,如File System Object等。新的字元串函數Split和Replace等也給Visual Basic的程序員帶來很大方便。

總之Visual Basic 6.0已經是非常成熟穩定的開發系統,能讓企業快速建立多層的系統以及Web應用程序,成為當前Windows上最流行的Visual Basic版本。

Visual Basic 6.0

2002-第三次革命性變化,向.NET進軍
從1998年發布到2002年正式推出Visual Basic. NET簡直吊足了開發者的胃口。從2000年就開始傳言的具有繼承、Try…Catch語句等新功能的全新VB7.0一直沒有露面。直到2001 年,Visual Studio.NET的第一個BETA版問世的時候,所有人都呆了——這是Visual Basic嗎?And語句變成了BitAnd,數組只能從0下標開始,而且連Dim語句的意義都變了,幾乎所有的窗體控制項都變了,Long變成了 Integer而Integer變成了Short,Variant不見了,Static不能用了……簡直是翻天覆地,人們已經無暇關注這個版本有什麼改進,轉而擔心我怎麼才能接受這個本本了。其實Visual Basic. NET完全是為了.NET Framework這一全新的平台而設計的,Visual Basic. NET的設計者一開始沒有掌握好新平台和舊語言的平衡。到了BETA2中,很多東西回歸了6.0,如BitAnd又變回了And,數組的定義語句也變回了原有的意義,Static也回到了Visual Basic中。但是BETA1驚人的變化讓所有的VB開發者怕了,他們覺得這種語言被改的千瘡百孔,有些人乾脆轉去研究傳說中的新語言C#。但是 Visual Basic. NET渡過幾個BETA版本之後還是找到了正確的定位。Visual Basic. NET有對CLR最完善的支持,同時盡量保留著BASIC易懂的語法風格和易用性。這個版本新增加的功能已經數不清,最重要的幾個是:

1、? 繼承。至此,Visual Basic完成了向面向對象轉變的道路。

2、? 共享成員。

3、? Try…Catch結構化異常處理。

4、? Delegate和Interface。

5、? 名稱空間。

6、? 對自由線程的支持。

特別的是,Visual Basic. NET大大減少了Visual Basic語言的關鍵字,如GoSub、PSet等等。原先的Visual Basic有多達120個關鍵字,這給寫程序帶來了很大的不便,現在經過精簡,Visual Basic脫下了這個沉重的包袱。

Visual Basic. NET現在是一門現代的、強壯的、面向對象的、簡單的可視化開發語言。強大的語言功能吸引了很多開發者。歷史是在不斷重演的,Visual Basic. NET如今的處境和Visual Basic 4.0很相似,由於兼容性變差,人氣也降低了。同時由於依附於.NET Framework,程序發布造成了一定的困難。現在國內使用Visual Basic. NET的人相對於Visual Basic 6.0來講顯得很少。但是憑借Visual Basic. NET強大的語言功能和MS的支持,Visual Basic. NET一定會顯出它的光輝來。

2003-穩中求變的新版本
Visual Basic. NET 2003是一個相當穩重的版本,改變很少,但對小處有很多改進。首先Visual Basic 6.0升級向導做了很大改進,這給從老版本痛苦升級的人帶來了更多一些的希望。其次在IDE方面,Visual Basic. NET 2003修正了許多錯誤,還讓事件處理恢復了6.0的開發體驗。語言方面只有兩項改進:

1、? 在For、For Each語句中聲明循環變數。

2、? 增加了數學移位運算符<<和>>。

在這個比較成熟穩定的新版本下,許多Visual Basic的愛好和開始重新了解Visual Basic. NET,社區裡面也漸漸熱鬧起來。但是,有些使用C#的開發者堅持認為Visual Basic. NET是垃圾,盡管Visual Basic. NET擁有比C#更多的功能和更好的IDE。這說明不了解Visual Basic. NET成為它普及的最大障礙。

2005-完美主義的Visual Basic,能否再現輝煌?
為了讓Visual Basic有最佳的開發體驗,Visual Basic 2005的設計者絞盡了腦汁。這次Visual Basic 2005光語言上的改進就足以讓Visual Basic的開發人員高興一陣子。大家可以去看看我那篇介紹Visual Basic 2005新增功能的貼子。挑重要的列在下邊:

1、? 泛型

2、? 運算符重載

3、? Partial Type

4、? 窗體的默認實例(讓你用VB6的語法使用窗體)

5、? 語法的多種改進

6、? My關鍵字

現在用Visual Basic 2005隻要一行代碼就可以讀寫注冊表、訪問文件、讀寫串口、獲取應用程序信息…… 用Visual Basic 2005完全可以稱作享受開發。而泛型、運算符重載等功能又可以讓Visual Basic的開發人員深入.NET Framework的全部功能,開發出最優秀的應用程序。

Visual Basic 2005預示著Visual Basic光明的前景,所有Visual Basic的愛好者和使用者都和我一起等待這個新版本吧。
C++編程語言歷史========
C++是從C語言發展而來的,而C語言的歷史可以追溯到1969年。 在1969年,美國貝爾實驗室的Ken Thompson為DEC PDP-7計算機設計了一個操作系統軟體,這就是最早的UNIX。接著,他又根據劍橋大學的Martin Richards設計的BCPL語言為UNIX設計了一種便於編寫系統軟體的語言,命名為B。B語言是一種無類型的語言,直接對機器字操作,這一點和後來的C語言有很大不同。作為系統軟體編程語言的第一個應用,Ken Thompson使用B語言重寫了其自身的解釋程序。 1972—1973年間,同在貝爾實驗室的Denis Ritchie改造了B語言,為其添加了數據類型的概念,並將原來的解釋程序改寫為可以在直接生成機器代碼的編譯程序,然後將其命名為C。1973 年,Ken Thompson小組在PDP-11機上用C重新改寫了UNIX的內核。與此同時,C語言的編譯程序也被移植到IBM 360/370、Honeywell 11以時VAX-11/780等多種計算機上,迅速成為應用最廣泛的系統程序設計語言。然而,C語言也存在一些缺陷,例如類型檢查機制相對較弱、缺少支持代碼重用的語言結構等,造成用C語言開發大程序比較困難。為了克服C語言存在的缺點,貝樂實驗室的Bjarne Stroustrup博士及其同事開始對C語言進行改進和擴充,將「類」的概念引入了C語言,構成了最早的C++語言(1983)。後來,Stroustrup和他的同事們又為C++引進了運算符重載、引用、虛函數等許多特性,並使之更加精煉,於1989後推出了AT&T C++ 2.0版。隨後美國國家標准化協會ANSI(American National Standard Instiute)和國際標准化組織ISO(International Standards Organization)一起進行了標准化工作,並於1998年正式發布了C++語言的國際標准ISO/IEC:98-14882。各軟體商推出的 C++編譯器都支持該標准,並有不同程序的拓展。 C++支持面向對象的程序設計方法,特別適合於中型和大型的軟體開發項目,從開發時間、費用到軟體的重用性、可擴充性、可維護性和可靠性等方面,C++均具有很大的優越性。同時,C++又是C語言的一個超集,這就使得許多C代碼不經修改就可被C++編譯通過。
JAVA編程語言歷史=========

Java,是一種可以編寫跨平台應用軟體的面向對象的程序設計語言,由Sun(太陽微電子,Sun Microsystems)公司的James Gosling等人於1990年代初開發。它最初被命名為Oak,作為一種小家用電器的編程語言,來解決諸如電視機、電話、鬧鍾、烤麵包機等家用電器的控制和通訊問題。由於這些智能化家電的市場需求沒有預期的高,Sun放棄了該項計劃。就在Oak幾近夭折之時,隨著Internet的發展,Sun看到了 Oak在計算機網路上的廣闊應用前景,於是改造了Oak,在1995年5月以"Java"的名稱正式發布了。Java伴隨著Internet的迅猛發展而發展,逐漸成為重要的Internet編程語言。

Java編程語言的風格十分接近C++語言。Java繼承了C++語言面向對象技術的核心,舍棄了C++語言中的指針(以引用取代)、運算符重載、多重繼承(以介面取代)等成分,增加了自動垃圾收集功能用於回收不再被引用的對象所佔據的內存空間。在J2SE1.5版本中Java又引入了泛型編程、類型安全的枚舉、不定長參數和自動裝/拆箱等語言特性。

Java不同於一般的編譯執行計算機語言和解釋執行計算機語言。它首先將源代碼編譯成位元組碼,然後依賴各種不同平台上的虛擬機來解釋執行位元組碼,從而實現了「一次編譯、到處執行」的跨平台特性。不過,這同時也在一定程度上降低了Java程序的運行效率。

Sun公司對Java編程語言的解釋是:Java編程語言是個簡單、面向對象、分布式、解釋性、健壯、安全與系統無關、可移植、高性能、多線程和動態的語言。

Java平台是基於Java語言的平台。這樣的平台目前非常流行,因此微軟公司推出了與之競爭的.NET平台以及模仿Java的C#語言。

目前Java提供以下三個版本:

J2ME(Java 2 Platform, Micro Edition):微型版的Java平台
J2SE(Java 2 Platform, Standard Edition):標准版的Java平台
J2EE(Java 2 Platform, Enterprise Edition):企業版的Java平台

Java的歷史:

1995年5月23日,Java語言誕生
1996年1月,第一個JDK-JDK1.0誕生
1996年4月,10個最主要的操作系統供應商申明將在其產品中嵌入JAVA技術
1996年9月,約8.3萬個網頁應用了JAVA技術來製作
1997年2月18日,JDK1.1發布
1997年4月2日,JavaOne會議召開,參與者逾一萬人,創當時全球同類會議規模之紀錄
1997年9月,JavaDeveloperConnection社區成員超過十萬
1998年2月,JDK1.1被下載超過2,000,000次
1998年12月8日,JAVA2企業平台J2EE發布
1999年6月,SUN公司發布Java的三個版本:標准版、企業版和微型版(J2SE、J2EE、J2ME)
2000年5月8日,JDK1.3發布
2000年5月29日,JDK1.4發布
2001年6月5日,NOKIA宣布,到2003年將出售1億部支持Java的手機
2001年9月24日,J2EE1.3發布
2002年2月26日,J2SE1.4發布,自此Java的計算能力有了大幅提升
2004年9月30日18:00PM,J2SE1.5發布,是Java語言的發展史上的又一里程碑事件。為了表示這個版本的重要性,J2SE1.5更名為J2SE5.0

B. 編程語言是誰發明的

多年前,美國軍方要給一種計算機語言取個名字,大家提了許多動聽的名字都覺的不太中意,後來有人提議,將這種計算機語言命名為:Ada。沒有人提出異議。為什麼大家都同意用這個名字呢?這還得從100多年前說起。Ada是一名充滿幻想的女孩1815年12月10日,英國。一個女孩降生了,她的母親,一個有著傑出數學天賦的女人,人稱「平行四邊形公主」;父親,一個狂熱的充滿幻想的詩人
--拜倫。可是女孩從生下來就從沒見過父親。這位狂熱的、浪漫的詩人結婚不久便離開了英國,再也沒有回來。母親給她起了個動聽的名字:阿達(Ada)。那
位詩人盡管離開了英國,當聽說自己有了一個女兒時非常的高興,可也非常的懊悔,但他始終沒有回去看女兒一眼,只能用詩來表達自己對女兒的思念和歉疚,他的
一首詩的名字就叫《阿達》。狂熱的詩人36歲死於希臘,臨死前唯一牽掛的就是阿達。而此時的阿達,跟隨著母親生活,阿達不僅繼承了母親的數學天賦,也秉承了父親的性格,小小年紀也充滿幻想,幻想成為一個大科學家、大詩人。母親怕她走父親的老路,竭力想改變她對詩歌的熱愛,但無能為力,阿達曾對母親說:「沒有詩,要數學干什麼?」當時的英國,科學風氣盛行,包括許多婦女都在雜志上發表文章探討數學等問題。阿達17歲那年,母親請了著名的數學家摩根做她的老師,摩根就是現代計算
機數學基礎布爾代數的創始人之一。在他的影響下,阿達的數學天賦得到了充分的展現。同時阿達還被介紹到當時著名的翻譯家——為劍橋大學工作的瑪麗·索菲利
那裡學習。瑪麗由衷地喜歡這個聰明而又刻苦,且充滿幻想的女孩,也非常地支持並鼓勵她在數學方面發展。此時的阿達對機械、建築也充滿興趣,暢游在科技王
國,就像少女在花園中徜徉,樂此不疲,流連忘返。她還同當時的一些著名科學家保持密切的聯系,如法拉第等。結識巴貝奇1834年11月,阿達在一次宴會上遇到了一位對其一生產生重要影響的人——查爾斯·巴貝奇。此時的巴貝奇正到處游說他的計算機設想。當時的人們很少
有人理會他,以為他是在「痴人說夢」。同樣,他也將自己的設想全盤托出,講給阿達聽。此時的阿達只有18歲,但她聽完他的設想並看了他的文稿後,徹底地領
會了他的設想,並深深地為之陶醉。憑著她深厚的科學功底和豐富的想像力,她認為這是一個偉大的設想,世界將因之而改變。面對今天的現實,我們不能不為阿達的洞察力所折服,她的這一預言可是在一個半世紀以前提出的啊!參與研製計算機共同的追求,使兩人成了忘年交,阿達的母親曾試圖阻止阿達與巴貝奇的交往,認為巴貝奇不過是個江湖騙子,不會給阿達好影響。這點阻力對於秉承父親性格的阿達,算不了什麼,她完全投入到了計算機的研製中去了,負責為巴貝奇設想中的計算機編寫軟體。1841年,巴貝奇在義大利都靈向人們詳細地介紹他的設想,希望能引起大家的重視,但無人喝彩。他用法語出版的論文也不受人歡迎,但阿達執意要將其翻
譯成英文。翻譯結束後阿達將文稿給巴貝奇看,巴貝奇發現:阿達不僅在論文中加入她特有的想像,而且補充了許多阿達獨到的見解。阿達特別強調存儲程序和數據
的重要性,而這與今天的計算機技術不謀而合,並且擬訂了一份設計圖,這份設計圖被公認為世界上第一個計算機程序。阿達在文中對計算機應用前景的展望,連巴
貝奇自己都從來沒有想到過。如:阿達認為,計算機應該發展成一個可用符號來表示任何事物的裝置,這不正是今天的編程語言嗎?她還預見到計算機可以用在紡織
機械上,用卡片存儲復雜的花樣、可以用來繪圖、演奏音樂。這些預言表明阿達是現代人工智慧技術的拓荒者。阿達對論文的修改,使巴貝奇深感驚奇和鼓舞,他對別人稱贊說:「阿達是個充滿想像力和洞察力的女孩」,「她是個數字女神」。她將詩歌的激情融入了論文之中。 經過阿達翻譯後的文稿其內容增加到原來的三倍,論文實際上成了兩人合作的產物,但謙遜的阿達在署名的時候,只將自己的名字簡單地署為:A.A.L。在後來的一系列論文中,阿達在計算機軟體領域做出了許多開創性的貢獻:如變數、遞歸、程序演算法的提出等。短暫的一生阿達後來與威廉伯爵結婚,婚後生有三個孩子,但為了研製計算機,她將孩子們都放到母親那裡扶養,這對於一個女性,在當時是不被人理解的,好在丈夫非常
支持她的研究工作,這使她深感欣慰。此時的巴貝奇已是一貧如洗,阿達也付出了許多。長期的研究耗費了大量的心血,身體狀況也一天不如一天,疾病時時糾纏著
她,但為了那個美麗的幻想成真,她夜以繼日地工作。她的座右銘是:工作是我的報酬。1852年,阿達因癌症去世,同她的父親一樣,年僅36歲,沒有等到計算機的誕生。如果她再多活一年,就會看到在瑞典,由喬治和愛德華根據巴貝奇的方案製造出的一台差分機,這不能不說是人類的一個遺憾:第一位軟體工程師,卻沒有看到自己的設想結出的果實。盡管限於當時的製造條件,巴貝奇最終也沒有造成理想中的計算機,但他們超前100多年的拓荒,對後來計算機技術的誕生和發展同樣產生了深遠的影響。當
我們津津樂道ENIAC——第一台數字電子計算機的時候,也不應該忘記人類這一智慧的火花,在這之前的100多年,已經由巴貝奇和阿達點燃了。阿達、巴貝奇兩人對計算機事業的貢獻就好像火對於人類。他們是鑽燧取火的人,是盜得火種的普羅米修斯。讓我們記住巴貝奇,也記住這位傑出的女性———阿達(Ada)。用她的名字給一種計算機語言命名,只能寄託我們對她的紀念和欽佩,卻遠遠不能表達出她為計算機技術作出的重要貢獻。

___________________________________________
這個只能抄一下了。

C. 編程語言的歷史

兩個都是英文版的。

編程語言和軟體歷史年表大全

Year - Languages, Operating Systems, Major Programs, Etc.
1945 EDVAC utilizes stored program concept

1945 Plankalkul (Konrad Zuse)
1949 Short Code (for BINAC) (John Mauchly)

1950 Intermediate Programming Language (Arthur W. Burks)
1951 Klamemerausdrucke (algebraic language and compilers)
1951 Formules (complete compiler) (Heinz Rutishauser)
1951 Find (for the Whirlwind) (Jack Gilmore)
1952 Autocode compiler (Alick E. Glennie)

1952 Short Code (for UNIVAC 1) (W.F. Schmidt, A.B. Tonik, J.R. Logan)
1952 Sort-Merge Generator (for UNIVAC 1) (Betty Holberton)
1952c COMPOOL (for SAGE) (MIT)

1952 Punchy (for TX-O) (Jack Gilmore)
1953 A-2 Compiler (for UNIVAC) (Grace Hopper)
1953 Algebraic interpreter (for Whirlwind, MIT) (J.H. Laning, N. Zierler)
1953 Speedcoding (for IBM 701) (John Backus)
1954 Operating System (for IBM 701, General Motors Research Laboratory)
1954 Autocode (for Manchester Mark 1) (R.A. Booker)

1954 PiPi-2 Prgrmg Program (compiler, USSR) (E.Z. Liumbimskii, S.S. Kamynin)
1954c Autocoder assembly language (for IBM 705)
1955 PiPi Programming Program (for BESM) (USSR)
1955 BACAIC (for IBM 701) (Mandalay Grems, R.E. Porter, Boeing Airplane Co.)
1955 MATH-MATIC mathematical programming language (for UNIVAC) (C. Katz)
1955 Kompiler 2 (for IBM 701) (A. Kenton Elsworth, Livermore Laboratory)
1956 Operating Sys. (for IBM 704) (General Motors; North American Aviation)

1956 ADES (U.S. Naval Observatory) (E.K.Blum)
1956 APT machine tool control (MIT) (Douglas Ross)
1956 Logic Theorist AI program (A. Newell & H. Simon, Carnegie Institute)
1956 IT (Internal Translator) (for IBM 650) (A. Perlis & J.W. Smith)

1956 Mark I report generator (for IBM 702) (General Electric-Hanford)
1956 FORTRAN (Formula Translation) (John Backus, IBM)
1957 Mark II Report generator (for IBM 702) (General Electric-Hanford)
1957 IPL-V (Information Processing Language V)
1957 Fortransit programming language
1957 COMIT string processing language (Victor Yngve, MIT)
1957 Scope Writer (for TX-2) (Jack Gilmore)
1957 Lincoln Writer (for TX-2) (Jack Gilmore)
1958 APT (Automatically Programmed Tool)
1958 FLOW-MATIC (for UNIVAC, Remington-Rand) (Grace Hopper)

1958c SOAP assembler (for IBM 650)
1958 IR (Information Retrieval) database management system (for IBM 704)
1958 LISP (List Processing language) (John McCarthy, MIT)
1958 AIMACO data processing language
1958 IPL V list processing language
1959 DYNAMO III
1959 TUFF/TUG (for IBM 704)
1959 9PAC file handling (for IBM 709)
1959 FACT business data processing language
1959 SURGE (for IBM 704) (Fletcher Jones)
1959 SAGE operating system (for IBM AN/FSQ7) (System Development Corp.)
1959c SAP assembler (for IBM 704)
1959c ASCI-Matic (Jack Minker)

1959 COBOL (December release)
1960 Atlas operating system for Atlas Computer)
(Manchester Univ. & Ferranti)
1960 ALGOL 60 (Algorithmic Language)
1960 COBOL (Common Business Oriented Language)
1960 JOVIAL (Jules Own Version of Int. Algebraic Language) (Jules Schwartz)
1960 MAD (Michigan Algorithm Decoder)

1960 NELIAC (Navy Electronics Laboratory International Algol Compiler)
1960 TRAC string processing language
1960 SCEPTRE
1960 IOCS operating system (for IBM 709/7090)
1960 FMS operating system (for IBM 709) (North American Aviation)
1961 COBOL revised and reissued
1961 SOS operating system (for IBM 709) (SHARE and IBM)
1961 GPSS (General Purpose Systems Simulator)
1961 SAC/Aids Formatted File System (for SAC 438L system) (SAC)
1961 BASE-BALL natural language system (B.V. Green)
1961 QUERY database (T. E. Cheatham, S. Warshall)
1961 RPG (Report Program Generator) (for IBM 1401)

1961 MADCAP scientific programming language
1961 ALGY formula manipulation language
1961 GECOM business data processing language
1961 QUICKTRAN on-line programming language
1961 Expensive Typewriter (IBM 360) (Stephen Piner)
1961 COBOL 61 Extended
1962 CTSS operating system (for IBM 7090 & IBM 7094) (Dr.F. Corbato, MIT)
1962 Gen. Info. & Retrieval System (GIRLS) for IBM 7090 (J.A. Postley, AIS)
1962 EXEC 1 operating system (for Univac 1107) (Computer Sciences Corp.)
1962 APL (A Programming Language) (Kenneth Iverson)
1962 IBSYS operating system (IBM 7090)
1962 Advanced Data Management System (ADAM) (for IBM 7030) (MITRE)

1962 COLINGO database (for IBM 1401)
1962 FORMAC formula manipulation
1962 SNOBOL (String Oriented Symbolic Language)
1963 Master Control Program operating system (for Burroughs B5000)
1963 COGO (Coordinate Geometry)
1963 Information Processing System (IPS) (for CDC 1604) (NAVCOSSACT)
1963 JOSS (Johnniac Open Shop System) (J.Cliff Shaw, Rand Corporation)
1963 CORC scientific programming language
1963 OMNIT AB scientific programming language
1963 Ambit
1964 Integrated Data Store (I-D-S) (Charles Bachman, General Electric)
1964 OS/360 operating system (for IBM 360)
1964 BASIC (Beginners All-Purpose Symbolic Instruction Code)

(John Kemeny, Thomas Kurtz, Dartmouth College)

1964 FORMAC (Formula Manipulation Compiler) for non-numeric mathematics
(Jean Sammet)
1964 PAT on-line programming language
1964 PL/1 (developed by IBM and SHARE)
1964 Altran
1965 Generalized Update Access Method (GUAM) (IBM 7010)
(developed by North American Space Division)
1965 Remote Access Terminal System (for IBM 7010)
(developed by IBM, and Rockwell International)
1965 Generalized Information System (GIS) (for IBM System/360)
1965 DENDRAL (Edward Fiegenbaum, Joshua Lederberg (Stanford University)
1965 C-10 database management system (IBM 1410) (developed by MITRE)

1965 COGENT report generator (for IBM 709)
1965 CPS on-line programming language
1965 RUSH on-line programming language
1965 Amtran on-line programming language
1965 FLAP formula manipulation programming language
1965 CLP list processing language
1965c MULTICS interactive operating system (for GE/Honeywell 645)
(developed by GE, Bell Labs & MIT)

1965 TRAC
1965 SNOBOL 3
1966 SIMULA I (Kristen Nygaard, Ole-Lohan Dahl) (First Object Oriented Language)
1966 TOSS operating system (for IBM System/360) (developed by RCA)
1966 Dialog on-line programming language
1966 MAP on-line programming language
1966 NAPSS scientific programming language
1966 Euler scientific programming language
1966 Coursewriter II
1966 OMNITAB II
1966 ECAP II (Electronic Circuit Analysis Program II)
1966 MPSX (Mathematical Programming System Extended)
1967 RAMIS non-proceral programming language (Mathematical)

1967 MANAGE database management system (for XDS 940 computer)
(developed by Scientific Data Systems)
1967 AS-IST database management system (for IBM System/360)
(developed by Applications Software)
1967 LUCID database management system (for AN/FSQ32)
(developed by System Development)
1967 ICES (Integrated Civil Engineering System)
1967 CSSL (Continuous Systems Simulation Language)
1967 Simula 67 (Simulation Language 1967)
1967 CPUL programming language
1967 POSE scientific programming language
1967 MAC-30 programming language
1967 DIAGMAG scientific programming language

1967 REDUCE formula manipulation language
1967 SPRINT list processing language
1967 LOLITA list processing language
1967 EOL-3 string processing language
1967 LEAP multipurpose programming language
1967 SNOBOL 4
1968 ALGOL 68 (Algorithmic Language)
1968 ATLAS (Abbreviated Test Language for "All" Systems)
1968 CSMP (Continuous System Modeling Program)
1968 Speakeasy
1968 OS/MFT operating system (for IBM 360 computers)
1968 TSS operating system (for IBM 360/370)
1968 MCP operating system (for Burroughs for B2500 and B3500)
1968 PAL programming language

1968 Proteus programming language
1968 GPL general purpose programming language
1968 TPS
1968 Salem
1968 Ariel
1968 Bruin
1968 TLC
1968 Termac
1968 Active Language 1
1968 Symbal
1968 Champ
1969 MUMPS (Massachusetts General Hospital General Utility
Multi-Programming System)
1969 PILOT
1969 CP-67/CMS operating system (for IBM 360 computer)
1969 OS/MVT operating system (for IBM 360 computer)

1969 Data Manager-1 (developed by Auerbach)
1969 UNIX multi-user, multitasking operating system development begun at Bell Labs
1969 Cobol Data Management System (CDMS) (for IBM 360)
(developed by Defense Intelligence Agency)
1969 Information Management System (IMS) hierarchical database management
system (developed by IBM)

1969 TSOS operating system (for Spectra 70/46) (developed by RCA)
1969 Time Shared Data Management System (TSDMS) (for IBM 360)
1969 Remote File Management System (for CDC 6000)
(developed at University of Texas)
1969 McG360 programming language
1969 DML programming language
1969 REL programming language
1969 PLANNER programming language
1969 REF-ARF programming language
1969 IITRAN multipurpose programming language
1969 APAREL multipurpose programming language
1969 NUCLEOL string processing language
1969 LEAF list processing language
1969 IAM formula manipulation language

1969 PPL on-line programming language
1969 OSCAR on-line programming language
1969 TRANQUIL scientific programming language
1969 SPEAKEASY scientific programming language
1969 STIL scientific programming language
1969 Music V (Max Mathews)
1969 Scratchpad
1970 BLISS (Basic Language for Implementation of System Software)
1970 SC-1 database management system (for IBM 360)
(developed by Western Electric)
1970 DMS data management system (for Sigma 5,7,9 computers)
(developed by Xerox Data Systems)
1970 S2000 data management system (for CDC 6000)(developed by SRI Systems)
1970 AIDS scientific programming language

1970 IIMP scientific programming language
1970 POEL scientific programming language
1970 LPL list processing language
1970 BALM list processing language
1970 Gedanken programming language
1970c Macsyma programming language (Joel Moses, MIT)
1970 Vulcan
1970 PDEL
1970 Pascal (Niklaus Wirth)
1971 VMOS operating system (for Spectra computers) (developed by RCA)
1971 ETC programming language
1971 TUTOR
1971 ISPL (Instruction Set Processor Language)
1971 FORMAC formula manipulation language
1971 HAL/S A programming language used aboard the Space Shuttle Columbia

1972 SMALLTALK object-oriented language (Alan Kay; Xerox)

1972 PL/M high-level language for microprocessor
1972 VS/9 operating system (for UNIVAC Series 90)
1972 Development of C language (Dennis Ritchie)
1973 BS2000 operating system (for Siemens 7500)
1973 VM 1370 operating system (for IBM 370 series)
1973 OS/VS operating system (for IBM 370 series)

1973 Pholas data management system (for Philips P1000)
1973 PDS/MaGEN (Problem Descriptor System)
1974 PL/M
1975 SPSS (Statistical Programs for the Social Sciences)
1975 OS/MVS operating system (for IBM 370 series)
1975 UNIX licensed by Western Electric for academic and commercial sectors

1975 ADA programming language developed for U.S. Dept. of Defense
1975 MDQS (Management Data Query System) developed by Honeywell
1976 Mola multiprocessing language (Niklaus Wirth)
1976 SMALLTALK 76 (Alan Kay, Adele Goldberg, Daniel H. H. Ingalis; Xerox PARC)
1977 CP/M (Control Program for Microprocessors) (Gary Kildall)

1979 VisiCalc electronic spreadsheet software for microcomputers
1979 X-CON (aka RI) expert system (Carnegie-Mellon University)
(used at Digital Equipment Corporation)
1980 INTELLECT natural language query system
(Artificial Intelligence Corporation)

1980 CPF operating system (for IBM System/38 minicomputer)
1980 C++ (Bjarne Stroustrup, Bell Labs)
1981 MS/DOS (Microsoft Disk Operating System)

developed by Microsoft Corporation) (IBM version called PC/DOS)
1983 KEE (expert systems development tool) IntelliCorp.
198? Objective C (Brad Cox; Stepstone Corporation)
1988 Windows 386 version 2.0 Released by Microsoft Corporation
1990 (April) Windows 3.0 released by Microsoft Corporation
1991 Windows NT Server version 3.1 released by Microsoft Corporation

1994 Windows NT Server version 3.5 released by Microsoft Corporation
1995 Windows 95 (microcomputer operating system and interface, Microsoft Corporation)
1995 JAVA (James Gosling, Sun Microsystems)
1996 Windows NT Server version 4.0 released by Microsoft Corporation
1996 "Inferno" under development by Dennis Ritchie and others

1996 (March) Microsoft』s Active X is released
1996 (October) Sun Microsystems SunSoft division releases JavaBeans
1996 Symantec』s Visual Cafe 1.0 tool (supports JavaBeans model)
1996 Delphi announces JBuilder (formerly code-named Latte)
1996 IBM』s Visual Age (supports JavaBean)
1996 Powersoft announces Jato (originally code-named Starbuck) (supports JavaBeans)
1996 Oracle Corporation announces Sedona, a development tools technology
1997 Microsoft Windows NT 5.0

編程語言歷史

《BYTE》:A Brief History of Programming Languages
We』ve come a long way from computers programmed with wires and punch cards. Maybe not as far as some would like, though. Here are the innovations in programming.

ca. 1946

Konrad Zuse , a German engineer working alone while hiding out in the Bavarian Alps, develops Plankalkul. He applies the language to, among other things, chess.

--------------------------------------------------------------------------------

1949

Short Code , the first computer language actually used on an electronic computing device, appears. It is, however, a "hand-compiled" language.

--------------------------------------------------------------------------------

1951

Grace Hopper , working for Remington Rand, begins design work on the first widely known compiler, named A-0. When the language is released by Rand in 1957, it is called MATH-MATIC.

--------------------------------------------------------------------------------

1952

Alick E. Glennie , in his spare time at the University of Manchester, devises a programming system called AUTOCODE, a rudimentary compiler.

--------------------------------------------------------------------------------

1957

FORTRAN --mathematical FORmula TRANslating system--appears. Heading the team is John Backus, who goes on to contribute to the development of ALGOL and the well-known syntax-specification system known as BNF.

--------------------------------------------------------------------------------

1958

FORTRAN II appears, able to handle subroutines and links to assembly language. John McCarthy at M.I.T. begins work on LISP--LISt Processing.

The original specification for ALGOL appears. The specific ation does not describe how data will be input or output; that is left to the indivial implementations.

--------------------------------------------------------------------------------

1959

LISP 1.5 appears. COBOL is created by the Conference on Data Systems and Languages (CODASYL).

--------------------------------------------------------------------------------

1960

ALGOL 60 , the first block-structured language, appears. This is the root of the family tree that will ultimately proce the likes of Pascal. ALGOL goes on to become the most popular language in Europe in the mid- to late-1960s.

Sometime in the early 1960s , Kenneth Iverson begins work on the language that will become APL--A Programming Language. It uses a specialized character set that, for proper use, requires APL-compatible I/O devices.

--------------------------------------------------------------------------------

1962

APL is documented in Iverson』s book, A Pro gramming Language .

FORTRAN IV appears.

Work begins on the sure-fire winner of the "clever acronym" award, SNOBOL--StriNg-Oriented symBOlic Language. It will spawn other clever acronyms: FASBOL, a SNOBOL compiler (in 1971), and SPITBOL--SPeedy ImplemenTation of snoBOL--also in 1971.

--------------------------------------------------------------------------------

1963

ALGOL 60 is revised.

Work begins on PL/1.

--------------------------------------------------------------------------------

1964

APL\360 is implemented.

At Dartmouth University , professors John G. Kemeny and Thomas E. Kurtz invent BASIC. The first implementation is a compiler. The first BASIC program runs at about 4:00 a.m. on May 1, 1964.

PL/1 is released.

-----------------------------------------------------------------------------

1965

SNOBOL3 appears.

--------------------------------------------------------------------------------

1966

FORTRAN 66 appears.

LISP 2 appears.

Work begins on LOGO at Bolt, Beranek, & Newman. The team is headed by Wally Fuerzeig and includes Seymour Papert. LOGO is best known for its "turtle graphics."

--------------------------------------------------------------------------------

1967

SNOBOL4 , a much-enhanced SNOBOL, appears.

--------------------------------------------------------------------------------

1968

ALGOL 68 , a monster compared to ALGOL 60, appears. Some members of the specifications committee--including C.A.R. Hoare and Niklaus Wirth--protest its approval. ALGOL 68 proves difficult to implement.

ALTRAN , a FORTRAN variant, appears.

COBOL is officially defined by ANSI.

Niklaus Wirth begins work on Pascal.

--------------------------------------------------------------------------------

1969

500 people attend an APL conference at IBM』s headquarters in Armonk, New York. The demands for APL』s distribution are so great that the event is later referred to as "The March on Armonk."

--------------------------------------------------------------------------------

1970

Sometime in the early 1970s , Charles Moore writes the first significant programs in his new language, Forth.

Work on Prolog begins about this time.

Also sometime in the early 1970s , work on Smalltalk begins at Xerox PARC, led by Alan Kay. Early versions will include Smalltalk-72, Smalltalk-74, and Smalltalk-76.

An implementation of Pascal appears on a CDC 6000-series computer.

Icon , a descendant of SNOBOL4, appears.

--------------------------------------------------------------------------------

1972

The manuscript for Konrad Zuse』s Plankalkul (see 1946) is finally published.

Denni s Ritchie proces C. The definitive reference manual for it will not appear until 1974.

The first implementation of Prolog -- by Alain Colmerauer and Phillip Roussel -- appears.

--------------------------------------------------------------------------------

1974

Another ANSI specification for COBOL appears.

--------------------------------------------------------------------------------

1975

D. C語言在編程語言發展歷史中處於什麼地位,對編程語言的發展產生了什麼影響,對

編程語言的發展歷程可以簡單劃分為以下幾個階段 :
機器語言——>匯編語言——>高級計算機語言
1、機器語言:最初的計算機所使用的是由「0」和「1」組成的二進制數,二進制是計算機的語言的基礎。由於這種語言是直接對計算機硬體進行操作,所以在特定型號的計算機上面,運算效率也是很高的,機器語言的出
現對於未來的計算機語言發展起到了很好的推動作用,所以機器語言也是第一代計算機語言。
2、匯編語言:匯編語言是在機器語言的基礎上誕生的一門語言,用一些簡潔的英文字母、符號串來替代一個特定的指令的二進制串。匯編語言同樣也是直接對硬體進行操作,對於計算機硬體的功能和特長的發揮已有了很大進步,它精煉而質量高,所以至今仍是一種常用的程序開發語言。
3、高級計算機語言:在與計算機的不斷交流中,人們對計算機程序的移植性需求不斷提高,此時急需要一種不依賴於特定型號的計算機的語言,用這種語言編寫的程序能在在各種平台都正常運行。
C語言是一種高級計算機語言,它既有高級語言的特點,又具有匯編語言的特點。它可以用來編寫系統軟體,也可以用來編寫應用軟體。C語言語法中對操作符的大量靈活的使用,極大的影響了後來的一批高級程序語言,是其他高級語言的基礎。
請採納,謝謝

E. c語言的發展史

C語言,是一種通用的、過程式的編程語言,廣泛用於系統與應用軟體的開發。具有高效、靈活、功能豐富、表達力強和較高的移植性等特點,在程序員中備受青睞。

C語言是由UNIX的研製者丹尼斯·里奇(Dennis Ritchie)於1970年 由 肯·湯普遜(Ken Thompson)所研製出的B語言的基礎上發展和完善起來的。目前,C語言編譯器普遍存在於各種不同的操作系統中,例如UNIX、MS-DOS、Microsoft Windows及Linux等。C語言的設計影響了許多後來的編程語言,例如C++、Objective-C、Java、C#等。

後來於1980年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標准局(American National Standard Institution)為C語言訂定了一套完整的國際標准語法,稱為ANSI C,作為C語言的標准。1980年代至今的有關程序開發工具,一般都支持符合ANSI C的語法。

C語言是一個程序語言,設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。C語言也很適合搭配匯編語言來使用。盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。

早期發展
C語言最早是由丹尼斯·里奇為了在PDP-11電腦上運行的UNIX系統所設計出來的編程語言,第一次發展在1969年到1973年之間。之所以被稱為「C」是因為C語言的很多特性是由一種更早的被稱為B語言的編程語言中發展而來。早期操作系統的核心大多由匯編語言組成,隨著C語言的發展,C語言已經可以用來編寫操作系統的核心。1973年,Unix操作系統的核心正式用C語言改寫,這是C語言第一次應用在操作系統的核心編寫上。
K&R C
1978年,丹尼斯·里奇(Dennis Ritchie)和布萊恩·柯林漢(Brian Kernighan)合作出版了《C程序設計語言》的第一版。書中介紹的C語言標准也被C語言程序員稱作「K&R C」,第二版的書中也包含了一些ANSI C的標准。K&R C主要介紹了以下特色:

結構(struct)類型
長整數(long int)類型
無符號整數(unsigned int)類型
把運算符=+和=-改為+=和-=。因為=+和=-會使得編譯器不知道用戶要處理i = -10還是i =- 10,使得處理上產生混淆。
即使在後來ANSI C標准被提出的許多年後,K&R C仍然是許多編譯器的最低標准要求,許多老舊的編譯仍然運行K&R C的標准。
ANSI C 和 ISO C
1989年,C語言被 ANSI 標准化(ANSI X3.159-1989)。標准化的一個目的是擴展K&R C。這個標准包括了一些新特性。在K&R出版後,一些新特性被非官方地加到C語言中。

void 函數
函數返回 struct 或 union 類型
void * 數據類型
在ANSI標准化自己的過程中,一些新的特性被加了進去。ANSI也規定了一套標准函數庫。ANSI ISO(國際標准化組織)成立 ISO/IEC JTC1/SC22/WG14 工作組,來規定國際標準的C語言。通過對ANSI標準的少量修改,最終通過了 ISO 9899:1990。隨後,ISO標准被 ANSI 採納。

傳統C語言到ANSI/ISO標准C語言的改進包括:

增加了真正的標准庫
新的預處理命令與特性
函數原型允許在函數申明中指定參數類型
一些新的關鍵字,包括 const、volatile 與 signed
寬字元、寬字元串與位元組多字元
對約定規則、聲明和類型檢查的許多小改動與澄清
WG14工作小組之後又於1995年,對1985年頒布的標准做了兩處技術修訂(缺陷修復)和一個補充(擴展)。下面是 1995 年做出的所有修改:

3 個新的標准庫頭文件 iso646.h、wctype.h 和 wchar.h
幾個新的記號與預定義宏,用於對國際化提供更好的支持
printf/sprintf 函數一系列新的格式代碼
大量的函數和一些類型與常量,用於多位元組字元和寬位元組字元

C99在ANSI的標准確立後,C語言的規范在一段時間內沒有大的變動,然而C++在自己的標准化創建過程中繼續發展壯大。《標准修正案一》在1995年為C語言創建了一個新標准,但是只修正了一些C89標准中的細節和增加更多更廣的國際字元集支持。不過,這個標准引出了1999年ISO 9899:1999的發表。它通常被稱為C99。C99被ANSI於2000年3月採用。

在C99中包括的特性有:

增加了對編譯器的限制,比如源程序每行要求至少支持到 4095 位元組,變數名函數名的要求支持到 63 位元組(extern 要求支持到 31)。
增強了預處理功能。例如:
宏支持取可變參數 #define Macro(...) __VA_ARGS__
使用宏的時候,允許省略參數,被省略的參數會被擴展成空串。
支持 // 開頭的單行注釋(這個特性實際上在C89的很多編譯器上已經被支持了)
增加了新關鍵字 restrict, inline, _Complex, _Imaginary, _Bool
支持 long long, long double _Complex, float _Complex 等類型
支持不定長的數組,即數組長度可以在運行時決定,比如利用變數作為數組長度。聲明時使用 int a[var] 的形式。不過考慮到效率和實現,不定長數組不能用在全局,或 struct 與 union 里。
變數聲明不必放在語句塊的開頭,for 語句提倡寫成 for(int i=0;i<100;++i) 的形式,即i 只在 for 語句塊內部有效。
允許採用(type_name){xx,xx,xx} 類似於 C++ 的構造函數的形式構造匿名的結構體。
初始化結構的時候允許對特定的元素賦值,形式為:
struct {int a[3],b;} foo[] = { [0].a = {1}, [1].a = 2 };
struct {int a, b, c, d;} foo = { .a = 1, .c = 3, 4, .b = 5} // 3,4 是對 .c,.d 賦值的
格式化字元串中,利用 \u 支持 unicode 的字元。
支持 16 進制的浮點數的描述。
printf scanf 的格式化串增加了對 long long int 類型的支持。
浮點數的內部數據描述支持了新標准,可以使用 #pragma 編譯器指令指定。
除了已有的 __line__ __file__ 以外,增加了 __func__ 得到當前的函數名。
允許編譯器化簡非常數的表達式。
修改了 / % 處理負數時的定義,這樣可以給出明確的結果,例如在C89中-22 / 7 = -3, -22 % 7 = -1 ,也可以-22 / 7= -4, -22 % 7 = 6。 而C99中明確為 -22 / 7 = -3, -22 % 7 = -1,只有一種結果。
取消了函數返回類型默認為 int 的規定。
允許 struct 定義的最後一個數組不指定其長度,寫做 [] 。
const const int i 將被當作 const int i 處理。
增加和修改了一些標准頭文件,比如定義 bool 的 <stdbool.h> ,定義一些標准長度的 int 的 <inttypes.h> ,定義復數的 <complex.h> ,定義寬字元的 <wctype.h> ,類似於泛型的數學函數 <tgmath.h>, 浮點數相關的 <fenv.h>。 在<stdarg.h> 增加了 va_ 用於復制 ... 的參數。<time.h> 里增加了 struct tmx ,對 struct tm 做了擴展。
輸入輸出對寬字元以及長整數等做了相應的支持。

F. 簡述計算機程序設計語言的發展歷程。

在過去的幾十年間,大量的程序設計語言被發明、被取代、被修改或組合在一起。盡管人們多次試圖創造一種通用的程序設計語言,卻沒有一次嘗試是成功的。

之所以有那麼多種不同的編程語言存在的原因是,編寫程序的初衷其實也各不相同;新手與老手之間技術的差距非常大,而有許多語言並對新手來說太難學;還有,不同程序之間的運行成本各不相同。

有許多用於特殊用途的語言,只在特殊情況下使用。例如,PHP專門用來顯示網頁;Perl更適合文本處理;C語言被廣泛用於操作系統和編譯器的開發。

高級程序設計語言的出現使得計算機程序設計語言不再過度地依賴某種特定的機器或環境。這是因為高級語言在不同的平台上會被編譯成不同的機器語言,而不是直接被機器執行。最早出現的編程語言之一FORTRAN的一個主要目標,就是實現平台獨立。



(6)編程的歷史擴展閱讀:

如果所使用的翻譯的機制是將所要翻譯的程序代碼作為一個整體翻譯,並之後運行內部格式,那麼這個翻譯過程就稱為編譯。

因此,一個編譯器是一個將可閱讀的程序文本作為輸入的數據,然後輸出可執行文件。所輸出的可執行文件可以是機器語言,由計算機的中央處理器直接運行,或者是某種模擬器的二進制代碼。

如果程序代碼是在運行時才即時翻譯,那麼這種翻譯機制就被稱作解譯。經解譯的程序運行速度往往比編譯的程序慢,但往往更具靈活性,因為它們能夠與執行環境互相作用。

G. 編程語言誰發明的

那就語音的話 應該是那些搞計算機的人 發明的那個是C語言是最早的編程語言吧

H. 計算機編程語言的發展過程

簡單一點可以是:機器語言-匯編語言-高級語言……

熱點內容
app什麼情況下找不到伺服器 發布:2025-05-12 15:46:25 瀏覽:714
php跳過if 發布:2025-05-12 15:34:29 瀏覽:467
不定時演算法 發布:2025-05-12 15:30:16 瀏覽:131
c語言延時1ms程序 發布:2025-05-12 15:01:30 瀏覽:166
動物園靈長類動物配置什麼植物 發布:2025-05-12 14:49:59 瀏覽:737
wifi密碼設置什麼好 發布:2025-05-12 14:49:17 瀏覽:149
三位數乘兩位數速演算法 發布:2025-05-12 13:05:48 瀏覽:399
暴風影音緩存在哪裡 發布:2025-05-12 12:42:03 瀏覽:544
access資料庫exe 發布:2025-05-12 12:39:04 瀏覽:632
五開的配置是什麼 發布:2025-05-12 12:36:37 瀏覽:366