Fortran ilitengenezwa na kampuni hiyo. Lugha za kwanza za kiwango cha juu cha programu

Lugha ya programu ya Fortran hutumiwa kimsingi kwa kompyuta ya kisayansi. Ilianzishwa mnamo 1954 lugha ya zamani zaidi programu ya kiwango cha juu, ikifuatiwa na Lisp (1958), Algol (1958) na COBOL (1959). Idadi ya maktaba za kisayansi zilizoandikwa huko Fortran na uundaji wa wakusanyaji maalum wa watafsiri huruhusu lugha hiyo kutumika leo. Kwa kuongezea, vikokotoo vingi vimeundwa kwa ajili ya vectorization, coprocessors, parallelism, ambayo huingiza lugha hii kwa matumizi katika uzalishaji viwandani ulimwengu wa kisasa.

John Backus, mhandisi wa redio wa IBM, alichapisha karatasi mnamo 1954 zenye kichwa "Ripoti ya Awali", "Specifications for the IBM Matmal Transmula TRANslating System", ambayo ilizaa neno FORTRAN. Kisha ilichukua miaka mingine miwili ya juhudi na timu nzima, ambayo aliongoza, kuandika mkusanyaji wa kwanza wa lugha ya programu ya Fortran (mistari 25,000 kwa IBM 704).

Jina la lugha liliandikwa hapo awali kwa herufi kubwa FORTRAN na ilitumika kurejelea matoleo ya lugha hadi Fortran 77, kinyume na matoleo ya bure syntax kuanzia Fortran 90. Katika kiwango cha Fortran 77 kesi ya chini si sehemu ya lugha, lakini watunzi wengi wanaziunga mkono pamoja na kiwango.

Leo, lugha ya programu ya Fortran ndiyo lugha kuu ya programu inayotumiwa katika maombi ya uhandisi. Kwa hivyo, ni muhimu kwamba wahandisi waliohitimu wanaweza kusoma na kurekebisha nambari ya Fortran. Mara kwa mara, wanaoitwa wataalam wanatabiri kwamba lugha itapoteza umaarufu wake na hivi karibuni itaacha kutumika kabisa.

Utabiri huu haukufaulu kila wakati. Fortran ni imara zaidi lugha ya kompyuta programu katika historia. Moja ya sababu kuu kwa nini lugha ya programu ya Fortran imesalia na itaishi ni hali programu. Baada ya kampuni kutumia rasilimali nyingi na ikiwezekana mamilioni ya dola programu, hakuna uwezekano kwamba atatafsiri programu katika lugha nyingine.

Faida kuu ya Fortran ni kwamba imesawazishwa na mashirika ya kimataifa ya ANSI na ISO. Kwa hiyo, ikiwa programu imeandikwa katika ANSI, basi itaendesha kwenye kompyuta yoyote na mkusanyiko wa Fortran 77. Hii habari muhimu. Kwa hivyo, programu za lugha ya programu inayolenga kitu Fortran zipo tofauti vifaa vya programu.

Hatua za kuunda jukwaa la lugha:

  1. Mnamo 1954-1957, mkusanyaji wa kwanza alitengenezwa kutoka mwanzo. Siku hizo hapakuwa na "lugha za kiwango cha juu" (=HLL), nyingi mifumo ya uendeshaji zilikuwa rahisi, na kumbukumbu ilikuwa ndogo, kitu kama 16 KB. Mkusanyaji wa kwanza aliendesha IBM 704. Lugha hii ya HLL ilikuwa bora zaidi kuliko programu ya mkusanyiko na maarufu sana wakati wake.
  2. FORTRAN II ilichapishwa mnamo 1958. Mwaka huo huo, FORTRAN III ilitengenezwa lakini haikutolewa katika uzalishaji ulioenea.
  3. Mnamo 1961, FORTRAN IV iliundwa. Ilikuwa na maboresho kama vile utekelezaji wa taarifa za KAWAIDA na USAWA.
  4. Mnamo 1962, kamati ya ASA ilianza kuunda kiwango cha lugha ya programu inayolenga kitu Fortran. Hii iliruhusu muuzaji kuitumia katika kila kompyuta mpya. Na ukweli huu uliifanya kuwa maarufu zaidi HLL, lugha ilipatikana katika Mifumo ya Apple na TRS80.
  5. Mnamo 1967, FORTRAN 66, kiwango cha kwanza cha HLL ulimwenguni, kilitolewa. Kuchapishwa kwa sanifu kulimaanisha kuwa lugha hiyo ilitekelezwa kwa upana zaidi kuliko nyingine yoyote. Kufikia katikati ya miaka ya 1970, karibu kila kompyuta, mini, au mfumo mkuu ulikuwa na vifaa lugha sanifu FORTRAN 66. Lugha iliyotumika if-statements, goto-statements, na programu za spagethi. Aina hii ya programu iliyopangwa ikawa maarufu katika miaka ya 60 na 70.
  6. "Fortran" ilikuwepo kwenye kadi zilizopigwa hasa, na mfumo wa FMS, kuboresha mpangilio wa vyanzo vyake hadi Fortran 90 ilianzisha syntax "ya bure". Ndani yake, nambari ya safu ya Fortran huanza kutoka safu ya 7 na haipaswi kuzidi herufi elfu 72.

Inapaswa pia kuzingatiwa kuwa kabla ya Fortran 90, nafasi hazikuwa na maana kati ya safu ya 7 na 72. Hivyo mzunguko "DO I = 1.5" unaweza pia kuandikwa "DOI = 1.5". Kwa upande mwingine, "DOI = 1.5" ni sawa na "DOI = 1.5".

Nambari nyingi za kiviwanda zimeandikwa katika Nastran, NAG na maktaba ya IMSL-Fortran. Utangamano wa matoleo mapya na yaliyotangulia ni muhimu. Kwa sababu hii, Fortran 90 inaendana kikamilifu na Fortran 77. Hata hivyo, matoleo yaliyofuata ya kiwango tayari yameanzisha kutokubaliana.

Lugha za hali ya juu zaidi Fortran 90 na Fortran 95 zilifuata hivi karibuni, zilizosasishwa hadi kiwango cha sasa cha Fortran-2003. Kwa kuzingatia kwamba watunzi wa kisasa hufanya kazi bila kikomo katika kila sasa Matoleo ya Windows na hata kusaidia wasindikaji 64-bit. Wakati huo huo, watengenezaji wametambua mwelekeo wa nyakati na wanatoa vikusanyaji vya Linux katika mfumo wa lugha ya programu inayolengwa na kitu Actor Fortran.

Masharti ya kutumia lugha ya programu

Ni lazima ieleweke kwamba Fortran bado ni lugha ya programu inayotumiwa sana na inatumiwa hasa katika uwanja wa ugunduzi. Programu za zamani, kwa mfano katika fizikia au uhandisi, ambapo pana na ngumu mahesabu ya hisabati. Ni muhimu sana kwa sababu ya maktaba nyingi za hisabati ambazo zipo kwa watunzi tofauti. Kwa muhtasari, tunaweza kusema hivyo leo Lugha ya Fortran bado hutumiwa kwa sababu kadhaa:

  • Upatikanaji wa maktaba nyingi zinazofanya kazi zilizotengenezwa kwa miaka mingi.
  • Upatikanaji wa programu katika Fortran, ambayo inahitaji rasilimali muhimu sana kwa maendeleo, wakati wa kubadili lugha nyingine inachukuliwa kuwa ghali sana.
  • Upatikanaji wa wakusanyaji wenye nguvu na kujengwa ndani Kazi za Fortran, ambayo huzalisha haraka sana faili zinazoweza kutekelezwa.
  • Lugha inaweza kufikiwa zaidi na mvumbuzi ambaye hajapata kozi maalum ya kompyuta.

Programu nyingi za kisayansi sasa zimeandikwa katika C na C++, ambazo wakusanyaji wanapatikana kwenye mashine nyingi. Lugha zingine zilizokusanywa wakati mwingine hutumiwa kwa kompyuta ya kisayansi, na haswa kwa programu kama vile Scilab au Matlab. Mwisho pia ni pamoja na maktaba za BLAS na LAPACK, zilizotengenezwa katika programu ya Fortran. Matlab hapo awali ilikuwa programu ya Fortran iliyosambazwa kwa vyuo vikuu na vituo vya utafiti.

Ingawa Tom Lahey sasa ndiye mkusanyaji wa jumla "pekee", Lahey Computer Systems inaendelea kutumiwa na watengeneza programu wengi. Lahey amekuwa akifanya kazi na Fujitsu kwa miaka kadhaa sasa, huku Lahey akizingatia kichanganuzi cha Fortran na Fujitsu kwenye jenereta ya msimbo. Compiler Suite ya sasa ya Windows inaitwa Lahey Fujitsu Fortran 95 (LF95) na inapatikana katika matoleo tofauti, baadhi ambayo pia huunganisha na Studio ya Visual.NET 2003.

Pia kuna toleo la bei nafuu la LF95 Express bila IDE yake yenyewe. Toleo la sasa ni 7.1. kwenye Linux inaitwa na mkusanyaji wa Lahey/Fujitsu Fortran 95 v6.2 kwa ajili ya Linux na inapatikana katika sehemu mbili. matoleo tofauti. Kwa mfano, Toleo la Pro inajumuisha utangamano wa OpenMP v2.0, injini rahisi ya michoro ya Winteracter Starter Kit, maktaba ya hisabati Na maktaba ya kisayansi Fujitsu 2 taratibu.

Mtengenezaji mwingine ni Absoft. Compilers na C ++ hazipo tu kwa Windows na Linux, lakini pia kwa OS X kwenye Macintosh. Wasanii hawa wanawavutia wasanidi programu wanaohitaji au wanaotaka kusaidia mifumo yote mitatu. Kwa bahati mbaya, Absoft hutofautisha kati ya matoleo ya 32-bit na 64-bit ya Linux, kwa sasa anatumia toleo la 10.0 la Fortran 95 kwa Linux 64-bit.

Mpya kwa soko ni EKOPath Compiler Suite. Hii ina wakusanyaji wa C++ na mazingira ya ukuzaji ya Fortran kwa Linux, ambayo pia yanapatikana kando na yanalenga hasa watumiaji wa 64-bit AMD. Pia inaendesha Intel EM64T. Microsoft pia mara moja ilijaribu kutafuta "soko la bei nafuu" la Fortran na kuanzisha Microsoft Powerstation kwenye soko.

Soko linaweza kuwa dogo sana kwa kampuni kubwa ya programu, lakini Digital ilichukua baadhi ya msimbo mwaka wa 1997 na kutumia uzoefu wake na wakusanyaji wa Digital Unix na OpenVMS. Huu ulikuwa ni kuzaliwa kwa Digital Visual Fortran iliyofanikiwa sana. Wakati fulani Digital kisha ikahamia Compaq, mkusanyaji alitengenezwa kwa toleo la sasa Compaq Visual Fortran (CVF) v6.6.

Mbali na majukwaa "ya kawaida" ya 32-bit, kuna watunzi mbalimbali wa 64-bit, kwa mfano kwa Intel Itanium na Intel EM64T. Ingawa sio "haraka" kwa wigo wa usambazaji, zinapatikana kwa upakuaji wa bure kupitia mfumo wa wavuti Msaada wa Intel Waziri Mkuu.

Baada ya usajili wa mara moja, unaotatiza kiasi fulani, unaweza kuutumia kwa mwaka mmoja, ukiwa na masasisho mapya kila baada ya wiki chache. Hata matoleo ya zamani yatabaki kupatikana.

Mpango wa Fortran ni mlolongo wa mistari ya maandishi. Maandishi lazima yafuate sintaksia mahususi. Kwa mfano: mduara wa radius r, eneo c.

Programu hii inasoma radius halisi na huamua eneo la duara na radius r:

"Radi r:"soma (*, *) r;

eneo = 3.14159 * r * r;

andika (*, *) "Eneo =";

Mistari inayoanza na "C" ni maoni na hayana madhumuni yoyote isipokuwa kufanya programu isomeke zaidi kwa watu. Hapo awali, programu zote za Fortran ziliandikwa ndani herufi kubwa. Watengenezaji programu wengi sasa wanaandika herufi ndogo kwa sababu inasomeka zaidi.

Mpango wa Fortran kawaida huwa na programu kuu au kiendeshaji na njia ndogo, taratibu, au subroutines kadhaa. Muundo kuu wa programu:

  • jina la programu;
  • matamko;
  • kauli;
  • kuacha;
  • mwisho.

Italiki hazipaswi kuchukuliwa kama maandishi halisi, bali kama maelezo ya Jumla. Taarifa ya kusitisha ni ya hiari na inaweza kuonekana si ya lazima kwa vile programu itakoma itakapofika mwisho, lakini inashauriwa kutamatisha programu kila wakati kwa taarifa ya kusitisha ili kusisitiza kwamba mtiririko wa utekelezaji unakatishwa.

Kanuni za nafasi ya safuwima

Fortran 77 sio lugha ya umbizo la bure, lakini ina seti kali ya sheria za umbizo msimbo wa chanzo. Wengi sheria muhimu ni sheria za mpangilio wa safu:

  • Kanali. 1: Tupu au "c" au "*" kwa maoni.
  • Kanali. 2-5: alama ya operator.
  • Kanali. 6: kuendelea kwa mstari uliopita.
  • Kanali. 7-72: taarifa.
  • Kanali. 73- 80: Nambari ya mlolongo.

Mstari wa Fortran unaoanza na herufi "c" au kinyota kwenye safu wima ya kwanza ni maoni. Maoni yanaweza kuonekana popote katika programu. Imeandikwa vizuri, ni muhimu kwa usomaji wa programu. Nambari za kibiashara za Fortran mara nyingi huwa na maoni kama 50%. Unaweza pia kukutana na programu zinazotumia Pointi ya mshangao(!). Hii sio ya kawaida sana katika Fortran 77, lakini inaruhusiwa katika Fortran 90.

Alama ya mshangao inaweza kuonekana popote kwenye mstari. Wakati mwingine taarifa haifai kwenye mstari mmoja, basi unaweza kuvunja taarifa katika mistari miwili au zaidi na kutumia ishara ya kuendelea katika nafasi.

  1. C23456789 - Hii inaonyesha nafasi ya safu.
  2. "C" - taarifa inayofuata inapitia maeneo mawili mistari ya kimwili.
  3. Eneo = 3.14159265358979 + * r * r.

Nafasi tupu zimepuuzwa kuanzia na Fortran 77. Kwa hivyo, ikiwa utaondoa nafasi zote katika Fortran 77, programu bado ni sahihi kisintaksia, ingawa karibu haisomeki kwa waendeshaji.

Majina yanayobadilika katika Fortran yanajumuisha vibambo 1-6, vilivyochaguliwa kutoka herufi a-z na nambari 0-9. Tabia ya kwanza lazima iwe barua. Fortran 90 inaruhusu majina tofauti ya urefu wa kiholela. Fortran 77 haitofautishi kati ya juu na kesi ya chini, kwa kweli inadhania kuwa pembejeo zote ni kesi ya juu. Hata hivyo, karibu watunzi wote wa F 77 watakubali herufi ndogo. Kila kigezo lazima kifafanuliwe katika tamko. Hii inaweka aina ya kutofautisha. Orodha za kawaida za kutofautisha ni:

  • nambari kamili;
  • halisi;
  • usahihi mara mbili;
  • tata;
  • mantiki;
  • tabia.

Orodha ya vigeu lazima iwe na majina yaliyotenganishwa na koma. Kila tofauti lazima itangazwe mara moja. Ikiwa kigezo hakijatangazwa, F 77 hutumia seti ya sheria zisizo wazi ili kuanzisha aina. Hii ina maana kwamba vigezo vyote vinavyoanza na herufi "ndani" ni nambari kamili, na vingine vyote ni nambari halisi. Programu nyingi za zamani za F 77 hutumia sheria hizi zisizo wazi, lakini watayarishaji wa programu hawapaswi kufanya hivyo kwa sababu uwezekano wa makosa ya programu huongezeka sana ikiwa watatangaza vigeu bila kufuatana.

Fortran 77 ina aina moja tu ya anuwai kamili. Nambari kamili kwa kawaida huhifadhiwa kama vigeu 32-bit (baiti 4). Kwa hivyo, viwezo vyote kamili lazima vichukue thamani katika safu [-m, m], ambapo m ni takriban 2 * 10 9.

F 77 ina mbili aina tofauti kwa vigeu vya uhakika vinavyoelea, vinavyoitwa usahihi maradufu halisi. Baadhi ya mahesabu ya nambari yanahitaji sana usahihi wa juu, na usahihi mara mbili unapaswa kutumika. Kawaida halisi ni kutofautisha kwa byte 4 na usahihi mara mbili ni ka 8, lakini hii inategemea mashine.

Matoleo yasiyo ya kawaida ya Fortran hutumia sintaksia halisi*8 kurejelea vigeuzo vya sehemu zinazoelea za baiti 8. Baadhi ya mara kwa mara huonekana mara nyingi katika programu. Kwa hiyo, ni vyema kuwafafanua mara moja tu, mwanzoni mwa programu. Opereta ya parameter hutumiwa kwa hili. Pia hufanya programu kusomeka zaidi. Kwa mfano, mpango wa eneo la duara unapaswa kuandikwa kama hii.

Sintaksia ya waendeshaji wa parameta (jina = mara kwa mara, ..., jina = mara kwa mara). Sheria za operesheni ya parameta:

  1. "Kigeu" kinachofafanuliwa katika taarifa ya kigezo sio kigeugeu, lakini kigezo ambacho thamani yake haiwezi kubadilika kamwe.
  2. "Kigezo" kinaweza kuonyesha angalau kauli moja ya kigezo.
  3. Kigezo cha waendeshaji lazima kije kabla ya mwendeshaji wa kwanza anayeweza kutekelezwa

Baadhi ya sababu nzuri za kutumia parameter - husaidia kupunguza typos, rahisi kubadili mara kwa mara ambayo inaonekana mara nyingi katika programu.

Maneno ya Boolean inaweza tu kuwa na thamani.TRUE. au.UONGO. na inaweza kuundwa kwa kulinganisha kwa kutumia waendeshaji uhusiano.

Huwezi kutumia herufi kama vile "<» или «=» для сравнения в F 77, но можно использовать правильную двухбуквенную аббревиатуру, заключенную точками. Однако такие символы разрешены в Fortran 90.

Maneno ya kimantiki yanaweza kuunganishwa na viendeshaji kimantiki "NA", "AU", "SI", ambavyo vina maana dhahiri. Thamani za ukweli zinaweza kuhifadhiwa katika vigeu vya boolean. Mgawo huo ni sawa na mgawo wa hesabu.

Mfano: kimantiki a, ba = .TRUE.b = a .NA. 3.LT. 5/2

Utaratibu wa kipaumbele ni muhimu sana. Sheria ni kwamba maneno ya hesabu yanatathminiwa kwanza, kisha waendeshaji wa uhusiano, na hatimaye waendeshaji wenye mantiki. Kwa hivyo, b itawekwa .FALSE. Katika mfano hapo juu, vigeu vya boolean havitumiwi sana katika Fortran, lakini mara nyingi hutumiwa katika taarifa za masharti kama vile taarifa ya "ikiwa".

Mara kwa mara na kusudi

Njia rahisi zaidi ya usemi ni ya kudumu. Kuna aina 6 za viunga vinavyolingana na aina 6 za data. Hapa kuna baadhi ya nambari kamili: 10-10032767+15

Vipindi vya kweli: 1.0-0.252.0E63.333E-1.

E-notation ina maana ya kuzidisha mara kwa mara kwa 10 iliyoinuliwa kwa nguvu kufuatia "E". Kwa hivyo, 2.0E6 ni milioni mbili, na 3.333E-1 ni takriban theluthi moja. Kwa viunga ambavyo ni kubwa kuliko kubwa vinavyoruhusiwa, au vinavyohitaji usahihi wa juu, usahihi mara mbili unapaswa kutumika. Nukuu ni sawa na kwa viunga halisi, isipokuwa kwamba "E" inabadilishwa na "D".

Mfano:2.0D-11D99.

Hapa 2.0D-1 ni usahihi mara mbili na moja ya tano, wakati 1D99 ni moja ikifuatiwa na sufuri 99.

Aina inayofuata ni thabiti thabiti. Zinaonyeshwa na jozi za viunga (jumla au halisi), zikitenganishwa na koma na zimefungwa kwenye mabano.

Mifano ni: (2, -3)(1,9,9E-1). Nambari ya kwanza inaashiria sehemu halisi, na ya pili ni sehemu ya kufikiria.

Aina ya tano ni ya kudumu ya kimantiki. Wanaweza tu kuwa na maana moja kati ya mbili:

Tafadhali kumbuka kuwa nukta zenye herufi zinahitajika kuandikwa.

Aina ya mwisho ni wahusika wa kudumu. Mara nyingi hutumiwa kama safu ya wahusika inayoitwa kamba. Zinajumuisha mfuatano wa kiholela wa herufi zilizoambatanishwa katika viapostrofi (nukuu moja):

"Chochote huenda!"

"Ni siku nzuri"

Kamba na vibadilishi vya wahusika ni nyeti kwa kesi. Tatizo linatokea ikiwa unataka kuwa na apostrophe halisi katika mstari yenyewe. Katika kesi hii, unahitaji mara mbili apostrophe: "Ni" "siku nzuri", ambayo ina maana "Siku nzuri sana"

Taarifa za masharti ni vipengele muhimu vya lugha yoyote ya programu. Ya kawaida zaidi ya kauli hizi katika Fortran ni taarifa ya "ikiwa", ambayo kwa kweli ina aina kadhaa.

Rahisi zaidi ni usemi wa kimantiki "ikiwa" katika maelezo ya Fortran: ikiwa (maneno ya kimantiki) taarifa inayoweza kutekelezwa.

Hii inapaswa kuandikwa kwenye mstari mmoja, kwa mfano wakati wa kuamua thamani kamili ya x:

ikiwa (x .LT. 0) x = -x

Iwapo zaidi ya kauli moja itatekelezwa katika "ikiwa", basi sintaksia ifuatayo inafaa kutumika: ikiwa (msemo wa kimantiki) basitaarifasendif.

Mtiririko wa utekelezaji kutoka juu hadi chini. Vielezi vya masharti hutathminiwa kwa kufuatana hadi thamani halisi ipatikane. Nambari inayofaa inatekelezwa na udhibiti huhamia kwa taarifa inayofuata baada ya mwisho "ikiwa".

Ikiwa taarifa zinaweza kuwekwa kwa viwango vingi. Ili kuhakikisha usomaji, ni muhimu kutumia uingizaji sahihi. Hapa kuna mfano:

ikiwa (x .GT. 0) basi (x .GE. y) basi andika(*,*) "x ni chanya na x >= y"elsewrite(*,*) "x ni chanya lakini x< y"endifelseif (x .LT. 0) thenwrite(*,*) "x is negative"elsewrite(*,*) "x is zero"endif

Watayarishaji programu wanapaswa kuepuka kuweka viwango vingi vya taarifa za "ikiwa" kwani itakuwa vigumu kufuata.

Unaweza kutumia kituo chochote cha kazi cha Unix ukiwa na kikusanyaji cha F 77. Watayarishaji programu wenye uzoefu wanapendekeza utumie Sun au Dec.

Mpango wa Fortran una maandishi wazi yanayofuata sheria fulani za sintaksia. Hii inaitwa msimbo wa chanzo. Watayarishaji wa programu hutumia kihariri kuandika msimbo wa chanzo. Wahariri wa kawaida kwenye Unix ni emacs na vi, lakini wanaweza kuwa ngumu kidogo kwa watumiaji wa novice. Unaweza kutumia kihariri rahisi zaidi, kama vile xedit, kinachofanya kazi chini ya X windows.

Programu ya Fortran inapoandikwa, inahifadhiwa katika faili yenye kiendelezi cha ".f" au ".for" na programu inabadilishwa kuwa fomu inayoweza kusomeka kwa mashine. Hii inafanywa kwa kutumia programu maalum inayoitwa compiler. Mkusanyaji wa Fortran 77 kwa kawaida huitwa f77. Matokeo ya mkusanyo yanapewa jina fulani la siri "a.out" kwa chaguo-msingi, lakini unaweza kuchagua jina tofauti ikihitajika. Ili kuendesha programu, ingiza tu jina la faili inayoweza kutekelezwa, kwa mfano, "a.out". Mkusanyaji hutafsiri msimbo wa chanzo kuwa msimbo wa kitu, na kiunganishi au kipakiaji huitafsiri kuwa faili inayoweza kutekelezwa. Kama unaweza kuona, utaratibu huu sio ngumu kabisa na unapatikana kwa mtumiaji yeyote.

Uigaji ni mojawapo ya mbinu za utengenezaji zinazotumiwa sana na mifumo mingine inayopatikana katika viwanda vya kisasa. Miundo mingi ya uigaji hujengwa kwa kutumia lugha ya programu inayolengwa na kitu Actor Fortran, au kifurushi cha programu ya uigaji kilichoandikwa katika lugha ya kitamaduni. Zana hizi zina mapungufu yao. Teknolojia inayolenga kitu imeona kuongezeka kwa matumizi katika nyanja nyingi na kuahidi mbinu rahisi na bora ya kuunda mifumo ya biashara.

Programu ya Simula Fortran inalinganishwa na lugha ya kawaida ya kisayansi ya programu inayoitwa FORTRAN. Muundo wa kawaida wa uigaji wa kijeshi umepangwa katika SIMULA na FORTRAN. Programu ya SIMULA ilikuwa fupi kwa 24% kuliko toleo la FORTRAN.

Toleo la SIMULA pia ni rahisi na linatoa picha bora ya muundo unaoigwa. Kwa upande mwingine, muda wa utekelezaji wa uzalishaji unaendeshwa kwa kasi ya 64% na lugha ya programu inayolengwa na kitu Simula Fortran. Kupima faida na hasara inaonyesha kuwa SIMULA itakuwa programu yenye faida zaidi, yenye gharama kubwa za wafanyakazi na gharama ya chini ya kompyuta.

CUDA inaonyesha jinsi wasanidi programu wenye utendakazi wa juu wanavyoweza kutumia nguvu za GPU kwa kutumia Fortran, lugha ya kawaida kwa kompyuta ya kisayansi na majaribio ya utendakazi wa kompyuta kubwa. Waandishi hawafikirii uzoefu wowote wa awali wa kompyuta sambamba na hushughulikia tu misingi na mbinu bora. Ufanisi wa kompyuta wa GPU zinazotumia CUDA Fortran umewezeshwa na usanifu lengwa la GPU.

CUDA Fortran kwa Wanasayansi na Wahandisi itatambua sehemu zenye kina cha msimbo na kurekebisha msimbo wa usimamizi wa data, ulinganifu, na uboreshaji wa utendaji. Haya yote yanafanywa huko Fortran, bila hitaji la kuandika tena programu hiyo kwa lugha nyingine. Kila dhana inaonyeshwa kwa mifano halisi ili uweze kutathmini mara moja utendaji wa msimbo.

Labda siku moja shirika la kimataifa "hatimaye litatandaza" na kuamua kwamba Fortran haihitajiki tena, lakini sio sasa. Shukrani kwa uwezo wa sasa wa Fortran ya kisasa, waandaaji programu wengi na wanasayansi wanaona kama siku zijazo. Kwa kuongeza, kuna wazalishaji wa kutosha duniani ambao wanaishi kwa kuendeleza watungaji wa kisasa na kupata pesa nzuri kutokana na mchakato huu.

Historia ya uundaji wa lugha ya programu ya Fortran. Viwango vilivyopo. Toleo la lugha ya programu ya Fortran.

Watengenezaji programu waliandika programu za kompyuta za kwanza katika lugha za amri za mashine. Huu ni mchakato unaohitaji nguvu kazi nyingi na mrefu. Kiasi kikubwa cha muda kilipita kati ya kuanza kwa kuandaa programu na kuanza kwa matumizi yake. Tatizo hili linaweza kutatuliwa tu kwa kuunda zana za programu za kiotomatiki.
"Zana" za kwanza ambazo ziliokoa kazi ya watengeneza programu zilikuwa subroutines. Mnamo Agosti 1944, utaratibu mdogo wa kwanza wa kuhesabu sinx uliandikwa kwa mashine ya relay ya Mark I chini ya uongozi wa Grace Hopper (mpanga programu wa kike na afisa wa majini katika Jeshi la Wanamaji la Merika).
Si Grace Hopper pekee ambaye alikuwa na wasiwasi kuhusu tatizo la kurahisisha kazi ya watayarishaji programu. Mnamo 1949, John Mauchly (mmoja wa waundaji wa kompyuta ya ENIAC) alitengeneza mfumo wa Msimbo MFUPI, ambao unaweza kuzingatiwa kuwa mtangulizi wa lugha za kiwango cha juu cha programu. Mpangaji programu aliandika shida kutatuliwa kwa njia ya fomula za hesabu na akabadilisha fomula kuwa nambari za herufi mbili. Baadaye, programu maalum ilitafsiri nambari hizi kuwa msimbo wa mashine ya binary. Hivyo, J. Mauchly alikuza mmoja wa wakalimani wa kwanza wa awali. Na mnamo 1951, G. Hopper aliunda mkusanyaji wa kwanza A-0. Alikuwa wa kwanza kutambulisha neno hili.

Lugha za kwanza za kiwango cha juu: Cobol na Fortran
Katika miaka ya 50 ya karne iliyopita, kikundi kilichoongozwa na G. Hopper kilianza kukuza lugha mpya na mkusanyaji B-0. Mpya lugha ingeruhusu programu katika lugha iliyo karibu na Kiingereza cha kawaida. Waendelezaji wa lugha walichagua kuhusu maneno 30 ya Kiingereza, kwa kutambua ambayo G. Hopper alikuja na njia ambayo ilihifadhiwa katika waendeshaji wa lugha za programu za baadaye: kila neno lina mchanganyiko wa kipekee wa barua ya kwanza na ya tatu. Hii inaruhusu mkusanyaji kupuuza herufi nyingine zote katika neno moja wakati wa kutengeneza msimbo wa mashine kwa programu.
G. Hopper alihusisha hitaji la kuibuka kwa mfumo kama huo, lugha ambayo iko karibu na lugha inayozungumzwa, na ukweli kwamba wigo wa programu za kompyuta utapanuka, na kwa hivyo idadi ya watumiaji pia itakua. Kulingana na G. Hopper, majaribio yanapaswa kuachwa ili "kugeuza yote kuwa wanahisabati".
Mnamo 1958, mfumo wa B-0 uliitwa FLOW-MATIC na ulijikita katika kuchakata data za kibiashara. Mnamo 1959, lugha inayojitegemea ya COBOL (Lugha ya Kawaida ya Biashara) ilitengenezwa. lugha ya programu kiwango cha juu kwa mfasiri sambamba kutoka lugha hii. G. Hopper alitenda tena kama mshauri wakati wa kuunda lugha ya COBOL.
Mnamo 1954, ujumbe kuhusu kuundwa kwa lugha ya FORTRAN (Formula TRANslation) (Fortran) ilichapishwa. Mahali pa kuzaliwa kwa lugha hiyo ilikuwa makao makuu ya IBM huko New York. Mmoja wa watengenezaji kuu ni

John Backus. Pia akawa mwandishi wa NFB (Fomu ya Kawaida ya Backus), ambayo hutumiwa kuelezea syntax ya lugha nyingi za programu. Katika kipindi hicho hicho, lugha ya ALGOL ikawa maarufu katika nchi za Ulaya na USSR. Kama FORTRAN, ilielekezwa kwa matatizo ya hisabati. Ilitekeleza teknolojia ya hali ya juu ya programu ya wakati huo, programu iliyopangwa.

Fortran huko USSR.

Fortran ilionekana huko USSR baadaye kuliko Magharibi, kwani mwanzoni Algol ilionekana kuwa lugha ya kuahidi zaidi. Mawasiliano kati ya wanafizikia wa Soviet na wenzao katika CERN ilichukua jukumu kubwa katika kuanzishwa kwa Fortran, ambapo katika miaka ya 1960 karibu mahesabu yote yalifanywa kwa kutumia programu za Fortran.

Mkusanyaji wa kwanza wa Soviet Fortran iliundwa mwaka wa 1967 kwa mashine ya Minsk-2, lakini haikupata umaarufu mkubwa. Utangulizi ulioenea wa Fortran ulianza baada ya kuundwa mnamo 1968 kwa mkusanyaji wa FORTRAN-DUBNA kwa mashine ya BESM-6. Kompyuta za EC, ambazo zilionekana mnamo 1972, tayari zilikuwa na mtafsiri wa Fortran ("aliyekopwa" kutoka IBM/360 pamoja na programu zingine).

Viwango

Lugha ilisawazishwa ndani ya ANSI na ISO

Viwango vilitengenezwa - Fortran 66, Fortran 77, Fortran 90, Fortran 95, Fortran 2003 na Fortran 2008.

Usanifu wa lugha za programu huunda mahitaji ya kuongeza uwezo wa programu kwa kompyuta za usanifu wowote. Usanifu wa Fortran ni moja wapo ya sababu za maisha marefu ya lugha, kwani ni shukrani kwa kusanifisha kwamba uwezekano wa kutumia mfuko mkubwa wa programu za maombi ambazo zimeundwa kwa miongo kadhaa ya uwepo wa lugha imehakikishwa.

Fortran ni lugha sanifu sana, ndiyo maana inabebeka kwa urahisi kwa majukwaa mbalimbali. Kuna viwango kadhaa vya lugha ya kimataifa:

FORTRAN IV(baadaye ilitumika kama msingi FORTRAN 66 (1966);

FORTRAN 77(1978) maboresho mengi: aina ya data ya mfuatano na vitendakazi vya kuichakata, zuia taarifa IF, VINGINEVYO IF, VINGINEVYO, END IF, JUMUISHA taarifa, n.k.

Fortran 90(1991) alirekebisha kwa kiasi kikubwa kiwango cha lugha. Umbizo lisilolipishwa la msimbo wa kuandika umeanzishwa. Maelezo ya ziada yameonekana: IMPLICIT HAKUNA, AINA, INAYOPEWA, KIELEKEZI, LENGO, NAMELIST; miundo ya udhibiti FANYA ... MALIZA KUFANYA, FANYA UKIWA, CYCLE, CHAGUA KESI, WAPI; kufanya kazi na kumbukumbu ya nguvu (ALLOCATE, DEALLOCATE, NULLIFY); vipengele vya programu MODULI, PRIVATE, UMMA, INA, INTERFACE, MATUMIZI, NIA. Vipengele vipya vilivyojengwa vimeonekana, kwanza kabisa, vipengele vya OOP vimeonekana katika lugha ya kufanya kazi na safu

Fortran 95(1997) - marekebisho ya kiwango cha awali Fortran 2003(2004) Maendeleo zaidi ya usaidizi wa OOP katika lugha. Mwingiliano na mfumo wa uendeshaji Opereta wa FORALL na muunzi umeanzishwa, na kuruhusu kunyumbulika zaidi kuliko opereta wa WHERE na kuunda kupanga safu na kuchukua nafasi ya vitanzi vinavyosumbua. FORALL hukuruhusu kubadilisha mgawo wowote wa sehemu au kifungu cha WAPI, haswa, hutoa ufikiaji wa ulalo wa matrix. Opereta hii inachukuliwa kuwa ya kuahidi katika kompyuta sambamba, kuwezesha usawazishaji kwa ufanisi zaidi kuliko vitanzi.

Fortran 2003(2004) Maendeleo zaidi ya usaidizi wa OOP katika lugha. Mwingiliano na mfumo wa uendeshaji. Vipengele vifuatavyo vimeongezwa pia: 1. Ingizo/tokeo la data Asynchronous 2. Njia za mwingiliano na lugha. 3. Uboreshaji wa uwekaji data wenye nguvu. Fortran 2008(2010) Kiwango hiki huchukua uungwaji mkono kwa kutumia lugha ya kompyuta sambamba (Co-Arrays Fortran). Pia imepangwa kuongeza kiwango cha juu cha safu hadi 15, kuongeza kazi maalum za hisabati zilizojengwa, nk.

Toleo la lugha ya programu ya Fortran

Waandaaji programu ambao walitengeneza programu katika lugha ya kusanyiko walionyesha mashaka makubwa juu ya uwezekano wa lugha ya hali ya juu ya utendaji, kwa hivyo kigezo kuu wakati wa kuunda vikusanyaji vya Fortran kilikuwa ufanisi wa nambari inayoweza kutekelezwa. Idadi kubwa ya maktaba zimeundwa kwa lugha hii, kutoka kwa muundo wa takwimu hadi vifurushi vya kudhibiti satelaiti, kwa hivyo Fortran inaendelea kutumika kikamilifu. Kuna toleo la kawaida la Fortran, WF (High Performance Fortran), kwa kompyuta kuu zinazofanana na vichakataji vingi.

Cobol (Cobol). Ni lugha iliyotungwa kwa ajili ya matumizi ya matatizo ya uchumi na biashara, iliyotengenezwa mwanzoni mwa miaka ya 60. Inajulikana na "verbosity" kubwa - taarifa zake wakati mwingine huonekana kama misemo ya kawaida ya Kiingereza. Cobol ilitoa zana zenye nguvu sana za kufanya kazi na idadi kubwa ya data iliyohifadhiwa kwenye media anuwai ya nje. Maombi mengi yameundwa katika lugha hii, ambayo bado yanatumika sana leo.

Algol (Algol). Lugha iliyokusanywa iliundwa mnamo 1960. Ilikusudiwa kuchukua nafasi ya Fortran, lakini kwa sababu ya muundo wake ngumu zaidi haikutumiwa sana. Mnamo 1968, toleo la Algol 68 liliundwa, ambalo kwa uwezo wake bado liko mbele ya lugha nyingi za programu leo, lakini kwa sababu ya ukosefu wa kompyuta za kutosha kwa ajili yake, haikuwezekana kuunda watunzi wazuri kwa ajili yake. kwa wakati muafaka.

Pascal. Lugha ya Pascal, iliyoundwa mwishoni mwa miaka ya 70 na mwanzilishi wa maoni mengi ya kisasa ya programu, Niklaus Wirth, kwa njia nyingi inafanana na Algol, lakini imesisitiza mahitaji kadhaa ya muundo wa programu na ina uwezo unaoiruhusu kufanikiwa. kutumika wakati wa kuunda miradi mikubwa.

Msingi. Kuna watunzi na wakalimani wa lugha hii, na kwa suala la umaarufu inashika nafasi ya kwanza ulimwenguni. Iliundwa katika miaka ya 60 kama lugha ya kielimu na ni rahisi sana kujifunza. Hii ni mojawapo ya lugha za programu zinazoahidi.

C (Si). Lugha hii iliundwa katika Maabara ya Bell na haikuzingatiwa hapo awali kama lugha ya watu wengi. Ilipangwa kuchukua nafasi ya lugha ya mkusanyiko ili kuwa na uwezo wa kuunda mipango yenye ufanisi na ya kutosha, na wakati huo huo haitegemei aina fulani ya processor. Katika miaka ya 70, programu nyingi za maombi na mfumo na idadi ya mifumo ya uendeshaji inayojulikana (Unix) iliandikwa kwa lugha hii.

Java (Java, Java). Lugha hii iliundwa na Sun mapema miaka ya 90 kulingana na C++. Imeundwa ili kurahisisha uundaji wa programu zinazotegemea C++ kwa kuondoa vipengele vyote vya kiwango cha chini kutoka kwayo. Lakini sifa kuu ya lugha hii ni mkusanyiko sio kwa nambari ya mashine, lakini kwa bytecode inayojitegemea ya jukwaa (kila amri inachukua byte moja). Bytecode hii inaweza kutekelezwa kwa kutumia mkalimani - Java Virtual Machine, matoleo ambayo yameundwa leo kwa majukwaa yote. Shukrani kwa upatikanaji wa mashine nyingi za Java, programu za Java zinaweza kubebeka sio tu kwa kiwango cha maandishi ya chanzo, lakini pia katika kiwango cha bytecode ya binary, hivyo lugha ya Java leo inachukua nafasi ya pili kwa umaarufu duniani baada ya BASIC.

Hivi karibuni, mifumo ya programu ililenga kuunda Programu za Windows:

· mfuko wa plastiki Delphi ya Borland (Delphi) ni mrithi mzuri wa familia ya wakusanyaji wa Borland Pascal, anayetoa zana za hali ya juu na rahisi sana za ukuzaji wa kuona. Mkusanyaji wake wa haraka wa kipekee hukuruhusu kutatua karibu shida yoyote ya upangaji wa programu kwa ufanisi na haraka.

· mfuko wa plastiki Microsoft Visual Basic - chombo rahisi na maarufu cha kuunda programu za Windows kwa kutumia zana za kuona. Ina zana za kuunda michoro Na mawasilisho.

· mfuko wa plastiki Borland C++ - moja ya zana za kawaida za kukuza programu za DOS na Windows.

Mnamo 2017, lugha ya Fortran inageuka umri wa miaka 60. Wakati huu, lugha iliboreshwa mara kadhaa. Matoleo ya Fortran 90, 95, 2003 na 2008 yanachukuliwa kuwa ya "kisasa." Ikiwa mwanzoni ilikuwa lugha ya programu ya hali ya juu na dhana ya kimuundo, basi katika matoleo ya baadaye msaada wa OOP na programu sambamba ilionekana. Leo, Fortran imetekelezwa kwenye majukwaa mengi.

Kabla ya ujio wa Fortran, watengenezaji walipanga kutumia nambari ya mashine na lugha ya kusanyiko. Lugha ya kiwango cha juu ilipata umaarufu haraka kwa sababu ilikuwa rahisi kujifunza na ikatoa msimbo unaofaa unaoweza kutekelezeka. Hii ilifanya maisha kuwa rahisi zaidi kwa watengeneza programu.

Mnamo 1950, John Backus alipokuwa na umri wa miaka 25, alipata digrii ya uzamili katika hesabu kutoka Chuo Kikuu cha Columbia na akapata kazi kama mpanga programu katika IBM. Hivi karibuni aliongoza timu inayounda mkalimani anayeitwa "Fast Encoder" kwa kompyuta ya IBM-701. Kisha alifanya kazi kama sehemu ya timu kuunda mrithi mwenye nguvu zaidi wa 701, IBM-704.

Mnamo 1953, Backus alikuja na mpango wa urekebishaji. Alipendekeza kuunda lugha na mkusanyaji wake, ambayo inapaswa kurahisisha programu ya mfano wa IBM-704. Mfumo uliruhusu programu kuandikwa kwa fomu ya algebra, na mkusanyaji alitakiwa kutafsiri kiotomatiki kuwa nambari za mashine.

Na pendekezo hili, John Backus, kama wanasema, alikuwa mahali pazuri kwa wakati unaofaa. Baada ya kuingia sokoni kuchelewa, IBM ilikuwa na ugumu wa kuongeza mauzo ya kompyuta zake. Kwa sababu hii, aliunga mkono utafiti wa sayansi ya kompyuta huko Columbia, Harvard na vyuo vikuu vingine kadhaa. Kwa kuongeza, IBM yenyewe ilikuwa inatafuta njia za kupunguza gharama ya programu, na pia ilijaribu kurahisisha kazi na kompyuta ili kuifanya kuvutia zaidi, "kirafiki" kwa watumiaji.

Ukweli ni kwamba wakati huo ilikuwa hasa wanasayansi, wahandisi na walimu ambao walifanya kazi na kompyuta. Kompyuta zilitumika kwa mahesabu ya kisayansi. Walakini, watu hawa walipata shida kubwa, kwani walilazimika kutumia nambari za mashine na lugha ya kusanyiko. Na hii ilihitaji ujuzi wa kina wa muundo na uendeshaji wa kompyuta yenyewe.

Kwa hiyo, pengine wangekubali kujifunza lugha ya kiwango cha juu, hasa ikiwa inafanana na fomula za aljebra wanazozifahamu. Mawazo kama haya yalisababisha IBM kukuza Fortran.


IBM-704

Watafiti wa IBM ambao waliunda Fortran hawakujua jinsi lugha hii ingekuwa muhimu. Walipoanza kazi mwanzoni mwa 1954, sayansi ya kompyuta ilikuwa ikiendelea kwa hiari, na kila mtu alifanya kazi kwa hiari. Hii ilisababisha kuibuka kwa wataalamu wa programu na wanasayansi wa kompyuta.

Mmoja wa wasimamizi wa IBM aliamua kwamba wachezaji wa chess walifanya waandaaji wa programu nzuri, kwa hivyo alianza mazungumzo na wagombea wanaowezekana wa waandaaji wa programu wakati wa michezo ya chess na mmoja wa wafanyikazi wa IBM (ambaye, kwa njia, alikuwa bingwa wa chess wa Amerika).

Wachache kati ya watu wanane waliohusika katika maendeleo ya Fortran walikuwa na ujuzi wowote wa kompyuta. Walitoka vyuo vikuu na mashirika ya ndege, na vile vile vikundi vya programu vya IBM.

Hata mkuu wa timu ya maendeleo ya Fortran, John Backus, alikuwa na uzoefu wa miaka michache tu wa kompyuta alipoanza kuunda lugha mpya ya programu.
Kabla ya chuo kikuu, Backus alikuwa mwanafunzi wa wastani ("Nilienda shule zaidi kuliko ninaweza kukumbuka"). Baada ya kutumika katika Jeshi wakati wa Vita vya Kidunia vya pili, aliishia New York City, ambapo alihudhuria shule ya uhandisi ya redio. "Kikomo cha matarajio yangu kilikuwa kutengeneza kifaa cha ubora wa juu cha kutoa sauti," Beccus alikiri baadaye.

Hata hivyo, mwalimu wa kutengeneza televisheni na redio alichochea shauku ya Backus katika hisabati na kumsadikisha kuendelea na masomo yake katika Chuo Kikuu cha Columbia. Huu ulikuwa mwanzo mnyenyekevu wa mojawapo ya kazi zenye thawabu zaidi katika historia ya kompyuta.

Kwa hivyo, watengenezaji, wakiongozwa na Backus, walikaa katika makao makuu ya IBM kwenye Madison Avenue huko New York.

Waligundua dhana za kimsingi za lugha mpya, haswa opereta wa mgawo (kwa mfano, N = 100), ambayo iliweka vigeu kwa maadili maalum, ilianzisha vigeu vilivyoorodheshwa ambavyo viliiambia kompyuta ni kipengele gani kutoka kwa orodha ya vigeu vinavyohitajika (kwa mfano. , X(3) ina maana ya kipengele cha tatu cha orodha, kinachoitwa X), ilipendekeza mwendeshaji muhimu sana wa DO, ambayo ilikuwezesha kurudia mlolongo unaotaka wa waendeshaji idadi maalum ya nyakati.

Kama Backus alivyosema, watu wengi waliamini kuwa mchango mkuu wa Fortran ulikuwa uwezo wake wa kuandika programu kama fomula za aljebra badala ya lugha ya mashine. Lakini kwa kweli sivyo. Kwa maoni yake, Fortran kimsingi aliendesha shirika la vitanzi. Umuhimu wa kazi hii wakati wa kuendeleza maombi ya kisayansi ni vigumu kukadiria. Kazi ya lugha ilikwenda haraka.

Walakini, kukuza mkusanyaji ni suala tofauti kabisa. Backus alielewa kuwa haikuwa rahisi kuondoa mashaka juu ya uwezekano wa programu "otomatiki", ambayo ni, kuandika programu katika lugha za hali ya juu. Hii itatokea wakati programu zinazozalishwa kwa kutumia Fortran ni za haraka na za kuaminika kama zile zilizoandikwa kwa msimbo wa mashine au lugha ya kusanyiko, alifikiria.

Kulingana na mpango huo, miezi sita ilitengwa kwa maendeleo ya mkusanyaji, lakini kazi juu yake ilichukua zaidi ya miaka miwili.

Mwisho wa 1956 na 1957, nguvu ya kazi ya kurekebisha na kurekebisha mkusanyaji iliongezeka sana. Katika kipindi hiki, washiriki wa kikundi mara nyingi walikodi chumba katika hoteli iliyo karibu, ambapo walilala mchana wakati wa kufanya kazi kwenye mashine usiku ili kuwa na muda mwingi wa mashine usioingiliwa iwezekanavyo. Makosa yaliondolewa moja kwa moja, na mnamo Aprili 1957 mkusanyaji alikuwa tayari kutumiwa na wamiliki wa mashine ya IBM-704.

"Aibu kubwa"

Katika kosa ambalo Backus aliliita "aibu kubwa," mkusanyaji alitumwa kwenye maabara ya Westinghouse-Bettis kwa namna ya staha ya kadi zilizopigwa na bila maelekezo yoyote; ambayo iliruhusu Herb Bright wa maabara ya Westinghouse-Bettis kuendesha Fortran kwa upofu. Watumiaji wengine walipokea mfumo kwenye mkanda wa sumaku pamoja na mwongozo wa opereta.

Ijumaa moja katika Aprili 1957, mtumaji-barua alipeleka kifurushi cha ajabu kwenye kituo cha kompyuta cha maabara ya atomiki ya Westinghouse-Bettis karibu na Pittsburgh. Mpangaji programu Herb Bright na wenzake wawili walifungua sanduku lisilo na alama na wakapata rundo la kadi 2,000 zilizopigwa, bila maagizo hata moja.

Kuangalia kadi za punch, Bright alikumbuka kwamba IBM ilikuwa katika mchakato wa kukamilisha lugha ya kiwango cha juu kwa matumizi ya IBM-704. Labda postman alileta mkusanyaji huyu aliyesubiriwa kwa muda mrefu? Bright na marafiki zake waliamua kupakia kadi za ajabu kwenye kompyuta na kuona kilichotokea.

Bright aliingiza programu ya majaribio iliyoandikwa katika Fortran kwenye kisomaji cha kompyuta na akabonyeza kitufe cha kuanza. Kikusanyaji kipya kilituma ujumbe kwa kichapishi: "hitilafu iligunduliwa katika opereta kwenye kadi Na. 25 - koma haikuwepo."

Watayarishaji programu waliozoea kuchanganyisha ujumbe katika mfumo wa misimbo ya nambari walishangazwa na uwazi wa maelezo haya. Opereta isiyo sahihi ilirekebishwa na kitufe cha kuanza kikabofya tena. Kanda zilianza kusota na kompyuta ikatema rundo la kadi za programu zilizopigwa. Mara baada ya kadi kupakiwa kwenye msomaji, kichapishi kilianza kufanya kazi na kuchapisha kurasa 28 bila kuacha. Kompyuta ilifanya makosa kidogo tu katika umbizo la towe. "Lakini nambari zilikuwa sawa! Nambari zilikuwa sahihi! ”… - Bright alishangaa baadaye.

Kwa kweli, karibu wakati huo huo na Fortran, lugha mbili za kiwango cha juu zilionekana - Cobol na Algol. Tangu mwishoni mwa miaka ya 50, wamekuwa viongozi katika ulimwengu wa kompyuta kwa muda mrefu. Programu nyingi za kisasa zimeandikwa kwa lugha. wanaowakilisha ni wazao wa lugha hizi tatu.

Usambazaji na kukabiliana

Lakini mwanzoni Fortran haikupokelewa kwa uchangamfu mwingi. Watayarishaji programu, kama Backus alikumbuka, "walikuwa na shaka sana juu ya maombi yetu yote." Walakini, ikilinganishwa na watangulizi wake, Fortran ilikuwa rahisi kujifunza na kutumia.

Kwa kuongezea, IBM ilitoa mifano yote 704 na Fortran bila malipo. Kama matokeo, kufikia 1958, zaidi ya nusu ya amri zote za mashine kwenye kompyuta 60 za kampuni zilipatikana sio kwa mikono, lakini "moja kwa moja," kwa kutumia lugha mpya ya kiwango cha juu.

Backus alielewa kuwa wazalishaji wanaoshindana pia watakuza lugha za kiwango cha juu kwa kompyuta zao. Walakini, Fortran haraka ikawa kawaida na ilichukuliwa kwa mifano anuwai ya kompyuta. Marekebisho ya kwanza yalifanywa na IBM yenyewe. Miaka mitano baadaye, Fortran ilitumiwa kwenye aina sita tofauti za kompyuta za IBM, na pia kwenye kompyuta kutoka kwa Sperry Rand, Philco, na wengine.

Timu ndogo, pamoja na David Hemmis, ilibadilisha haraka Fortran kwa IBM-650, mashine ndogo kuliko IBM-704. Khemmis na wenzake walitengeneza mfumo wa FORTRANSIT (FOR TRANSIT); baadaye maneno haya mawili yaliunganishwa kuwa moja. Kwa hivyo, mfumo wa FORTRANSIT ukawa mtafsiri wa kwanza wa asili, akifanya kazi kwenye kompyuta za mifano kadhaa.


David Hemmis, msanidi wa lugha ya kompyuta wa mapema, anaendesha gari lake la 1928. Picha iliyopigwa Westhampton, New York wakati wa mashindano ya magari ya 1957.

Kuhitimisha

Walakini, kazi ya lugha mpya ilibidi iendelee kwa muda mrefu sana: hii ilionekana wazi mwanzoni mwa 1957, wakati mchakato wa kurekebisha hitilafu uliendelea. Backus na watengenezaji wengine waligundua kuwa lugha ilihitaji mfumo sahihi zaidi wa kugundua makosa ya programu. Kwa kuongeza, ilikuwa ni lazima kutekeleza uwezekano wa kuandika tofauti na kujitegemea ya subroutines na moduli za programu. Hii ingeipa lugha faida nyingine: kutumia tena msimbo.

Shukrani kwa juhudi za watengenezaji, Fortran II ilionekana mwaka mmoja tu baada ya kuundwa kwa asili. Mojawapo ya faida za lugha mpya ni kwamba iliruhusu vipande vya msimbo wa mkusanyiko kuingizwa kwenye programu. Toleo la baadaye, Fortran III, liliundwa mnamo 1958. Fortran IV, ambayo ilipanua zaidi uwezo wa lugha, ilijulikana mnamo 1962.

Kiini cha lugha, waendeshaji wake wa kimsingi na misemo, imesalia bila kubadilika kwa miaka. Lakini kama Fortran ilibadilishwa mara kwa mara kwa mifumo mpya ya mashine ambayo haikukusudiwa, tofauti zilikusanywa polepole. Fursa zingine zilipotea, mpya zikaibuka. Hii bila shaka ilisababisha kuchanganyikiwa.

Kwa mfano, sio wakusanyaji wote walitafsiri taarifa muhimu zaidi ya DO kwa njia ile ile: wengine kila wakati walitekeleza kitanzi angalau mara moja bila kuangalia ikiwa inapaswa kutekelezwa hata kidogo, wakati wengine walifanya hivyo. Ili kuleta mpangilio wa masuala kama haya, watengenezaji na watumiaji wa kompyuta walikubali kusanifisha lugha.

Mnamo 1966, kiwango cha kwanza kiliitwa Fortran 66. Mnamo 1977, ipasavyo, kiwango cha Fortran 77 kilitolewa. Mnamo 1991, Fortran 90 ilionekana. Fortran 95 iliundwa mwaka wa 1997.

Fortran huko USSR

Katika Umoja wa Kisovyeti, Algol-60 ilikuwa maarufu zaidi. Kwa hivyo, Fortran alionekana katika nchi hii baadaye. Walakini, hatua kwa hatua ilikuja juu katika umaarufu. Wakusanyaji (watafsiri) wameandaliwa kwa kompyuta nyingi za ndani - "Minsk-32", BESM-4, BESM-6, AS-6, ES Computer, SM Computer, MVK "Elbrus" na kadhalika.

Katika IPM im. Keldysh, watafsiri kadhaa walitengenezwa kwa nyakati tofauti. Mbili kati yao - Fortran-Almo na Forshag (Fortran stepwise) ziliandikwa kwa lugha ya Almo na msimbo ulitolewa kwa lugha moja. Hii ilifanya iwezekane kusakinisha watafsiri kwenye aina mbalimbali za kompyuta. Watafsiri wote wawili wanatekeleza kiwango cha Fortran 66.

Foreshag pia ilijumuisha lugha ya mazungumzo ambayo iliruhusu msimbo kuundwa, kuhaririwa na kutafsiriwa kwa maingiliano. Kwa kuongeza, seti ya mipango ya picha ya Fortran ilitengenezwa - Graphor, ambayo ilitumiwa kikamilifu kwenye kompyuta mbalimbali.

Fortran bado ni maarufu kati ya wanasayansi hadi leo. Hii ndiyo lugha ya kwanza ya programu ya kiwango cha juu ambayo ina mtafsiri, ambayo imepokea matumizi ya vitendo na maendeleo zaidi. Kama ilivyoelezwa katika mwongozo wa IBM wa 1957, "Fortran hutoa njia bora ya kuandika programu 704 ambazo ni rahisi kujifunza na hazihitaji ujuzi wa kina wa kompyuta."

Tangu wakati huo, wanasayansi, wahandisi na wanafunzi wameweza kuwasiliana na kompyuta bila usaidizi wa watengeneza programu wa kitaalamu kuandika katika lugha ya kusanyiko.

Walakini, kizazi kijacho cha waandaaji programu kilianza kuchukulia Fortran kama "kisukuku." Edsger Dijkstra alidakia kwamba kufundisha wanafunzi lugha hii kunapaswa kuzingatiwa kuwa uhalifu mkubwa.

Kati ya 50s inayojulikana na maendeleo ya haraka katika uwanja wa programu. Jukumu la programu katika nambari za mashine lilianza kupungua, na aina mpya za lugha za programu zilianza kuonekana, zikifanya kama mpatanishi kati ya mashine na waandaaji wa programu. Wakati umefika kwa kizazi cha pili na cha tatu cha lugha za programu

Tangu katikati ya miaka ya 50. Karne ya XX ilianza kuunda lugha za kwanza za kiwango cha juu cha programu. Lugha hizi zilikuwa huru za Mashine (zisizofungamana na aina fulani ya kompyuta).

Lakini kila lugha imeunda watunzi wake - programu ambayo hufanya mkusanyiko.

Mkusanyiko ni tafsiri ya programu iliyoandikwa katika lugha chanzi ya kiwango cha juu hadi programu sawa katika lugha ya kiwango cha chini karibu na msimbo wa mashine (msimbo kamili, moduli ya kitu, wakati mwingine lugha ya kuunganisha)

FORTRAN lugha ya programu

Lugha ya kwanza ya kiwango cha juu iliundwa kati ya 1954 na 1957 na kikundi cha watayarishaji programu wakiongozwa na John Backus katika Shirika la IBM na hii ikawa hatua inayofuata katika ukuzaji wa lugha za programu. Ilikuwa lugha ya programu ya FORTRAN. Ilikusudiwa kwa mahesabu ya kisayansi na kiufundi. Jina la Fortran ni kifupi cha FORmulaTRANslator (mtafsiri wa fomula).

Historia ya lugha

Mwishoni mwa 1953, John Backus alipendekeza kuanza kutengeneza njia mbadala inayofaa ya kukusanyika kwa programu kwenye IBM 704 PC. Kufikia katikati ya 1954, maelezo ya rasimu ya lugha ya Fortran yalikamilishwa. Mwongozo wa kwanza wa Fortran ulionekana mnamo Oktoba 1956, pamoja na mkusanyaji wa kwanza, uliosafirishwa mnamo Aprili 1957. Mkusanyaji alikuwa mkusanyaji bora kwa sababu wateja walisita kutumia lugha ya programu ya kiwango cha juu ambayo haikuweza kutoa msimbo na utendakazi wa chini kuliko mkusanyiko. lugha.

Wakati huo, jumuiya ilikuwa na mashaka juu ya njia mpya ya programu na haikuamini kwamba Fortran ingeruhusu programu ya haraka na yenye ufanisi zaidi. Kulingana na John Backus mwenyewe, kazi yake nyingi ililenga "kuwa mvivu." Kwa kweli hakupenda kuandika programu za IBM 701 katika mkusanyiko.

Lugha hiyo imekubaliwa sana na wanasayansi kwa kuandika programu ngumu sana. Ujumuishaji wa aina changamano ya data ulifanya iwe ya kufaa hasa kwa matumizi ya kiufundi.

Kufikia 1960, kulikuwa na matoleo ya Fortran kwa kompyuta za IBM 709, 650, 1620, 7090. Umaarufu wake mkubwa uliwahimiza wazalishaji wa kompyuta wanaoshindana kuunda compilers za Fortran kwa kompyuta zao. Kwa hivyo, kufikia 1963 kulikuwa na watunzi zaidi ya 40 wa majukwaa tofauti. Hii ndiyo sababu Fortran inachukuliwa kuwa lugha ya kwanza ya programu inayotumiwa sana.

Fortran huko USSR

Fortran ilionekana huko USSR baadaye kuliko Magharibi, kwani mwanzoni Algol ilionekana kuwa lugha ya kuahidi zaidi. Mawasiliano kati ya wanafizikia wa Soviet na wenzao katika CERN ilichukua jukumu kubwa katika kuanzishwa kwa Fortran, ambapo katika miaka ya 1960 karibu mahesabu yote yalifanywa kwa kutumia programu za Fortran.

Mkusanyaji wa kwanza wa Soviet Fortran iliundwa mwaka wa 1967 kwa mashine ya Minsk-2, lakini haikupata umaarufu mkubwa. Utangulizi ulioenea wa Fortran ulianza baada ya kuundwa mnamo 1968 kwa mkusanyaji wa FORTRAN-DUBNA kwa mashine ya BESM-6. Kompyuta za ES, ambazo zilionekana mnamo 1972, tayari zilikuwa na mtafsiri wa Fortran ("aliyekopwa" kutoka IBM/360 pamoja na programu zingine)

Fortran ya kisasa. Fadhila za lugha

Fortran ilitumika sana kwa kompyuta za kisayansi na uhandisi. Ni kamili kwa ajili ya kutatua matatizo ya nambari, kwa kuwa maktaba nyingi zimeandikwa kwa zaidi ya miaka 50, hivyo lugha inatumiwa sasa na haiko katika hatari ya kusahaulika katika siku za usoni. Bado hutumiwa hadi siku hii, hata hivyo, si kwa sababu ya muundo wake wa mafanikio, lakini kwa sababu ya idadi kubwa ya mipango iliyoandikwa juu yake, ambayo haina maana ya kubadili na, hasa, kuandika upya.

Pengine, ikiwa unataka kuhesabu haraka kitu, basi Fortran itakuwa mojawapo ya chaguo bora zaidi. Ndiyo maana lugha ilibuniwa.

Muundo wake huruhusu mkusanyaji kuongeza mahesabu vizuri sana.

Miongoni mwa wanasayansi, kwa mfano, kuna msemo kwamba shida yoyote ya kihesabu tayari ina suluhisho huko Fortran, na, kwa kweli, unaweza kupata kati ya maelfu ya vifurushi vya Fortran kifurushi cha kuzidisha matiti, kifurushi cha kutatua hesabu ngumu za ujumuishaji, na nyingi, wengine wengi.