Hot.lt logo Hot.lt meniu
karščiausios IT naujienos
pasirink skiltį  
-atnaujinta 2001 04 16-
 
Turinys
Laimėk prizą!
El.prekyba
Įdomybės Internete
Atsiliepimai
Prenumeruokitės!
Klausk-atsakys!
Keiskimės nuorodomis!
Anekdotai
WWW
Žiniasklaida:
Populiarios TV laidos
Žiniu Radijas, tiesiogine transliacija
Laisvalaikis:
Akvariumai, fauna, flora
Įdarbinimas:
Preilė: darbuotojų paieška
Verta:
.
Vedų kultūros centras
Sachadža Joga
Dausuva
.
Karšta
Kasijus
Gyvenimas po tikrovės
Egzistencializmas
Religiniai anekdotai
Povandeninė civilizacija
Cz. Milosz. Ulro žemė
Fermi paradoksas
I.Naživinas. Judėjas
Traktatas apie dvi Sarmatijas
Erazmo Stelos paraštėse
Elementariosios dalelės
Geologijos pionierius
Minčių valdymas
K.Jungas.Vėlyvos mintys
K.Saja. Molynė
Kolonizavimo protokolas
Placebo
Ateivių civilizacijos
Krikščionybė Egipte
Mano sielos liūdesiai
P.Adams. Senamadiška muzika
Mitas ir mokslas
J.A. Zaidelis. Riba
Emerikas Koloje
Vaišešikos mokykla
Kas Saulė,o kas Mėnulis?
"Pioneer" anomalijos
Filosofija: Konfucijus
R.W.Emersonas. Poetas
"Sutvėrėjo" žemėlapis
I.Calvino. Katinų markizė
Nauja sapnų teorija
"Wow" signalas
Pašalinės mintys
Odisėjas visapusiškas
Tolkieno pasaka
Rousseau. Vienišiaus svajos
Ortodoksų bažnyčia
Jėzaus kapas Kašmyre
Prekiautojai skausmu
K.Kavafis. Barbarų belaukiant
A.Einšteino panteizmas
Vienaragis zhi Kinijoje
Prabilo etruskų rašmenys
K.Jungas ir NSO
R.Kaijua. Sapnų apžavai ir problemos
Suvokimo durys
Visatos modeliai
Alisa ir musmirės
Archetipo koncepcija
Ūlos kraštas senovėje
Diagramos, pakeitusios pasaulį
Sielos klajonės
Suvokimo ribos
Pranašiškas Huxley
Šėtono manifestas
Pirmasis kraujas
OBE ir sapnai
Dropa diskai
Nibiru ir šumerai
Pranašas Mahometas
Holografinis katinas
Kęstutis Plankas. Eilėraščiai
Netikėtas Šumero žlugimas
Oreivystės istorija
F. Kafka ir kabala
Esė apie dzūkus
Pederastai dulkina tautą
Poetas Jim Morrison
Slėpiningieji Edeno sodai
Hitleris: gyvas ar miręs?
Mankurtas: be ateities
Interneto pabaiga
E-bylos
 
 

Džonas Bakas – FORTRAN tėvas

 

Pirmojo transliatoriaus kūrimas vyko lygiagrečiai su pirmosios aukšto lygio kalbos kūrimu. Ir kai yra tokių, kurie laiko, kad tai buvo FORTRAN ar kuri nors kita kalba, iš tikro būtent FORTRAN paskatino platų kompiuterių naudojimą. Štai kaip tai nutiko...

Paprastai manoma, kad kompiuterių istorija tėra metalo dėžių, blizgančių ventilių ir besisukančių juostų istorija, kurios kulminacija buvo silicio mikroschemos išradimas ir sudėtingesnių sandarų panaudojimas. Tačiau turint įsimintos programos idėją, pagrindinis vystymas lieka inžinerijai – greitesnei atminčiai, galingesniems procesoriams ir t. t., o programinė įranga tėra tai, kas veikia su specifine aparatine dalimi. Ir ji eina iš paskos...

Tačiau sąryšis tarp programinės ir aparatinės įrangos nusitryne, kai programos ėmė veikti be jokios nuorodos kokiai aparatinei daliai skirtos. Ir vienu tos idėjos pionierių buvo Džonas Bakas*), sukūręs pirmąją didelę įtaką turėjusią FORTRAN (FORmula TRANslation) kalbą. John Backus at cyclotron

Savo laiku, 1942 m., jį išmetė iš chemijos inžinerijos kursų už paskaitų nelankymą. Tada jis patraukė į armiją ir trumpai studijavo inžineriją, vėliau (irgi trumpai) mokėsi medicinos, kol galiausiaiu 1946 m. paliko armijos gretas. Niujorke susidomėjo hi-fi dalykais ir įstojo į Radijo ir televizijos institutą, kuris apmokė radijo ir tv remontininkus. Ten dėstytojas jį sudomino matematika – ir jis ėmė lankyti matematikos paskaitas Kolumbijos un-te, 1950 m. gaudamas magistro laipsnį. ... Tai tik parodo, kokios naudingi yra kursai suaugusiems – tik su matematikos magistro laipsniu nelabai yra ką veikti, o mokytoju Bakas nenorėjo būti.

Visa laimė, kad kaip tik tuo metu jis sugalvojo bandyti įsidarbinti IBM. 1949 m. pavasarį jis apsilankė IBM kompiuterių centre, kur apžiūrėjo SSEC, vieną pirmųjų IBM elektroninių kalkuliatorių – ir gidei užsiminė, kad ieško darbo. Toji padrąsino jį kreiptis į projekto direktorių – ir jis buvo priimtas dirbti programuotoju su SSEC. Šis iš dalies tebuvo mechaninis, tačiau turėjo ir elektroninę dalį, leidžiančią programoms keisti veiksmus.

Tuo metu niekas nežinojo, kas iš tikro yra programuotojas, o Bakas aplamai nieko nežinojo apie kompiuterius, tačiau jis projekte išbuvo metus. O tada perėjo dirbti prie IBM 701 (kitaip Defence Calculator), skirto mokslo darbams ir tapusio IBM sėkmingos mokslui ir verslui skirtų kompiuterių serijos pirmtaku.

Bakas vadovavo komandai, kuriančiai tarpinę „Speedcoding“ kalbą, kuri leido žiūrėti į IBM 701 kaip turinčią slankaus kablelio operacijas ir indeksinius registrus. Jau tada imta jausti programinės įrangos svarba lyginant su aparatine dalimi. Bakas padėjo suprojektuoti IBM 704, jau turinčią aparatiškai realizuotas tas galimybes – skirtumas buvo tik, tas, kad aparatiškai jos veikė sparčiau.

Kompiuteriams vis labiau plintant, pasijuto programinės įrangos stygius - pernelyg ilgai truko užkoduoti, suderinti ir modifikuoti ilgesnę programą. Mat jos buvo buvo koduojamos primityviomis operacijomis, kurias sugebėjo vykdyti aparatūra. Be to reikėjo suprasti, kaip veikia kompiuteris.

Jau buvo bandymų kurti aukšto lygio kalbas, tačiau buvo susiduriama su rimtais sunkumais bandant parašyti joms transliatorių ar kompiliatorių. Didžiausia problema buvo algebrinių išraiškų transliavimas; mat kai parašote kažką panašaus į 4+5*3, naudojama skaičiavimų tvarka, besiskirianti nuo tos, kuria užrašyti operatoriai. Išraiškas sunku kompiliuoti, nes jos gali būti bet kokio sudėtingumo. Tad kompiliatorius privalo turėti išraiškų sudarymo ir skaičiavimo taisykles.

1953 m. Bakas parašė laišką savo bosui pasiūlydamas praktišką aukšto lygio kalbą. Idėja pasitikta su entuziasmu – ir Bakas suformavo nedidelę komandą, kurioje svarbiausiais buvo Irving Ziller, Harlan Herrick ir Robert A Nelson. Jie parengė kalbos specifikaciją, kuri galėjo būti sukompiliuota taip pat efektyviai, kaip ir užkodavus rankiniu būdu.

Kurį laiką kalba buvo be pavadinimo, bet kažkaip Bakas sumąstė FORmula TRANslation arba FORTRAN, - ir nesant, geresnių pasiūlymo, pavadinimas buvo priimtas. Didžiausias dėmesys kuriant kalbą buvo skiriamas galimybei turėti efektyvų kompiliatorių – ir tai gerai matoma turimosekalbos komandose bei jos apribojimuose.

Kai kurie kritikavo Baką, kad jis dėmesį sutelkė ne į kalbos elegantiškumą, ką jis atrėmė taip:
„Iki šiol aš tikiu, kad mūsų dėmesys gautos programos efektyvumui, o ne kalbos dizainui, buvo iš esmės teisingas. Aš tikiu, kad jei būtų nepasisekę parengti efektyvias programas, tokių kalbų kaip FORTRAN paplitimas kaip būtų gerokai užtrukęs.“

Sunku patikėti?

Mūsų dabartiniu požiūriu to meto programuotojai turėtų būti kvaili, jei būtų nenorėję FORTRAN – bet jie tikrai jos nenorėjo ir aplamai buvo labai skeptiški pačia ta idėja. Mat programavimas buvo subtilus menas ir kodo efektyvumas buvo Dievas, kuriam jie tarnavo. Aukšto lygio kalbos švaistė mašininį laiką net jei ir taupė programuotojų laiką.

Bakas nebuvo pirmas mąstęs apie aukšto lygio kalbas. Grace Hopper buvo sukūrusi keletą aukšto lygio kalbas, tačiau nė viena jų nesprendė išraiškų kompilavimo problemos. Ko gero pirmąją tokią kalbą 1952-53 m. sukūrė J.H. Laning and N. Zierler – kaip „Whirlwind“ projekto dalį.

Programos FORTRAN IV kalba pavyzdys:

      PROGRAM FACTORIAL
*     FAKTORIALAS DUOTAM X 
5     PRINT *, 'TEIGIAMAS VIENZENKLIS SKAICIUS:'
10    READ 200, IX 
      IFACT = 1
      iY = 1 
      IF (IX) 5, 666, 30
30    IF (IX-IY) 5, 32, 33 
32    PRINT 300, IX, IFACT
      IF (IX .EQ. 0) GO TO 666
      GO TO 5
33    IY = IY + 1
      IFACT = IFACT * IY      
      GO TO 30 
200   FORMAT (I2)
300   FORMAT (/I1, 17H FAKTORIALAS YRA I6/) 
666   PRINT *, 'PABAIGA'
      STOP
      END

Vykdyta su MinGW kompiliatoriumi Windows terpei

Bakas nežinojo nieko apie tai, nes komunikacija apie programavimo metodus buvo labai prasta. Tik Bakas ir jo komanda nežinojo, kiek laiko gali trukti baigti kompiliatorių. Paklausti, jie visada galėjo pasakyti šeši mėnesiai – tai buvęs jų tolimasis horizontas.

Dar paskaitykite:  IBM: jau 50 m. „meinfreimams“

FORTRAN evoliucija

1956 m. pasirodė pirmasis FORTRAN kalbos vadovas, o po 6 mėn. jau turėtas pirmasis kalbos kompiliatorius. Kalba nesustingo – ji vystėsi toliau. Pirmiausia FORTRAN II (1958) įtraukė paprogrames ir funkcijas. Tačiau išskirtine versija buvo FORTRAN IV (1961), pašalinęs nuo aparatūros priklausomus elementus ir įtraukęs logines funkcijas – tuo tapdamas tarsi kokiu standartu: ir netrukus pasirodė Fortran 66, tapęs ANSI standartu (1962).

Bėgo metai ir FORTRAN įsitvirtino, ypač moksliniams skaičiavimams; per tą laikė ėmė pasirodyti kitos kalbos (C, Pascal, Algol,...). Tai vertė ANSI FORTRAN komitetą (X3J3) 1969 m. imtis naujos FORTRAN versijos rengimo – tai buvo po 8 m. parengta FORTRAN 77 ir tik joje atsirado if sakinio else šaka. Tai tapo plačiausiai naudojama FORTRAN versija.

Tačiau ir FORTRAN 77 patyrė tokių kalbų kaip C spaudimą. Jos leido valdyti atmintį dinamiškai ir turėjo heterogeninių duomenų struktūras. Galiausiai tai išsivystė į FORTRAN 90. Po to dar sekė keletas neesminių kalbos atnaujinimų (Fortran 95, Fortran 2003, Fortran 2008), kol galiausiai pasiekta Fortran 2015 versija.

Apie FORTRAN taip pat skaitykite: Kompiuterių istorija ir Aukšto lygio kalbų evoliucija, taip pat paminint Programavimo kalbų klegesys ...


*) Džonas Bakas (John Warner Backus, 1924-2007) – amerikiečių kompiuterininkas, IBM‘e vadovavęs FORTRAN kūrimo komandai (1954-57). Dalyvavo tolimesniam FORTRAN vystymui, dalyvavo Algol-58 kūrimo komitete – tuo metu sukūrė Bako-Nauro formą. Vėliau dirbo ties funkcinio lygio programavimo kalba FP, stipriai įtakotą APL, o pabaigė karjerą kurdamas FL, FP įpėdinį. FL labai rėmėsi lambda skaičiavimais ir statiniais tipais. IBM dirbo 1950-1991 m.

Kiti HOT.LT straipsniai:
Kobolo motina
Kompiuterių ištakos
Kas naudoja Perl?
Programavimo paradigmos
Skriptai - ateities kalbos
Perfokortos ir jų istorija
IBM: jau 50 m. „meinfreimams“
Programavimo kalbų istorija
Pirmasis interneto ryšys
Ką vadiname programuotoju?
ABC – pirmasis kompiuteris?
Programavimo kalbų klegesys
Programavimo kalbų evoliucija
Lambda išraiškos – Java į naują lygį
Klodas Šenonas – žmogus, išradęs ateitį
Unix ir C kalbos kiltis ir ... šachmatai
Pirmoji programuotoja: Ada Lovelace
"Ruby" kalba ir RoR
AWK kalba - sena ir nuolat aktuali
Konradas Cūzė ir jo C modeliai
Danas Briklinas: skaičiuoklės autorius
P-NP: Ant sveiko proto svarstyklių
Ar mašina kada nors mąstys?
Mūšis kibernetiniame pasaulyje
Kitoniškumas: dygios eilutės
Programavimas Unix aplinkoje
Nulio istorija

 

 
 
HOT.LT informacija  
Kviečiame visus prisidėti prie svetainės kūrimo! Rašykite el.paštu info@hot.lt Mes stengiamės Jums!  
 
Atskiri HOT skyriai  
Domeno vagystė  
Interneto romantikai  
Programinė įranga  
WebOn produktai el.komercijai  
 
Karštos WWW svetainės  
 
Informacija:  
NSO ir mistika  
ONLINE.LT  
   
Portalai  
Banga  
 
Lietuviai:  
Globalusis tinklas  
Lithuanica svetainė!  
  Mirusieji - atminimui  
   
Aukcionai, prekyba:  
Banknotai  
 
Spauda:  
Verslo žinios  
Žinių radijas  
Lietuvos rytas  
Moteris, žurnalas  
Vartiklis, elraštis  
 
Interneto paslaugos:  
Elnet@  
 
Kompiuteriai:  
Baltic Amadeus  
 
Kultūra:  
Džiazo svetainė  
Lietuvos filharmonija  
Interaktyvi proza  
Lietuvos vienuolynai  
Teatras  
Meno galerija  
Filosofija  
Mitologija  
Literatūra  
  Poezija  
  Fantastika  
  Religijos puslapiai  
   
Mistika:  
Kabala  
Fuko švytuoklė  
   
Darbo sauga  
Sabelija  
 
Laisvalaikis:  
Akvariumai  
   

 

 
 
delo
© HOT.LT 2000.
Draudžiama be leidimo naudoti bet kurią šios svetainės dalį.
'Intelligent' design.