本篇文章給大家談談軟件開發語言有哪些的發展史,以及軟件開發的發展歷程對應的知識點,希望對各位有所幫助,不要忘了收藏本站喔。
本文目錄一覽:
- 1、C語言的發展史
- 2、軟件開發上主流的開發語言
- 3、計算機語言發展史
- 4、C#的發展歷史
C語言的發展史
發展史:
C語言的祖先是BCPL語言。
1967年,劍橋大學的 Martin Richards 對CPL語言進行了簡化,于是產生了BCPL(Basic Combined Pogramming Language)語言。
1970年,美國貝爾實驗室的 Ken Thompson。以BCPL語言為基礎,設計出很簡單且很接近硬件的B語言(取BCPL的首字母)。并且他用B語言寫了第一個UNIX操作系統。
在1972年,美國貝爾咐和實驗室的 D.M.Ritchie 在B語言的基礎上最終設計出了一種新的語言,他取了BCPL的第二個字母作為這種語言的名字,這就是C語言。
為了使UNIX操作系統推廣,1977年Dennis M.Ritchie發表了不依賴于具體機器系統的C語言編譯文本《可移植的C語言編譯程序》。
1978年由美國電話電報公司(ATT)貝爾實驗室正式發表了C語言。
1990年,國際標準化組織ISO(International Organization for Standards)接受了89 ANSI C 為I SO C 的標準(ISO9899-1990)。
1994年,ISO修訂了C語言的標衡臘盯準。
1995年,ISO對C90做了一些修訂,即“1995基準增補1(ISO/IEC/9899/AMD1:1995)”。
1999年,ISO有對C語言標準進行修訂,在基本保留原來C語言特征的基礎上,針對應該的需要,增加了一些功能,尤其是對C++中的一些功能,命名為ISO/IEC9899:1999。
2001年和2004年先后進行了兩次技術修正。
目前流行的C語言編譯系統大多是以ANSI C為基礎進行開發的,但不同版本的C編譯系統所實現的語言功能和語法規則有略有差別。
C語言是一種計算機程序設計語言,它既具有高級語言的特點,又具有匯編語言的特點。它由美國貝爾研究所的D.M.Ritchie于1972年推出,1978年后,C語言已先后被移植到大、中、局前小及微型機上,它可以作為工作系統設計語言,編寫系統應用程序,也可以作為應用程序設計語言,編寫不依賴計算機硬件的應用程序。
它的應用范圍廣泛,具備很強的數據處理能力,不僅僅是在軟件開發上,而且各類科研都需要用到C語言,適于編寫系統軟件,三維,二維圖形和動畫,具體應用比如單片機以及嵌入式系統開發。
軟件開發上主流的開發語言
軟件開發主要看你想學什么開發語言,目前市場上主流的開發語言是Java,就Java而言是非常有前爛粗景的:
一、Java的市場規模
80%以上的高端企業級應用都使用Java平臺(電信、銀行等)。JAVA是成熟的產品,已經有10年的歷史。Amazon、Google、eBay、淘寶、京東、阿里和其它的大型電子商務品牌都在使用Java來后臺處理。這么多企業都青睞Java,主要原因是Java的可擴展性好,可以處理更多的客戶數據。
二、Java稱霸的領域
大型企業級應用,主要使用JavaEE,比如大型企業管理系統,最典型的就是
有關通信及網絡的大型企業:移動、聯通、電信、網通主要的信息化都是Java
有關金融行的大型企業,所有的銀行、證券公司:工商銀行、建設銀行等的大型管理系統
電子政務:主要使用JavaEE,相關的政府部門絕大多數的信息化系統是Java開發的
游戲
嵌入式設備及消費類電子產品:無線手持設備、通信終端、醫療設備、信息家電(如數字電視、機頂盒、電冰箱)、汽車電子設備等是比較熱門的Java應用領域
三、Java發展前景廣闊
EclipseFoundation執行董事MikeMilinkovich表示:“Java的未來一定是物聯網,我十分期待Oracle和合作伙伴能夠給出一個基于Java的端到端的存儲解決方案,如果能夠成功的話,那么未來20年凱歷春,Java的地位都不會被動搖。”
現在這個時代不僅是行業的巨大機會,同時也是Java發展的時機。雖然Java的反對聲音一直都有,但是并沒有阻止Java前進的腳步,相反它會為Java的發展提供前進的方向,我們有理由相信,即使再過20年,Java也不會被打倒。
四、Java的持續完善
甲骨文宣布2016年9月發布Java9。此次更新主要集中在范語言功能的組件,更新的主要目的是使Java更快更方便。在Java任務控制套件和Java高級管理控制臺的雙重保障下,Java進入到了使用的新紀元,而同盯耐樣進入這個紀元的,還有云計算和物聯網。
作為最常用的云計算底層開發語言,Java的安全性、開放性、穩定性和跨平臺性與云計算高可靠、高拓展的優勢相得益彰。
五、Java是一門非常好的鋪墊語言
對于初學者來說,Java是非常友好的,相對簡單學習周期不會太長,很多人學過Java之后,再學習其他語言感覺非常輕松。因為編程思想,設計模式是不會被淘汰的。
Java的生態圈決定了它在未來10年,甚至20年都會是最熱門的語言之一。而且退一萬步講,就算Java瀕臨淘汰,你在精通Java的情況下,學習其他語言也是觸類旁通的。
計算機語言發展史
軟件的產生始于早期的機械式計算機的開發。
從19世紀起,隨著機械式計算機的更新,出現了穿孔卡片,這種卡片可以指導計算機進行工作。
但是直到20世紀中期現代化的電子計算機出現之后,軟件才真正得以飛速發展。
在世界上第一臺計算機ENIAC上使用的也是穿孔卡片,在卡片上使用的是專家們才能理解的語言,由于它與人類語言的差別極大,所以我們稱之為機器語言。
也就是第一代計算機語言。
這種語言本質上是計算機能識別的唯一語言,但人類卻很難理解它,以后的計算機語言就是在這個基礎上,將機器語言越來越簡化到人類能夠直接理解的、近似于人類語言的程度,但最終送入計算機的工作語言,還是這種機器語言。
高級語言的任務就是將它翻譯成易懂的語言,而這個翻譯工作可以由計算速度越來越高、工作越來越可靠的計算機自己來完成。
計算機語言發展到第二代,出現了匯編語言。
比起機器語言,匯編語言大大前進了一步,盡管它還是太復雜,人們在使用時很容易出錯誤,但畢竟許多數碼已經開始用字母來代替。
簡單的“0、1”數碼誰也不會理解,但字母是人們能夠閱讀并拼寫的。
第二代計算機語言仍然是“面向機器”的語言,但它已注定要成為機器語言向更高級語言進化的橋梁。
當計算機語言發展到第三代時,就進入了“面向人類”的語言階段。
你可以閱讀、并直接用人類的語言來輸入。
對我們漢語來說,目前還不能用中文漢字來輸入指令,這主要是因為中文的輸入還沒有一個非常好的手段。
第三代語言也被人們稱之為“高級語言”。
高級語言是一種接近于人們使用習慣的程序設計語言。
它允許用英文寫解題的計算程序,程序中所使用的運算符號和運算式子,都和我們日常用的數學式子差不多。
例如用BASIC高級語言,要想計算7×6的結果,只需寫出 PRINT7*6即可,送入計算機后將自動進行計算并打印出結果。
一般人都能很快學會使用計算機,并且完全可以不了解機器指令,也可則畝滲以不懂計算機的內部結構和工作原理,就能編寫出應用計算機進行科學計算和事務管理的程序。
高級語言容易學習,通用性強,書寫出的程序比較短,便于推廣和交流,是很理想的一種程序設計語言。
高級語言發展于50年代中葉到70年代,有些流行的高級語言已經被大多數計算機廠家采用,固化在計算機的內存里。
如 BASIC語言,現在已有128種不同耐耐的 BASIC語言在流行,當然其基本特征是相同的。
除了BASIC語言外,還有FORTRAN(公式翻譯)語言、 COBOL(通用商業語言)、 C語言、 DL/I語言、 PASCAC語言、ADA語言等250多種高級語言。
高級語言是一種動用語言,要完成某一個簡單的計算步驟,你必須詳細準確地給出每一條指令。
如解決經營管理活動中天天都要碰到的財務清賬、庫存等問題,就須編無數條程序,而情況一經變化,原有的設計程序則要修改,這樣就使錯誤的可能性增大,工作效率大大降低。
為了解決這個問題,第四代計算機語言,即“實用語言”出現了。
第四代語言是使用第二代第三代語言編制而成的,每一種語言都有其特定的應用范圍。
實際上,實用語言發展到今天已出現了一些有運用性質的第四代語言,如“LO- TOS1—2—3”。
第四代語言的特點就是它們只需要操作人員輸入原始數據,并命令它們執行。
至于怎樣執行則由它們本身來決定的,它已經在相當程度上替代了人腦的工作。
第四代語言的特點還在于:操作者幾乎不需要經過特殊訓練,幾乎所有的“實用語言”都有“幫助(Help)”功能,你可以遵照計算機給出的指示來完成你的工作,第二次就完全不用幫助了!
計算機語言是人與計算機進行對話的最重要的手段。
目前人們對計算機發出的命令幾乎都是通過計算機語言進行的。
人與人之間的交流不僅僅依靠語言,還有一些其它的方式,比如人的手勢、眼神等。
由此我們可以推測,在不久的將來,計算機與人類的交流將是全方位的,而不再僅僅依靠計算機語言。
那時,人們將孫脊更方便、更容易地操縱和使用計算機。
C#的發展歷史
C#的發展史
1999年,就聽說微軟公司在研發一種名為“cool”的新開發語言,而具體內幕一直是個謎,直到2000年6月26日微軟在奧蘭多舉行的“職業開發人員技術大會”伏宏(PDC 2000)上,這個謎底終于揭曉了,這種新的、先進的、面向對象的開發語言就是c#(發音為“C sharp”)。戚前那么微軟為什么要開發c#,c#究竟能給開發者帶來什么好處呢?
■山雨欲來風滿樓
1995年,SUN公司正式推出了面向對象的開發語言Java,并提出了跨平臺、跨語言的概念后(write the code once and run it anywhere),Java就逐漸成為了企業級應用系統開發的首選工具,而且使得越來越多的基于C/C++的應用開發人員轉向了從事基于Java的應用開發。Java的先進思想使其在軟件開發領域大有山雨欲來風滿樓之勢。
很快,在眾多研發人員的努力下,微軟也推出了自己基于Java語言的編譯器Visual J++,Visual J++在最短的時間里由1.1版本升到了6.0版本。這決不僅僅是數字上的變化,集成在Visual Studio 6.0中的Visual J++ 6.0的確有了質的變化,不但虛擬機(JVM)的運行速度大大加快,而且增加了許多新特性,同時支缺仔冊持調用Windows API,這些特性使得Visual J++成為強有力的Windows應用開發平臺,并成為業界公認的優秀Java編譯器。
不可否認,Visual J++具有強大的開發功能,但其主要運用在Windows平臺的系統開發中,SUN公司認為Visual J++違反了Java的許可協議,即違反了Java開發平臺的中立性,因而,對微軟提出了訴訟,這使得微軟處于極為被動的局面。微軟將如何應對呢?
■形勢所迫另辟蹊徑
就在人們認為微軟的局面不可能再有改觀的時候,微軟卻另辟蹊徑,決定推出其進軍互聯網的的龐大計劃——.NET計劃,和該計劃中旗幟性的開發語言——c#。
微軟的.NET是一項非常龐大的計劃,也是微軟今后幾年發展的戰略核心,“在任何時間、任何地點,采用相應的設備以獲取所需的信息”的夢想并非一朝一夕能實現的。Visual Studio.NET則是微軟.NET的技術開發平臺,其重要性可見一斑,而c#就集成在Visual Studio.NET中。
在軟件開發領域中,廣大的程序開發者們對用一個測試版的平臺進行商業應用系統的開發通常都抱著排斥的態度,然而在Visual Studio.NET β版的發布時,眾多開發者們卻顯示出了從未有過的熱情。這種熱情決不僅僅是因為.net計劃的戰略重要性和微軟CEO巴爾默那情緒激昂的演講,更表達了開發者需要一個具有強大功能的開發平臺的迫切心情。
為了支持.NET平臺,Visual Studio.NET在原來的Visual Studio 6.0的基礎上進行了極大的修改和變更。在Visual Studio.NET β版中你會發現Visual J++消失了,取而代之的就是c#語言。至此,微軟也擺脫了被動局面。
雖然Visual Studio.NET仍處在測試階段,但集成在其中的微軟新的開發語言c#,卻已引起了眾多開發者的矚目。那么,c#究竟是由誰主持研發的呢?
■系出名門風頭強勁
設計一個新的開發語言——c#,對微軟未來的發展有著舉足輕重的意義,而這樣一項偉大而艱巨的任務,微軟又怎能不慎之又慎呢!誰將承擔此重任并成為開發 C#的首席設計師將是微軟的一次“生死抉擇”。微軟最終決定由老將安德爾斯(Anders Hejlsberg)出馬,這絕對是最明智之選。
國內的很多人對安德爾斯可能并不了解,但一提起他的杰作Trubo Pascal和Delphi,可謂是家喻戶曉了。安德爾斯是原Broland公司的首席研發設計師,在Broland期間,安德爾斯開發了著名的 Trubo Pascal語言,并在其基礎上開發了面向對象的應用開發工具Broland Delphi,Delphi目前仍是Broland公司的最重要的旗幟性產品,并已成為了廣大開發人員最喜歡的RAD應用開發工具之一。安德爾斯來到微軟后,就直接主抓Visul J++的研發工作,這也是為什么你會在c#中發現很多Visul J++特性的原因。
名家一出手,便知有沒有!微軟選擇了安德爾斯,安德爾斯也沒有讓微軟失望,C#不但成功研發出來,而且其功能之強勁更是讓人為之一振!那么系出名門、風頭強勁的C#究竟有何強大功能,能給廣大開發者帶來什么好處呢?
■身懷絕技步入征程
在微軟的PDC 2000年會上,當演講者向各大公司的研發人員展示基于.NET的ASP+上用c#進行設計開發Web應用程序時,觀眾們報以了熱烈的掌聲。
長期以來,C/C++都是最為廣泛地應用于商用軟件開發中的開發語言,但其強勁的功能和靈活的使用卻同時伴隨著開發的復雜性,很多基于C/C++的研發人員后來都稱用C/C++進行開發如同噩夢一般。Java的出現改變了這一切。
Java是一個開放、標準、通用的網絡運算平臺,由于其強大的兼容性和跨平臺性,已經成為在互聯網技術領域被廣泛采用的一個成熟的技術平臺。但由于純 Java編程的應用系統其運行速度太慢,而且據Forrest的調查報告顯示,基于Java開發的應用系統目前也并沒有實現百分百的跨平臺,這使得 Java仍舊未能完全取代C/C++。
c#的出現給廣大程序開發者又多了一種選擇。微軟公司對C#的定義是:“c#是一種類型安全的、現代的、簡單的,由C和C++衍生出來的面向對象的編程語言,它是牢牢根植于C和C++語言之上的,并可立即被C和C++的使用者所熟悉。c#的目的就是綜合Visual Basic的高生產率和C++的行動力。”這個定義是恰如其分的,因為在Visual Studio.NET的β版(見圖1)中,我們已經可以利用c#極其簡單地開發出強大的企業級分布式應用系統了。
需要提醒大家,脫離了.NET平臺而單純去講C#是沒有太大意義的,所以我們必須先了解一些.NET平臺開發的基礎知識,才能更深入了解c#的特性。
.NET框架的核心是基于XML的跨平臺跨語言的信息交換,基于此種平臺將十分有助于我們開發Internet分布式應用程序。
基于.NET的Web應用開發主要是使用ASP+,ASP+可以使用任何一種.NET支持的語言編寫,而其中C#可以提供腳本語言所無法提供的強大功能,使用C#編寫ASP+的Web應用程序在未來將成為Windows平臺上Web開發的最佳選擇。
了解了一些.NET平臺開發的基礎知識后,下面讓我們再來結合.NET看看c#的一些絕技:
快速應用開發(RAD)功能
支持快速開發(Rapid application development)可以說是目前開發語言最為重要的一大功能,也正是C/C++的致命傷。網絡時代應用系統的開發必須按照網絡時代的速度來進行,支持快速開發可以使得開發人員的開發效率倍增,從而使得他們可以從繁重的重復性勞動中解放出來。
c#的RAD功能主要表現在例如垃圾收集、指代等眾多特性上。垃圾收集機制將減輕開發人員對內存的管理負擔,而指代功能更是可以讓開發者不經過內部類就調用函數。利用c#的這些功能,可以使開發者通過較少的代碼來實現更強大的應用程序,并且能夠更好地避免錯誤發生,從而縮短了應用系統的開發周期。
語言的自由性
用C#編寫的程序能最大程度地和任何支持.NET的語言互相交換信息。能夠繼承和使用任何語言所編寫的程序可以稱得上是知識的繼承,這樣做的好處是節省了大量的工作,你不必把COBOL等語言強行改成另一種語言,.NET讓各種語言真正地互相交流了。
c#和其他.NET語言有著最好的協作,這點對開發人員非常重要。全球從事編寫軟件的人當中,大約有50%以Visual Basic作為基本的編程工具,在跨入.NET編程時代的時候,這些人輕松地使用了.NET的VB開發Web上的應用程序,想想以后你可以和你的那些只懂 VB的同事真正在一起共同開發.NET的應用程序時,還有比這更讓人輕松和高興的事情嗎?
強大的Web服務端組件
在c#的Web編程中,最讓人興奮的是Web服務端的組件,它們不僅包括傳統組件,還包括那些能夠自動連接五花八門服務的可編程組件,你可以用c#編寫自己的服務器端組件,服務器端組件和標準的HTML提供的服務自然是不一樣的,使用它們可以更自由、更容易地進行數據綁定。不久,那些視頻服務器組件也很快會出現,有了這些強大的組件,我們可以設計出功能更加強勁的企業級分布式應用系統。
支持跨平臺
隨著互聯網應用程序的應用越來越廣,人們逐漸意識到由于網絡系統錯綜復雜,使用的硬件設備和軟件系統各不相同,開發人員所設計的應用程序必須具有強大的跨平臺性。C#編寫的應用程序就具有強大的跨平臺性,這種跨平臺性也包括了c#程序的客戶端可以運行在不同類型的客戶端上,比如PDA、手機等非PC裝置。
與XML的融合
由于XML技術真正融入到了.NET和c#之中,c#的編程變成了真正意義的網絡編程,甚至可以說.NET和c#是專為XML而設計,使用C#的程序員可以輕松用c#內含的類來使用XML技術。就這方面而言,目前c#提供給了程序員更多的自由和更好的性能來使用XML。
對C++的繼承
c#繼承并保留了C++強大的功能,例如, c#保留了類型安全的檢測和重載功能,c#還提供了一些新功能取代了一些原來的ANSI C預處理程序的功能,提高了語言的類型安全等安全性。
了解了c#如此眾多的特性,你是不是也感覺心動呢!身懷絕技的c#將在未來正式步入征程,與我們的程序開發人員攜手共進!
■沒有最好只有更好
由于Visual Studio.NET的正式版本將在今年某個時候才能推出,所以c#將真正成為新世紀的新語言。有人現在就在討論c#和Java的性能優劣,其實這并沒有什么實際意義,因為c#和Java 都將隨著時代的發展而繼續發展,并不斷加以改進以適應新的開發需求,這正印證了一句著名的廣告詞:“沒有最好,只有更好”。
不久的未來,c#的應用也將如同Java一樣,飛速向數字電視、機頂盒、汽車、PDA、移動電話、呼機,甚至電冰箱等其他非PC裝置中進行推廣。
總之,只有在激烈的良性競爭下,我們才能更快、更好地促進應用開發技術的發展,才能更加快速地推動IT行業的大發展。不管怎樣,c#的確值得我們關注!
軟件開發語言有哪些的發展史的介紹就聊到這里吧,感謝你花時間閱讀本站內容,更多關于軟件開發的發展歷程、軟件開發語言有哪些的發展史的信息別忘了在本站進行查找喔。