日本电影一区二区_日本va欧美va精品发布_日本黄h兄妹h动漫一区二区三区_日本欧美黄色

低代碼無代碼平臺的未來在哪里?編程語言的進(jìn)化史告訴你答案(低代碼和無代碼是什么)

最近低代碼無代碼成為社會關(guān)注的焦點(diǎn),但低代碼并不是憑空出現(xiàn)的。從編程語言的發(fā)展歷史來看,提高編碼效率是無數(shù)軟件前輩的初衷和心血凝結(jié),也是編程語言不斷進(jìn)化的結(jié)果。今天我們就來捋一捋計(jì)算機(jī)語言的發(fā)展歷史,其中既有令人嘖嘖贊嘆的成就,也有令人扼腕嘆息的失敗。

從現(xiàn)在主流的觀點(diǎn)來看,計(jì)算機(jī)語言一共分為1-5代。

最早的計(jì)算機(jī),是通過修改其電路或設(shè)置物理控制組來編程的,這時候的計(jì)算機(jī)還用不到任何語言,完全依靠硬件線路來進(jìn)行計(jì)算。

低代碼無代碼平臺的未來在哪里?編程語言的進(jìn)化史告訴你答案(低代碼和無代碼是什么)

最早的計(jì)算機(jī)

第一代編程語言(1GL):這時的程序基本采用機(jī)器語言編寫,程序大多采用十進(jìn)制或二進(jìn)制編寫。通過打孔卡、紙帶、磁帶等硬件輔助讀取程序的內(nèi)容。

低代碼無代碼平臺的未來在哪里?編程語言的進(jìn)化史告訴你答案(低代碼和無代碼是什么)

計(jì)算機(jī)通過紙帶讀取程序

第二代編程語言(2GL)也叫匯編語言,它們?nèi)匀慌c特定計(jì)算機(jī)的指令集和體系結(jié)構(gòu)密切相關(guān),但匯編語言使程序更具可讀性,并使程序員從繁瑣且容易出錯的地址計(jì)算中解脫出來。

低代碼無代碼平臺的未來在哪里?編程語言的進(jìn)化史告訴你答案(低代碼和無代碼是什么)

我們所說的第三代編程語言就叫做高級編程語言了,如果放寬界限來看,現(xiàn)在大部分主流的編程工具都采用第三代編程語言。首先是ALGOL[1]和LISP[2],然后是用于數(shù)據(jù)計(jì)算的Fortran[3]和面向?qū)ο蟮腟malltalk[4],C語言是從 1969 年開始開發(fā),到 1973 年間完成的,C語言不僅作為Unix[5]操作系統(tǒng)的系統(tǒng)編程語言,至今還能夠一直保持流行,主要原因還是與硬件聯(lián)系緊密。所以直到今天,C語言一直在擔(dān)負(fù)和硬件打交道重要職責(zé)。

低代碼無代碼平臺的未來在哪里?編程語言的進(jìn)化史告訴你答案(低代碼和無代碼是什么)

C語言

迪杰斯特拉(Edsger Dijkstra)是荷蘭著名的計(jì)算機(jī)學(xué)家,是把計(jì)算機(jī)從工具層面提升到計(jì)算機(jī)科學(xué)層面的重要奠基者。他的貢獻(xiàn)覆蓋了計(jì)算機(jī)科學(xué)的各個領(lǐng)域,包括編譯器、操作系統(tǒng)、分布式、編程范式、編程語言(他和wirth一起參與發(fā)明了Algol語言)計(jì)算機(jī)算法等多個領(lǐng)域,很多算法都是以他的名字命名?,F(xiàn)在軟件的教科書中都有Dijkstra關(guān)于最短路徑計(jì)算的算法以及他的程序“死鎖”的案例。

低代碼無代碼平臺的未來在哪里?編程語言的進(jìn)化史告訴你答案(低代碼和無代碼是什么)

Edsger Dijkstra是荷蘭人,與Wirth開發(fā)ALGOL(ALGOrithmic Language)

Dijkstra是最早提出軟件架構(gòu)的科學(xué)家,他從多個角度強(qiáng)調(diào),結(jié)構(gòu)正確對軟件成敗至關(guān)重要。在他的不斷堅(jiān)持下,編程語言中清除了Goto語句,使得后續(xù)語言都形成了結(jié)構(gòu)化語言的編程風(fēng)格。

隨著Dijkstra對語言結(jié)構(gòu)化的努力,Alan Kay等人發(fā)明了面向?qū)ο蟮木幊谭椒?。C , JAVA、PHP、Python等語言逐步成為了高級語言的核心。

軟件架構(gòu)師必讀:面向?qū)ο缶幊趟枷耄∣OP)的由來與本質(zhì)

我認(rèn)為現(xiàn)代程序員都應(yīng)該感謝Dijkstra,正是因?yàn)樗呐Γ虐丫幊踢@一工作從一門“手藝”變成一門“學(xué)問”。可是,大師都慢慢離我們遠(yuǎn)去,我們正在把編程從一門“學(xué)問”變回一門“手藝”。

低代碼無代碼平臺的未來在哪里?編程語言的進(jìn)化史告訴你答案(低代碼和無代碼是什么)

多種高級語言

隨著CPU和內(nèi)存等硬件不斷高速發(fā)展,軟件需求也變得越來越復(fù)雜。我們當(dāng)前使用的程序語言中有很多類庫,使得程序員不必陷入重復(fù)造輪子的體力勞動中,當(dāng)程序員要系統(tǒng)運(yùn)行某個功能時,只需要發(fā)出指令,計(jì)算機(jī)就知道要調(diào)用并運(yùn)行對應(yīng)的代碼。

低代碼無代碼平臺的未來在哪里?編程語言的進(jìn)化史告訴你答案(低代碼和無代碼是什么)

CPU等硬件快速發(fā)展

第四代編程語言的提出者當(dāng)屬 James Martin[7],他是IBM的著名專家,在《不使用程序員的應(yīng)用程序開發(fā)》一書中首次正式使用術(shù)語 4GL(第四代編程語言) 來指代具備一定自動生成程序能力的語言。隨著圖形化界面的進(jìn)一步的普及和發(fā)展,可視化編程語言逐漸普及,如果在第四代編程語言的基礎(chǔ)上,把系統(tǒng)運(yùn)行的過程以更視覺化的方式呈現(xiàn)出來,例如圖標(biāo)、表格、圖表等形態(tài)。那就可以做到低代碼編程甚至實(shí)現(xiàn)無代碼平臺。

低代碼無代碼平臺的未來在哪里?編程語言的進(jìn)化史告訴你答案(低代碼和無代碼是什么)

James Martin最早是IBM的高級軟件顧問

當(dāng)時4GL主要包括以下內(nèi)容:

1、數(shù)據(jù)庫表驅(qū)動(低代碼)編程,通常與框架和庫一起運(yùn)行。開發(fā)人員不使用編碼,而是采用可視化的操作形成各種所需表單,例如著名的PowerBuilder[8]。實(shí)際上,在后來的微軟的Visual Basic 和 Borland 的Delphi上,大家已經(jīng)體會到了什么是低代碼開發(fā)的高效率?,F(xiàn)在的低代碼只是那些工具的瀏覽器升級版本。

2、數(shù)據(jù)報(bào)告生成器的編程。這些語言對數(shù)據(jù)格式和將要生成的報(bào)告進(jìn)行描述,并從中直接生成所需的報(bào)告或生成程序來生成報(bào)告。其實(shí)我們現(xiàn)在應(yīng)用最廣泛的SQL語言,就是在用英文說我們要什么數(shù)據(jù)。此外,還有如SAS[9]、SPSS[10]和Stat等數(shù)據(jù)分析工具,數(shù)據(jù)管理類的4GL操作界面,主要用于生成報(bào)告和統(tǒng)計(jì)分析。當(dāng)前低代碼有一部分也是數(shù)據(jù)分類別的工具。

3、軟件模型化的工作成果。軟件工程CASE[11]工具以及可能還有一些附加處理邏輯的規(guī)范中,自動生成程序框架甚至整個系統(tǒng)。例如OMG標(biāo)準(zhǔn)組織的BPMN2.0,眾多低代碼的流程工具正是源于此類成果。

低代碼無代碼平臺的未來在哪里?編程語言的進(jìn)化史告訴你答案(低代碼和無代碼是什么)

4GL主要內(nèi)容

從第四語言的發(fā)展來看,我們都可以從當(dāng)前“低代碼”軟件中看到這些軟件發(fā)展方向的延續(xù)。低代碼正是第四代語言的延續(xù),無代碼將是第四代語言的終點(diǎn)。

第五代語言旨在讓計(jì)算機(jī)在沒有程序員的情況下解決給定的問題。這樣,用戶只需關(guān)心需要解決什么問題,需要滿足什么條件,而不必?fù)?dān)心如何實(shí)現(xiàn)一個程序或算法來解決它們。從 1982年到1993 年之間,日本在第五代計(jì)算機(jī)系統(tǒng)項(xiàng)目中投入了大量研究和資金,希望使用這些工具設(shè)計(jì)一個龐大的計(jì)算機(jī)網(wǎng)絡(luò)。但事實(shí)證明,在給定一組定義特定問題的約束下,推導(dǎo)出一個有效解決問題的算法,本身就是一個非常困難的問題。

低代碼無代碼平臺的未來在哪里?編程語言的進(jìn)化史告訴你答案(低代碼和無代碼是什么)

5GL需要人工智能助力

從軟件編程的歷史來看,第五代語言顯然為時過早。人工智能的研究沒能為第五代語言插上智能的翅膀,反倒是第五代語言的失敗直接導(dǎo)致了“符號派”人工智能領(lǐng)域的沒落,因此在編程語言方面的進(jìn)展就更慢了,大多數(shù)計(jì)算機(jī)科學(xué)家都認(rèn)為短期內(nèi)此路不通。雖然,五代機(jī)后期趕上互聯(lián)網(wǎng)的崛起,分散了技術(shù)的注意力。雖然第五代語言失敗了,但也真正地為編程語言探索一把“未來”!
[1] ALGOL是算法語言(ALGOrithmic Language)的簡稱。
[2] LISP是定位編號分離協(xié)議的英文Locator ID Separation Protocol的縮寫。實(shí)質(zhì)是一個IPinIP的協(xié)議。
[3] 公式翻譯器,是FormulaTranslation的中文翻譯。
[4] Smalltalk,被公認(rèn)為歷史上第二個面向?qū)ο蟮?span id="qsh1b7padf" class="candidate-entity-word" data-gid="12570827">程序設(shè)計(jì)
語言,和第一個真正的集成開發(fā)環(huán)境(IDE)。Smalltalk由艾倫·凱,Dan Ingalls,Ted Kaehler,Adele Goldberg等于70年代初在Xerox PARC開發(fā)。
[5] Unix是20世紀(jì)70年代初出現(xiàn)的一個操作系統(tǒng),除了作為網(wǎng)絡(luò)操作系統(tǒng)之外,還可以作為單機(jī)操作系統(tǒng)使用。
[6] 艾茲格·W·迪科斯徹在1972年獲得過素有計(jì)算機(jī)科學(xué)界的諾貝爾獎之稱的圖靈獎。
[7] 詹姆斯·馬丁(James Martin),牛津大學(xué)計(jì)算機(jī)專業(yè)教授,博士,美國著名的管理和信息技術(shù)專家,馬丁顧問公司的主席。
[8] 它包含一個直觀的圖形界面和可擴(kuò)展的面向?qū)ο蟮木幊陶Z言PowerScript,提供與當(dāng)前流行的大型數(shù)據(jù)庫的接口,并通過ODBC與單機(jī)數(shù)據(jù)庫相連。是客戶機(jī)/服務(wù)器結(jié)構(gòu)下,基于Windows3.x、Windows95Windows NT的一個集成化開發(fā)工具。
[9] statistical analysis system統(tǒng)計(jì)分析系統(tǒng)。
[10] SPSS(Statistical Product and Service Solutions),“統(tǒng)計(jì)產(chǎn)品與服務(wù)解決方案”軟件。
[11] CASE工具原來指用來支持管理信息系統(tǒng)開發(fā)的、由各種計(jì)算機(jī)輔助軟件和工具組成的大型綜合性軟件開發(fā)環(huán)境,隨著各種工具和軟件技術(shù)的產(chǎn)生、發(fā)展、完善和不斷集成,逐步由單純的輔助開發(fā)工具環(huán)境轉(zhuǎn)化為一種相對獨(dú)立的方法論。

【博士聊IT】,感興趣,加關(guān)注。

「博士聊IT」一文看懂編程的本質(zhì),程序員有前途么?

七步成詩,軟件是如何把人類思維翻譯成機(jī)器代碼的

軟件架構(gòu)師必讀:面向?qū)ο缶幊趟枷耄∣OP)的由來與本質(zhì)

中國為什么沒有自己的編程語言?哲學(xué)、數(shù)學(xué)和語言學(xué)基礎(chǔ)是關(guān)鍵

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
公眾號
公眾號
在線咨詢
分享本頁
返回頂部
莱州市| 习水县| 平阴县| 遂昌县| 体育| 永吉县| 牟定县| 黄山市| 自治县| 黄梅县| 兴仁县| 井陉县| 彩票| 彰化县| 通许县| 宁津县| 库车县| 建水县| 原平市| 临猗县| 南皮县| 安新县| 增城市| 阿拉善左旗| 介休市| 南投市| 呈贡县| 连云港市| 昔阳县| 宜宾县| 上栗县| 宝应县| 基隆市| 甘南县| 南通市| 娱乐| 白银市| 潮安县| 东城区| 洛扎县| 常熟市|