編程語言演變史

1940s,產生了真正意義上的電子計算機,這個時期的語言因爲內存和計算能力的有限,都是使用硬件相關的彙編語言;nginx

1950s~1960s,隨着電子技術的進步,計算機進入大型機時代,一些高級語言被逐漸開發出來主要用於系統級編程和數學計算,算法

Fortran(1950s由IBM團隊發明的數學計算語言),編程

COBOL(1950s由IBM等行業領袖推行的金融、商務系統開發語言),瀏覽器

LISP(用於人工智能領域,主要的數據結構是Linked List,全名爲List Process語言,引入了不少先進的特性如遞歸、動態類型、自動內存管理等特性)tomcat

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

 

 

原文來自:https://blog.csdn.net/iefreer/article/details/9270507

相關文章
相關標籤/搜索