Lähdekoodi
Lähdekoodilla tarkoitetaan ohjelmoinnissa tietokoneohjelman tekstimuotoista ohjelmointikielistä listausta. Useimmilla ohjelmointikielillä työskennellessä ohjelman lähdekoodi on käännettävä kääntäjäksi kutsutulla tietokoneohjelmalla ensin suoritettavaan muotoon ennen kuin se voidaan ajaa. Ennen varsinaista suorituskelpoista ohjelmaa lähdekoodi käännetään objektimuotoiseksi ohjelmaksi. Tähän objektimuotoiseen ohjelmaan linkitetään valmiit kirjastomoduulit ja tuloksena syntyy suorituskelpoinen ohjelma.
Lähdekoodia voidaan suorittaa myös tulkkausperiaatteella. Tulkkauksessa lähdekoodia luetaan ja suoritetaan yksi lauseke kerrallaan. Tämä tapa on huomattavasti hitaampi suorituksessa, mutta etuna on aikaavievän käännöksen poisjäänti. Tulkkaavaa suoritusta voidaan käyttää ohjelman kehitystyössä ja protoilussa, jossa tärkeintä on valmiin toimivan prototyypin nopea kokeilutestaus kehityksen lomassa.
Esimerkkejä[muokkaa | muokkaa wikitekstiä]
C-kieli[muokkaa | muokkaa wikitekstiä]
Tyyppiesimerkki C-kielisestä ohjelmasta:
#include <stdio.h>
int main(void)
{
puts("Huomenta maailma!");
}
Java[muokkaa | muokkaa wikitekstiä]
Alla esimerkki lyhyestä Java-kielisestä lähdekoodista:
public class HeiMaailma {
public static void main(String[] args) {
System.out.println("Hei Maailma!");
}
}
PHP[muokkaa | muokkaa wikitekstiä]
PHP-lähdekoodin tarkasteleminen ei onnistu kuin muokatessa tiedostoa, koska PHP on kieli joka suoritetaan palvelimen puolella, joten lähdekoodia ei missään vaiheessa lähetetä käyttäjälle. PHP tulostuu lähdekoodiin HTML-kielenä.
Esimerkki PHP-kielisestä lähdekoodista:
<?php
echo ('Moikka Antsawiki!');
?>
Lähdekoodin muokkaus[muokkaa | muokkaa wikitekstiä]
Lähdekoodia muokataan yksinkertaisella editoriksi kutsutulla tekstitoimittimella. Editorin tärkeimpiä ominaisuuksia on, että se ei lisää tavallisen tekstinkäsittelyohjelman ohjauskoodeja tekstin sekaan (joita kääntäjä ei osaa käsitellä).
Ohjelmakoodia kirjoitetaan myös ohjelmankehitysympäristöissä. Niissä on monia ohjelmointia helpottavia ja nopeuttavia automatisoituja rutiineja. Tällaisia ovat esimerkiksi virheiden paikallistaminen, kirjastomoduulien ennakoiva kirjoitus, debuggaus, versionhallinta ja suoritusnopeuden profilointi.