Mikä on konseptiohjelmointi?

Konseptiohjelmointi on tietokoneohjelmointityyli, joka tunnetaan myös nimellä ohjelmointiparadigma, jonka tavoitteena on luoda käsitteet uudelleen ohjelmoijan mieleen mahdollisimman läheltä itse ohjelmaa. Konseptiohjelmoinnin ajatuksena on, että jokaisen koodinpalan pitäisi merkitä jotain ja sen pitäisi selvästi edustaa sitä toimintoa, jonka ohjelmoija haluaa kyseisen koodinpalan suorittavan. Käsitteenä pidetään kaikkea mitä tarvitaan kuvan näyttämiseen ruudulle tai virheilmoituksen näyttämistä tapahtuman sattuessa. Tietokonekoodin osat, kuten puolipiste, joka kertoo koodiriville, mihin lopettaa, eivät ole käsitteitä, koska ne ovat vain auttamaan tietokoneen toimintaa eivätkä edusta ohjelmoijan mielessä olevia ideoita.

Käsiteohjelmoinnin paradigma ei ole itse ohjelmointikieli. Pikemminkin se on menetelmä muiden ohjelmointikielien arvioimiseksi niiden virheiden tunnistamiseksi. Lopullisena tavoitteena on tehdä fyysisestä tietokoneohjelmasta mahdollisimman identtinen ohjelmoijan alkuperäisen, abstraktin ajatuksen kanssa.

Konseptiohjelmoinnissa ohjelmoija keskittyy semantiikkaan ja syntaksiin. Semantiikka on se, miten ohjelman odotetaan käyttäytyvän, ja syntaksi on se, miten ohjelmoija kuvittelee sen kirjoittavan. Esimerkiksi Java -ohjelmassa koodi A+B saattaa näyttää lisäyksen A ja B välillä. Tällä ohjelmalla on hyvä syntaksi, koska se muistuttaa läheisesti ohjelmoijan alkuperäistä lisäkäsitettä. Jos ohjelma kuitenkin suorittaa suorituksen aikana virheen, kun yrittää lisätä A ja B, ohjelmalla on huono semantiikka, koska se ei tuota odotettua tulosta.

Kun kirjoitat koodia konseptiohjelmointitekniikoiden perusteella, ohjelmoija määrittää ensin käsitteet, joita ohjelma tarvitsee toimiakseen. Jos ohjelmoija loi esimerkiksi virtuaalisen laskimen, hän todennäköisesti kuvittelee käsitteet, jotka voivat liittää, vähentää, kertoa ja jakaa. Hän kuvitteli myös jonkin tavan syöttää tiedot, kuten näppäimistön, ja tavan tarkastella tuloksia näytöllä. Nämä ajatukset muodostavat ohjelman käsitteet. Hän voi myös harkita, minkä värisen ja kuinka suuren laskimen pitäisi olla, mutta nämä eivät ole käsitteitä, koska ne eivät ole välttämättömiä sovelluksen suorittamiseksi.

Kun ohjelmoija on päättänyt kartoittaa käsitteitään, hän löytää parhaan tavan esittää nämä käsitteet tietokonekoodissa. Hän pyrkii kirjoittamaan koodin, joka vastaa hänen ideaaan semantiikan ja syntaksin suhteen. Hän voi käyttää valmiita koodikappaleita, kuten A+B, tai luoda oman koodinsa edustaakseen paremmin käsitteitään.

Vuoden 2011 puolivälistä alkaen XL on ainoa ohjelmointikieli, joka on luotu konseptiohjelmointiparadigman perusteella. Sen tavoitteena on luoda joustavia ohjelmointisääntöjä ja syntaksia, jotka vastaavat ohjelmoijan ajattelua. Sen avulla ohjelmoijat voivat keskittyä siihen, mitä he haluavat luoda sen sijaan, että he olisivat huolissaan muista kuin käsitteellisistä kohteista, kuten koodirivin lopettamisesta puolipisteellä.