Ohjelmointikieli
Wikipedia
Ohjelmointikieli on formaali kieli, jota käytetään tietokoneen ohjelmointiin. Ohjelmointikielille on olemassa joko kääntäjä, joka muuntaa kirjoitetun ohjelman konekielelle tai jollekin välikielelle, tai tulkki, joka on ohjelmointikieltä tulkitseva ohjelma. Nykyisin tulkin ja kääntäjän raja ei ole enää niin selkeä kuin esimerkiksi vielä 1980-luvulla.
Ohjelmointikielet ovat monin tavoin luonnollisten kielten kaltaisia. Niillä on oma sanastonsa ja kielioppisääntönsä; näistä kahdesta muodostuu kielen syntaksi eli lauseoppi. Niillä on myös looginen merkitys, jota kutsutaan semantiikaksi. Esimerkiksi lause "Koira söi luun" on sekä syntaktisesti (lauseopillisesti) oikein että semanttisesti (merkitykseltään) mielekäs. Sen sijaan lause "Luu söi koiran" on syntaktisesti oikein mutta semanttisesti epämielekäs. Luonnollisia ja tietokonekieliä tutkiva lingvistiikka on hyvin samankaltaista. Itse asiassa luonnollisista kielistä on saatu paljon uutta tietoa tietokonekielten tutkimuksen avulla. Toisaalta ohjelmointikielet ovat huomattavasti yksinkertaisempia mm. varattujen sanojen hyvin pienen lukumäärän vuoksi. Myös kielioppisäännöt ovat tyypillisesti paljon yksinkertaisempia eikä niissä ole poikkeuksia samoin kuin luonnollisessa kielessä, eikä vaihtoehtoisia (mielekkäitä) ilmaisutapoja ole kuin hyvin pieni, rajallinen määrä. Esimerkiksi luonnollisen kielen ilmaisut kuten pienennä saldoa kymmenellä, vähennä 10 saldosta, vähennä kymmenen pois saldosta, aseta saldoksi kymmenen vähemmän jne tarkoittavat kaikki samaa ja ovat mielekkäitä, kun taas useimmilla ohjelmointikielillä asian voi ilmaista vain yhdellä tai kahdella tavalla, joko saldo -= 10
tai saldo = saldo-10
(epäsuorat viittaukset ja väliaikaisten muuttujien käyttö ei tuota uusia tapoja ilmaista asiaa).
Ohjelmointikieliä on suunniteltu lukuisiin eri tarkoituksiin ja tavoitteisiin. Kieliä voi arvioida eri tavoilla. Tärkeitä tavoitteita ohjelmointikielen suunnittelussa ovat mm. luettavuus ja kirjoitettavuus ja yleinen yksinkertaisuus, eli kuinka hyvin kerran kirjoitetusta ohjelmasta saa selvää. Aluksi ohjelmointi keskittyi enimmäkseen koodin kirjoittamiseen, mutta noin 1970-luvulta alkaen ohjelmiston elinkaari ja sen ylläpito alkoi nousta merkittäväksi kustannusseikaksi. Esimerkiksi C-kielessä muuttujan arvoon voi lisätä yhden neljälle eri tavalla:
muuttuja = muuttuja + 1
muuttuja += 1
muuttuja++
++muuttuja
näistä kolmella ensimmäisellä on sama merkitys ja neljännellä hiukan poikkeava. Jos kielessä on monia erilaisia toimintoja, kaikki ohjelmoijat eivät välttämättä tunne niistä kaikkia harvinaisempia ja voivat jättää käyttämättä elegantimpia ja tehokkaampia piirteitä.
Eri kielten ominaisuudet eroavat toisistaan mm. kontrollirakenteiden, tietotyyppien, ilmaisuvoiman, abstraktiotason ja turvallisuuden suhteen. Turvallisuuteen kuuluvat mm. tyyppitarkistukset ja virhetilanteiden hallinta.
Tyypillisesti ohjelmointikielten sanasto on hyvin yksinkertainen (alle sata sanaa) ja kielioppi, joka määrittelee kuinka sanoja voidaan laittaa yhteen, rajoitettu.
Sisällysluettelo |
[muokkaa] Ohjelmointikielten jaottelu
Ohjelmointikielet voidaan jaotella eri ryhmiin kielen paradigman ja toisaalta ohjelmointimallin mukaan:
- Paradigma
- Ohjelmointimalli
- peräkkäinen
- rinnakkainen
Ohjelmointikielten tarkka jaottelu on kuitenkin vaikeaa. Esimerkiksi C++ on hybridikieli, joka on toisaalta vahvasti proseduraalinen mutta myös oliopohjainen.
[muokkaa] Ohjelmointikieliä
Alla olevassa listassa on joukko tunnetuimpia ohjelmointikieliä. Todellisuudessa niitä on satoja tai jopa tuhansia, mutta erityisesti teollisuudessa käytetään vain muutamaa kymmentä (jos johdannaisia ei lasketa mukaan).
|
|
[muokkaa] Aiheesta muualla
[muokkaa] Sivustoja
- Mureakuha, suomalainen ohjelmointisivusto
- Ohjelmointiputka, toinen suomalainen ohjelmointisivusto