溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

編程語(yǔ)言發(fā)展史上有哪些趣事?

發(fā)布時(shí)間:2020-06-11 12:51:31 來(lái)源:網(wǎng)絡(luò) 閱讀:1183 作者:qq59360cbfb048b 欄目:開發(fā)技術(shù)


1、世界上第一個(gè)可編程的機(jī)器是由法國(guó)人Joseph Marie Jacquard于1801年發(fā)明的雅卡爾織布機(jī),使用打孔卡片進(jìn)行編程,控制織布機(jī)織出不同圖案的布


2、英國(guó)詩(shī)人拜倫的女兒、數(shù)學(xué)家Ada Lovelace描述了一個(gè)計(jì)算伯努利數(shù)的算法和程序,被認(rèn)為是最早的計(jì)算機(jī)程序,并被尊為第一位程序員。但是,1815年才出生的她,不可能比上一則說(shuō)的Jacquard更早地進(jìn)行編程工作。后來(lái)美國(guó)國(guó)防部組織開展研發(fā)的Ada語(yǔ)言以這位女?dāng)?shù)學(xué)家的名字命名。


3、我們一般認(rèn)為1957年發(fā)明的Fortran是世界上第一門高級(jí)編程語(yǔ)言,而實(shí)際上早在1942至1945年,發(fā)明了世界上第一臺(tái)圖靈完全的通用數(shù)字計(jì)算機(jī)Z3的德國(guó)工程師Konrad Zuse還研發(fā)了一種叫作Plankalkül的語(yǔ)言??上У氖?,Z3在1944年柏林轟炸中被炸毀,Plankalkül在戰(zhàn)爭(zhēng)結(jié)束前既沒(méi)有正式發(fā)表,也沒(méi)有被實(shí)現(xiàn)。這門語(yǔ)言的設(shè)計(jì)一直到了1972年才被正式發(fā)表出來(lái),而1998年第一個(gè)該語(yǔ)言的編譯器才首次被實(shí)現(xiàn)。這門語(yǔ)言對(duì)后世的編程語(yǔ)言設(shè)計(jì)幾乎沒(méi)有任何影響,但是它卻考慮了包括賦值語(yǔ)句、子程序、條件判斷、循環(huán)、浮點(diǎn)小數(shù)計(jì)算、數(shù)組、擁有層次結(jié)構(gòu)的結(jié)構(gòu)體、斷言、異常處理、結(jié)果導(dǎo)向執(zhí)行(注:書上寫作目標(biāo)搜尋,英文似乎是goal-directed execution)等后來(lái)許多語(yǔ)言都不具有的功能,這些設(shè)計(jì)在當(dāng)時(shí)以及之后的很長(zhǎng)一段時(shí)間內(nèi)都是非常具有先進(jìn)性的。


4、著名計(jì)算機(jī)科學(xué)家、圖靈獎(jiǎng)得主John McCarthy于1958年發(fā)明了LISP語(yǔ)言,但是LISP這種迥異于其他語(yǔ)言的表達(dá)方法S-expression并不是他原本的設(shè)計(jì),John McCarthy原本設(shè)計(jì)了一種叫作M-expression的表達(dá)方法,而S-expression則是一種中間語(yǔ)言。令他萬(wàn)萬(wàn)沒(méi)有想到的是,最后流行開的是那個(gè)中間語(yǔ)言S-expression。另外LISP具備垃圾回收、異常處理等后來(lái)高級(jí)語(yǔ)言的許多特性,也是一門很先進(jìn)的語(yǔ)言,不過(guò)這些已有許多文章進(jìn)行描述,這里就不多說(shuō)了。

M: (A B C)

S: (QUOTE (A B C))


M: car[x]

S: (CAR X)


M: car[append[(A B C); (D E F)]]

S: (CAR (APPEND (QUOTE (A B C)) (QUOTE (D E F))))


5、Guido van Rossum喜歡看喜劇團(tuán)體Monty Python,所以發(fā)明了一個(gè)編程語(yǔ)言叫作Python。同樣的,Python自帶的那個(gè)IDE,IDLE名字來(lái)源于該團(tuán)體的成員Eric Idle。此外,用來(lái)表示垃圾郵件的單詞spam也是出自Monty Python這部作品,而這個(gè)單詞在劇中指的是Spam品牌的午餐肉。


6、編程語(yǔ)言Perl的名字來(lái)源于珍珠Pearl,發(fā)明者Larry希望給語(yǔ)言起一個(gè)簡(jiǎn)短而有積極含義的名稱。受到這個(gè)影響,松本行弘在發(fā)明Ruby的時(shí)候也從珠寶中選擇名字,并且選擇了Ruby。松本還提到,Ruby還跟誕生石(birthstone)有關(guān),可是生于4月的松本行弘為什么選擇了七月份出生的同事的誕生石紅寶石呢,一定是好×××啊。


7、JavaScript的命名還真跟Java有關(guān),所以他們不是雷鋒和雷峰塔的關(guān)系,更像是印度和印度尼西亞的關(guān)系。Netscape希望這是一個(gè)Java的客戶端版本,一種輕型的腳本語(yǔ)言,并且不像Java和C++那樣針對(duì)專業(yè)的開發(fā)人員。


8、Lua的意思是月亮女神,是由三個(gè)巴西人Roberto Ierusalimschy、Waldemar Celes、Luiz Henrique de Figueiredo發(fā)明。發(fā)明的原因是巴西石油公司(當(dāng)然,是一個(gè)國(guó)企)PETROBRAS沒(méi)辦法使用指定的硬件,使用公眾的資金需要通過(guò)一系列的嚴(yán)格手續(xù),并且現(xiàn)有設(shè)備中什么平臺(tái)什么系統(tǒng)都有,所以Lua被設(shè)計(jì)成一個(gè)基于ANSI C開發(fā)可以任意跨平臺(tái)的語(yǔ)言。


9、Smalltalk現(xiàn)在已經(jīng)很難見到,但是他影響了我們今天還在使用的許許多多語(yǔ)言,以及后來(lái)的所有面向?qū)ο缶幊陶Z(yǔ)言的開發(fā)者。


10、現(xiàn)在iOS開發(fā)者所使用的、在現(xiàn)在大紅大紫的Objective-C,是一個(gè)和C++同歲的語(yǔ)言,都是早期對(duì)C語(yǔ)言進(jìn)行拓展的面向?qū)ο缶幊痰拈_拓者。不過(guò)iOS上使用的Objective-C 2.0,跟Objective-C的作者Brad Cox沒(méi)有一點(diǎn)關(guān)系,“除了我喜歡Apple的產(chǎn)品以外,我同他們沒(méi)有什么關(guān)系”。


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI