Ero sivun ”Ohjelmointi” versioiden välillä

[katsottu versio][arvioimaton versio]
Poistettu sisältö Lisätty sisältö
→‎1950-luvulla: selvennyksiä ja asiavirheen korjaus (nykymuotoisia tietokantoja ei ollut tuolloin)
Rivi 8:
=== 1950-luvulla ===
 
Ensimmäinen moderni ohjelmointikieli oli vuonna 1957 julkaistu [[FORTRAN]] ''(formulaFORmula translatorTRANslator, suom. "kaavakääntäjä")'', joka nimensä mukaisesti keskittyi matemaattisten [[Lauseke (ohjelmointi)|lausekkeiden]] kääntämiseen konekielelle. MyöhemminVuonna kuitenkin1958 yleistyivätjulkaistiin [[Lisp|LISP]] (''LISt Processor, suom. "listakäsittelijä"''), joka pionerisoi useita ohjelmointikielien ominaisuuksia, mm. ehtolausekkeet, rekursion ja dynaamisen tyypityksen. Vuosikymmenen lopulla [[kaupallis-hallinnollinen tietojenkäsittely|kaupallis-hallinnolliset]] sovellukset (esimerkiksi [[tietokanta|tietokannat]]yleistyivät ja tietojenkäsittely alkoi siirtyä akatemiasta liike-elämään. Tämän kehityksen seurauksena vuonna 1959 julkaistiin [[COBOL|COBOL-ohjelmointikieli]] (''COmmon Business-Oriented Language,'' ''suom. "yhteinen liiketoiminta-suuntautunut kieli"'').
 
=== 1960-luvulta 1980-luvun puoliväliin ===
Rivi 14:
Historiallisesti yleisin tulkattava ohjelmointikieli on ensimmäisen kerran vuonna [[1964]] esitelty [[BASIC|BASIC-ohjelmointikieli]] ja sen monet versiot. BASIC-kielessä ei ole kehittyneitä rakenteita, mutta vaivattoman käyttönsä ja helposti tehtävän tulkkinsa vuoksi se saavutti suosiota alkuperäisen opetustarkoituksensa ulkopuoleltakin.
 
OhjelmointiTietojenkäsittelytiede kehittyi vähitellen kypsäksi tieteenalaksi ja. 1960-luvun alkupuolella esitelty [[ALGOL|Algol-ohjelmointikieli]] jäi hallitsevaksi ohjelmointikielityypiksi ongelmien ratkaisuun pyrkivään [[algoritmi]]seen eli [[proseduraalinen ohjelmointi|proseduraaliseen]] ohjelmointiin. Algol-perinnettä ylläpitivät siitä kehitetyt kielet kuten [[Pascal (ohjelmointikieli)|Pascal]] ja [[C (ohjelmointikieli)|C]]. Tämäntyyppistä ohjelmointia leimaavat hyppyjen korvaaminen toistorakenteilla, nimetyt ja parametrisoidut ohjelmanosat eli [[aliohjelma]]t [[muuttuja (ohjelmointi)|muuttujien]] vaikutusalueen rajoittaminen ja peittäminen sekä muuttujien [[Tyyppijärjestelmä#Staattinen vs. dynaaminen tyypitys|staattinen tyypitys]] (käännöksessä esimerkiksi tarkastetaan, ettei tuotetulla ohjelmalla voi sijoittaa kokonaisluvuksi määriteltyyn muuttujaan merkkijonoa). Tärkeää on myös kielen kääntämisen yksinkertaistaminen tekemällä kieli soveltuvaksi erilliseen selaus- ja jäsentämisvaiheeseen.
 
Myöhemmissä 1980-luvun proseduraalisissa kielissä kehitettiin keinoja modularisoida ohjelmia lisää, [[abstrakti tietotyyppi|abstrakteja tietotyyppejä]] ja moduulien välisiä sopimuksia (ohjelmointikielet [[Modula-2]], [[Modula-3]], [[Oberon(ohjelmointikieli)|Oberon]], [[Clu]] ja [[Eiffel (ohjelmointikieli)|Eiffel]]).
 
Algol-tyyppisissä ohjelmointikielissä on hyvin tärkeää, että ohjelma kääntyy erittäin tehokkaasti konekieleksi. Nämä ohjelmointikielet soveltuvat suuren ohjelmoijajoukon yhteistyössä tekemien ohjelmointi[[projekti]]en tekemiseen. Tämä traditio huipentui jossain määrin Yhdysvaltain puolustusministeriön vuonna [[1980]] määrittelemässä [[Ada (ohjelmointikieli)|Ada-ohjelmointikielessä]], eikä sen jälkeen ole vakavasti määritelty tai otettu käyttöön puhtaasti proseduraalisia Algol-tyyppisiä ohjelmointikieliä (eikä tällainen ole myöskään Adan myöhempi versio, Ada 95).
 
=== 1980-luvun puolivälissä ===
 
Japanissa aloitettiin vuonna 1982 [[Viidennen sukupolven tietokonejärjestelmä]]<nowiki/>n (''第五世代コンピュータ'') kehittäminen, joka olisi kauttaaltaan hajautettu sekä logiikkaohjelmoitu paradigmamuutos. Osittain vastauksena siihen, Yhdysvallat aloitti omalla tahollaan voimakkaan panostamisen älykkäisiin järjestelmiin. Voimakas panostaminen tekoälyn tutkimiseen ei kuitenkaan johtanut niin suuriin läpimurtoihin kuin oli odotettu. Japani lopetti Viidennen sukupolven tietokonejärjestelmän kehittämisen, ja vastaavasti Yhdysvallat lopetti monien projektien rahoittamisen. Sen seurauksena vuosikymmenen lopun rahoituksen tyrehtymisestä käytettiin ilmaisua [[tekoälytalvi]] (AI Winter).
1980-luvulla [[tekoäly]]järjestelmien oletettiin korvaavan ohjelmoinnin. Puhuttiin viidennen sukupolven tietokoneista ja sovelluskehittimistä, joiden avulla varsinaisesta ohjelmoinnista piti päästä eroon. Tähän ajatteluun liittyviä ohjelmointikieliä ovat funktionaaliset ohjelmointikielet ([[LISP]]), logiikkaohjelmointikielet ([[Prolog]]) ja erilaiset [[asiantuntijajärjestelmä]]t. LISP-ohjelmointikielen ajateltiin olevan erityisen sovelias tekoälyohjelmointiin, koska LISP-ohjelma ja sen käsittelemä data kuvattiin samalla tavalla sisäkkäisinä listoina. Tekoäly ei kuitenkaan johtanut toivottuun läpimurtoon.
 
=== 1990-luvulla ===