history of Program

最先的能執行特定計算的機器廣泛被認爲是19世紀中期由Babbage發明的,並由Ada爲之編寫了若干數學計算的程序,Ada(詩人拜倫之女),能夠說是第一個程序員;
20世紀開始的幾十年,程序主要以穿孔卡片的方式編制。
 
1940s,產生了真正意義上的電子計算機,
主要被軍事目的所驅動,如加解密、彈道計算,這個時期的語言因爲內存和計算能力的有限,都是使用硬件相關的彙編語言;
 
1950s~1960s,隨着電子技術的進步,計算機進入大型機時代,一些高級語言被逐漸開發出來
主要用於系統級編程和數學計算,
Fortran(1950s由IBM團隊發明的數學計算語言),
COBOL(1950s由IBM等行業領袖推行的金融、商務系統開發語言),
LISP(用於人工智能領域,主要的數據結構是Linked List,全名爲List Process語言,引入了不少先進的特性如遞歸、動態類型、自動內存管理等特性)
ALGOL(用於算法描述、學術領域,引入嵌套結構,語法範圍等,很大的影響了BPCL,B,PASCAL等語言
Basic(最先是爲給非科學領域的學生所編寫,Microsoft VB的前身)
 
1970s,產生了C語言和一些早期的面向對象編程語言
C(1970s由Dennis Ritchie和Brian Kernighan發明的爲DEC機開發的系統編程語言,前身是BPCL,B語言)
Simula(第一個支持面向對象的編程語言)
SmallTalk(第一個完整實現面向對象特性的編程語言)
 
1980s,向PC時代過渡,語言特性的合併、優化、發展
C++(綜合了SmallTalk面向對象特性和C語言語法,最爲普遍應用的面嚮對象語言之一)
MATLAB(工業領域,工程計算語言)
Objective-C(iOS編程語言,已是Top5的語言之一)
Erlang(多重範式編程語言,函數式、併發式、分佈式,80年代由愛立信發明用於通訊網絡編程,現已普遍應用於互聯網高併發分佈式計算領域,最有名的做品包括CouchDB/RabbitMQ)
Perl(源於Unix腳本的動態語言,初衷是爲了使報告更容易處理,借鑑了C/sh/AWK和SED)
Tcl(曾經是很流行的測試腳本語言,如今已經沒落)
 
1990s,PC時代,互聯網時代萌芽,產生了不少動態語言和可視化編程集成環境IDE
Windows因爲壟斷PC市場,其基於VC/VB的桌面應用開發曾經是客戶端開發技術的主流,
隨之而來催生了大量的基於Windows SDK客戶端應用,MFC是其中最爲知名的一個C++類庫實現
Python/Ruby/Lua/PHP/JS
Java(發展爲3個體系,J2SE/J2EE/J2ME,J2EE包含一些企業特性如JDBC, JPA, JTA/JMS/EJB,J2ME是移動版本)
Visual Basic/Visual C++/Delphi(Object Pascal)/Power Builder
Javascript(瀏覽器客戶端腳本,Netscape發明,包含ECMAScript核心腳本, DOM文檔對象模型, BOM瀏覽器對象模型三部分)
 
2000s~如今, 互聯網/移動互聯網時代,C/S模式進化爲B/S模式,Java/PHP/.Net大行其道,並行計算/分佈式計算愈來愈重要
ActionScript(Adobe公司發明,面向對象的Flash開發語言)
C#/Visual Basic.Net
Groovy(由VMVare支持,基於Java平臺的動態語言,支持元數據編程Metaprogramming,動態擴展對象數據,如反射,
還好比範型編程(如C++的STL,最先版本由HP實現)能爲語言提供運行時再肯定的動態類型特性,能夠大大簡化編碼)
Go (C語言之父發明的並行計算語言)
Node.js(服務器端的JS運行環境,Js語言在服務器端的延伸,具備單線程,高併發的特性)
 
當前編程語言自己發展變化不大,對應于敏捷的開發模式和工程化水平的提升,各個語言體系都開發出了快速開發框架,
另外爲了應對移動/互聯網領域高併發、分佈式和大數據的挑戰,有不少基礎服務產品被開發和普遍應用。
在快速開發框架方面:基於PHP的Yii/CI/Cake/Smarty,基於Java的Sping/Struts/Hibernate/Tapestry,基於Ruby的Rails,基於Python的Django
在基礎服務方面:有Java寫的Lucence,C++寫的Sphinx全文檢索引擎,Erlang開發的CouchDB,Java編寫的Hbase/Mahout等
在應用和代理服務器方面:C語言寫的httpd/nginx,Java的tomcat/jetty,C和Java混合編寫的Resin,C語言寫的haproxy
在並行開發方面:C語言寫的Github

--------------------- 
本文來源:CSDN
原文:https://blog.csdn.net/iefreer/article/details/9270507
 
 
個人預測:
       在將來的世界中,必定會出現更強的編程語言或者說是編程方式,達到一種輕鬆快捷完成任何想要實現的東西,人工智能的快速發展必將給
全世界帶來震撼,那是的編程語言將不會是java語言的普遍廣泛,只會用java語言的一些概念基礎來完善一種只屬於人工智能的語言。固然,這
一切也只是個人憑空猜測,可是我以爲個人猜測必定會有人來實現,那時的計算機將不會是如今的普通模樣,而是與人類直接溝通完成任何指令。
一切皆有可能!
相關文章
相關標籤/搜索