Ohjelmointikieli | kirjoitetun kielen tyyppi, joka kertoo tietokoneille, mitä tehdä

Ohjelmointikieli on eräänlainen kirjoitettu kieli, joka kertoo tietokoneille, mitä tehdä. Esimerkkejä ovat: Python, Ruby, Java, JavaScript, C, C++ ja C#. Ohjelmointikieliä käytetään kaikkien tietokoneohjelmien ja tietokoneohjelmistojen kirjoittamiseen. Ohjelmointikieli on kuin joukko ohjeita, joita tietokone noudattaa tehdäkseen jotakin.

Ohjelmoija kirjoittaa tekstiä ohjelmointikielen lähdekoodiin ohjelmien tekemistä varten. Yleensä ohjelmointikielessä käytetään oikeita sanoja joillekin komennoille (esim. "if... then... else...", "and", "or"), jotta kieli olisi ihmisen helpompi ymmärtää. Kuten missä tahansa tavallisessa kielessä, monissa ohjelmointikielissä käytetään välimerkkejä. Monet ohjelmat käännetään, mikä tarkoittaa sitä, että tietokone muuttaa tai kääntää lähdekoodin toiselle kielelle (kuten assembly-kielelle tai konekielelle), jota tietokone voi lukea mutta jota ihmisen on paljon vaikeampi lukea.

Tietokoneohjelmat on kirjoitettava erittäin huolellisesti. Jos ohjelmoija tekee virheitä tai ohjelma yrittää tehdä jotain, mitä ohjelmoija ei ole suunnitellut, ohjelma saattaa lakata toimimasta, jolloin sitä kutsutaan "kaatumiseksi". Kun ohjelmassa on ongelma, joka johtuu siitä, miten koodi on kirjoitettu, sitä kutsutaan "bugiksi". Hyvin pieni virhe voi aiheuttaa hyvin suuren ongelman.


 

Ohjelmointikielten tyypit

Ohjelmointikieliä on monenlaisia. Useimmat ohjelmointikielet eivät noudata vain yhtä tyyppiä, joten on vaikea määrittää tyyppiä kullekin kielelle. Kunkin tyypin esimerkit on annettu kussakin jäljempänä olevassa jaksossa, koska ne ovat parhaita tunnettuja esimerkkejä kyseisestä tyypistä.

Korkean tason ja matalan tason välinen suhde

[icon]

Tämä kohta tarvitsee lisätietoja. (Elokuu 2018)

Korkean tason ohjelmointikielet edellyttävät vähemmän tietoa laitteistosta kuin matalan tason ohjelmointikielet. Tämä johtuu siitä, että korkean tason ohjelmointikielet abstrahoivat laitteiston, jossa ohjelma suoritetaan. Monet korkean tason ohjelmointikielet vaativat tulkin, jotta lähdekoodi voidaan ajaa laitteistossa reaaliajassa. Toisaalta matalan tason ohjelmointikielet muuttavat yleensä koko lähdekoodin konekoodiksi ennen ajoa, koska lähdekoodi on niin lähellä laitteistoa, että se on helppo tehdä. Korkean tason kielet vaativat kääntäjän, mutta matalan tason kielet eivät.

Deklaratiivinen vs. imperatiivinen ohjelmointi

Deklaratiiviset ohjelmointikielet kuvaavat "ongelman", mutta ne eivät yleensä kerro, miten ongelma pitäisi ratkaista. Ongelman kuvauksessa käytetään logiikkaa, ja ongelman "ratkaiseminen" näyttää usein loogisten aksioomien järjestelmän automaattiselta todistamiselta. Esimerkkejä tällaisista ohjelmointikielistä ovat Prolog, XSLT, LISP ja SQL.

Imperatiiviset ohjelmointikielet kuvaavat tilamuutosten järjestelmää. Alussa ohjelma on tietyssä tilassa, ja tietokoneelle annetaan vaiheet, joita sen on noudatettava suorittaakseen jonkin toiminnon. Vaiheiden noudattaminen saa ohjelman "vaihtamaan tilaa".

Yleisesti ottaen deklaratiiviset ohjelmointikielet ovat turvallisempia ja lyhyempiä. Imperatiiviset ohjelmointikielet ovat yleisempiä, koska niitä on helpompi käyttää.

Toiminnallinen vs. menettelyllinen

Toiminnallisessa ohjelmoinnissa ohjelmointia tarkastellaan kuten matematiikan funktioita. Ohjelma vastaanottaa syötteen ja joitakin tietoja ja käyttää näitä tietoja tuotoksen luomiseen. Sillä ei ole välitilaa, eikä se myöskään muuta asioita, jotka eivät liity laskentaan.

Proseduraaliset ohjelmat määrittelevät tai kuvaavat vaiheiden tai tilamuutosten sarjoja.

Pinoihin perustuva

Pinoihin perustuvat kielet tarkastelevat osaa ohjelman muistista kuin korttipinoa. On hyvin vähän asioita, joita voidaan tehdä pinolla. Tietoelementti voidaan laittaa pinon yläosaan. Tätä toimintoa kutsutaan yleensä nimellä "push". Tietoelementti voidaan poistaa pinon yläosasta. Tätä kutsutaan nimellä "pop". Voit tarkastella pinon yläosassa olevaa elementtiä poistamatta sitä. Tätä kutsutaan nimellä "peek".

Jos ohjelma on kirjoitettu muotoon "push 5; push 3; add; pop;", se laittaa 5 pinon yläosaan, laittaa 3 5:n päälle, laskee kaksi ylintä arvoa yhteen (3 + 5 = 8), korvaa 3 ja 5 arvoilla 8 ja tulostaa ylimmän (8). Esimerkkejä pinopohjaisista ohjelmointikielistä ovat Postscript ja Forth.

Oliosuuntautunut

Oliosuuntautuneissa ohjelmointikielissä data ja dataa muuttavat funktiot sijoitetaan yhdeksi kokonaisuudeksi. Tätä yksikköä kutsutaan "objektiksi". Objektit voivat olla vuorovaikutuksessa keskenään ja muuttaa toisen objektin tietoja. Tätä kutsutaan yleensä kapseloinniksi tai tiedon piilottamiseksi. Useimmat nykyaikaiset ohjelmointikielet ovat oliosuuntautuneita tai ainakin mahdollistavat tämän ohjelmointityylin. Esimerkkejä tästä ovat Java, Python, Ruby, C++, C# ja muut C-kielet.

Virtaussuuntautunut

Virtaussuuntautuneessa ohjelmoinnissa ohjelmointi nähdään eri komponenttien yhdistämisenä. Nämä komponentit lähettävät viestejä edestakaisin. Yksittäinen komponentti voi olla osa eri "ohjelmia" ilman, että sitä tarvitsee muuttaa sisäisesti.

Tieteellinen tietojenkäsittely

Joitakin edellä mainituista kielistä voidaan käyttää tieteelliseen laskentaan. Esimerkiksi C++:aa ja Pythonia käytetään myös tällä tavoin. Toisaalta on olemassa joitakin kieliä, joiden päätarkoitus on tieteellinen laskenta. Seuraavassa on joitakin esimerkkejä:

Asiakirjan luominen

LaTeX ja SATySFi ovat ohjelmointikieliä, jotka auttavat asiakirjojen luomisessa.



 

Säännöt

Jokaisella ohjelmointikielellä on säännöt siitä, mitä sillä voi ja mitä sillä ei voi tehdä. Näitä ovat mm:

  • Oikeat numerot (numerotyypit ja se, kuinka suuria tai pieniä numerot voivat olla).
  • Sanat (varatut sanat, isojen ja pienten kirjainten herkkyys)
  • Ohjelmointikielen käyttömahdollisuuksien rajoitukset

Useimmilla kielillä on viralliset standardit, jotka määrittelevät lähdekoodin kirjoittamista koskevat säännöt. Joillakin ohjelmointikielillä on kaksi tai useampia standardeja. Näin voi käydä, kun uusi standardi korvaa vanhan. Esimerkiksi Perl 5 -standardi korvasi Perl 4:n vuonna 1993. Näin voi tapahtua, koska kaksi ihmistä teki kaksi standardia samaan aikaan. Esimerkiksi APL:lle on olemassa useita standardeja.



 

Oliokeskeinen ohjelmointi

Oliokeskeinen ohjelmointi (Object-Oriented Programming, joskus lyhennettynä OOP) on ohjelmoinnin muoto, jossa kaikki ohjelman osat ovat objekteja. Objektit ovat rakenteeltaan samanlaisia muistinpalasia, joita voidaan käyttää uudelleen ja uudelleen. Pankkitili, bittikartta tai videopelin sankari voivat kaikki olla ohjelmassa olevia objekteja. Objektit koostuvat ominaisuuksista (tiedonpalasista, joita objekti tallentaa) ja metodeista, jotka ovat asioita, joita objekti voi tehdä. Koira-objektilla voi olla ominaisuuksia, kuten height ja hairColor. Sen metodeja voivat olla esimerkiksi bark() ja wagagTail().

Kaikki objektit luodaan malleista, joita kutsutaan luokiksi. Voit ajatella luokan olevan muotti, josta objektit valmistetaan. Luokka määrittelee kaikki ominaisuudet ja metodit, joita sen objekteilla on. Luokasta luotuja objekteja kutsutaan luokan instansseiksi. Luokka voi laajentaa toista luokkaa, mikä tarkoittaa, että se ottaa kaikki luokan ominaisuudet ja metodit, mutta voi lisätä omia ominaisuuksiaan.

Tässä on esimerkki siitä, miltä luokka voi näyttää ohjelmointikielessä:

class Dog extends Mammal{ //Nämä ovat ominaisuuksia: String breed = "Collie" String type = "Herding Dog" //These are methods void wagTail(){ //Do some wagging } void bark(){ //Do the barking here } }

Huomaa, että Dog-luokka laajentaa Mammal-luokkaa, joten kaikilla koirilla on nisäkkään ominaisuudet, kuten hairLength, ja metodit, kuten eat() tai sleep().

Oliosuuntautunutta ohjelmointia käytetään monissa nykyisin suosituimmissa ohjelmointikielissä, kuten Javassa, C#:ssa, Objective-C:ssä, C++:ssa, Pythonissa, Rubyssä, Javascriptissä ja ActionScriptissä.



 

Esimerkkejä

Esimerkki Visual Basicista

Tässä on yksinkertainen ohjelma, joka on kirjoitettu Visual Basicilla (Microsoftin kehittämä kieli):

Dim Input Input = InputBox("Kuinka vanha olet?? - Koodi") If Not IsNumeric(Input) Then MsgBox & Input & "Tuo ei ole numero!" ElseIf Input < 0 Then MsgBox "Et voi olla alle nollan vuoden ikäinen!" ElseIf Input > 100 Then MsgBox "Tuo on vanha!" Else MsgBox "Olet " & Input & " vuotias." End If

Tämä ohjelma kysyy käyttäjän ikää ja vastaa sen perusteella, mitä käyttäjä on kirjoittanut. Jos käyttäjä on kirjoittanut jotain, joka ei ole numero, ohjelma ilmoittaa sen. Jos käyttäjä on kirjoittanut luvun, joka on pienempi kuin nolla, ohjelma ilmoittaa sen. Jos käyttäjä sanoo olevansa vanhempi kuin 100 vuotta, ohjelma sanoo: "Se on vanha!". Jos käyttäjä on kirjoittanut oikean iän, ohjelma vastaa käyttäjälle, kuinka vanha hän on.

Esimerkki Pythonista

Tässä on ohjelma, joka tekee saman asian kuin yllä oleva ohjelma, mutta Pythonilla:

try: age = int(raw_input("Kuinka vanha olet? ")) except ValueError: print ("Tuo ei ole luku!") else: if age < 0: print ("Et voi olla alle nolla vuotta vanha!") elif age > 100: print ("Tuo on vanha!") else: print("Olet %s vuotta vanha." % age)

Esimerkki C#-ohjelmasta

Sama kuin yllä oleva ohjelma, mutta C#-kielellä:

using System; public class Hello { public static void Main() { Console. WriteLine("Mikä on ikäsi?"); int ikä; if (! int. TryParse(Console. ReadLine(), out age)) Console. WriteLine("Se ei ole luku!"); else if (ikä < 0) Console. WriteLine("Et voi olla alle nollan vuoden ikäinen!"); else if (ikä > 100) Console. WriteLine("Se on vanha!"); else Console. WriteLine("Olet {0} vuotta vanha.", ikä); } }

Esimerkki Haskellista

Sama juttu taas, mutta Haskellilla:

import Text.Read main = do putStrLn "Mikä on ikäsi?" input <- fmap readMaybe getLine putStrLn $ case input of Just age | age < 0 -> "Et voi olla alle nolla vuotta vanha!" | age > 100 -> "Se on vanha!" | muuten -> "Olet " ++ näytä ikä ++ " vuotta vanha." Ei mitään -> "Se ei ole numero!"



 

Aiheeseen liittyvät sivut

 

Kysymyksiä ja vastauksia

K: Mikä on ohjelmointikieli?


A: Ohjelmointikieli on eräänlainen kirjoitettu kieli, joka kertoo tietokoneille, mitä tehdä. Se on kuin joukko ohjeita, joita tietokone noudattaa tehdäkseen jotakin, ja se käyttää yleensä oikeita sanoja joissakin komennoissa, jotta ihmisten on helpompi ymmärtää.

K: Mitä esimerkkejä ohjelmointikielistä on?


V: Esimerkkejä ohjelmointikielistä ovat Python, Ruby, Java, JavaScript, C, C++ ja C#.

K: Miten ohjelmat kirjoitetaan ohjelmointikielillä?


V: Ohjelmat kirjoitetaan kirjoittamalla tekstiä ohjelmointikielen lähdekoodiin. Yleensä käytetään myös välimerkkejä.

K: Mitä tapahtuu sen jälkeen, kun ohjelmat on kirjoitettu ohjelmointikielellä?


V: Kun ohjelmat on kirjoitettu ohjelmointikielellä, ne on käännettävä, mikä tarkoittaa sitä, että tietokone muuttaa tai kääntää lähdekoodin toiselle kielelle (kuten assembler- tai konekielelle), jota tietokoneet voivat lukea mutta jota ihmisten on paljon vaikeampi lukea.

K: Mitä voi tapahtua, jos ohjelmia kirjoitettaessa tehdään virheitä?


V: Jos ohjelmia kirjoitettaessa tehdään virheitä tai jos ohjelma yrittää tehdä jotain, mitä sitä ei ole suunniteltu tekemään, se voi lakata toimimasta, mitä kutsutaan "kaatumiseksi". Kun tämä tapahtuu sen vuoksi, miten koodi on kirjoitettu, sitä kutsutaan "bugiksi". Pienetkin virheet voivat aiheuttaa suuria ongelmia.

K: Miksi tietokoneohjelmat on kirjoitettava huolellisesti?


V: Tietokoneohjelmat on kirjoitettava huolellisesti, koska pienetkin virheet voivat aiheuttaa suuria ongelmia ja johtaa kaatumiseen tai virheisiin.

AlegsaOnline.com - 2020 / 2023 - License CC3