【熟肉】100秒介紹Fortran

FORTRAN(第一種問(wèn)世的高級(jí)語(yǔ)言)
一種編譯指令程序設(shè)計(jì)語(yǔ)言。
它是由IBM的John Bakkus于1950年代發(fā)明。
他的動(dòng)機(jī)是他懶得為IBM704打星際編寫匯編程序。1957年“公式翻譯器”成為世界上第一種編程語(yǔ)言。
雖然,但是的計(jì)算機(jī)雖然很稀少,但它是一個(gè)巨大的科技突破。因?yàn)榧幢悴皇怯?jì)算機(jī)科學(xué)領(lǐng)域的專業(yè)人員,也可以順利使用一臺(tái)計(jì)算機(jī)。
最關(guān)鍵的是它實(shí)現(xiàn)了最早的編譯器優(yōu)化。讓它能夠生產(chǎn)幾乎和手寫代碼一樣高效的機(jī)器碼。
其主要被應(yīng)用在負(fù)載較大的數(shù)字運(yùn)算和科學(xué)計(jì)算任務(wù)當(dāng)中。
70年代編寫Fortran程序時(shí),并沒(méi)有花哨的編輯器和終端可用。只能用打孔卡片。
每張卡片都代表一行代碼,并被整齊地方程一疊來(lái)保存。然后就可以放進(jìn)讀卡器種進(jìn)行編譯。對(duì)現(xiàn)代的開(kāi)發(fā)者而言,只需要安裝一個(gè)Fortran編譯器。然后創(chuàng)建一個(gè).f文件或者.f95文件,用來(lái)制定版本為fortran95,使用program關(guān)鍵字給應(yīng)用命名。老版本的Fortran要求所有的關(guān)鍵字都必須大寫。因?yàn)橹?970年代,打孔卡片機(jī)器上都是沒(méi)由shift鍵的。要聲明變量,只需要注明類型和名稱,初始值是可選的。任何名字以i,j,k,l,m,n開(kāi)頭的變量都會(huì)背自動(dòng)當(dāng)作整形。要禁用這個(gè)遠(yuǎn)古特性,需要在程序頭部加入implicit,none語(yǔ)句以關(guān)閉隱式類型。
在聲明字符類型是指定一個(gè)最大長(zhǎng)度就可以創(chuàng)建一個(gè)字符串。
使用執(zhí)行語(yǔ)句print*就可以把這個(gè)值打印在標(biāo)準(zhǔn)輸出里。
另外,dimension關(guān)鍵詞可以被用于創(chuàng)建數(shù)組。制定多個(gè)維度則會(huì)創(chuàng)建一個(gè)矩陣。但要小心不要分配太多內(nèi)存。
早期版本的Fortran并不提供細(xì)粒度的內(nèi)存管理。不過(guò)新版里提供了對(duì)只指針的支持,可以手動(dòng)分配或釋放內(nèi)存。但Fortran在五十年代真正的殺手級(jí)功能是執(zhí)行循環(huán)的能力。
do和do while 語(yǔ)句讓編寫循環(huán)變得相對(duì)簡(jiǎn)單。任何人都可以輕松的讓計(jì)算機(jī)重復(fù)地執(zhí)行某個(gè)任務(wù)。除此之外,F(xiàn)ortran還接住過(guò)程提高了代碼的復(fù)用性。函數(shù)過(guò)程以一個(gè)或數(shù)個(gè)不可變參數(shù)作為輸入。進(jìn)行一些計(jì)算并返回一個(gè)值。可以用函數(shù)的名字在其他地方調(diào)用這個(gè)函數(shù)。子過(guò)程則是另一種過(guò)程,它的參數(shù)是可變的。但它并不會(huì)返回任何值。
完成編寫之后,用你最喜歡的編譯器實(shí)現(xiàn)把你的代碼轉(zhuǎn)換為二進(jìn)制可執(zhí)行文件即可。完成編寫之后,用你最喜歡的編譯器實(shí)現(xiàn)把你的代碼轉(zhuǎn)換為二進(jìn)制可執(zhí)行文件即可。
















