Tietokoneohjelma
Wikipedia
![]() |
Tätä artikkelia tai artikkelin osaa on pyydetty parannettavaksi. |
Syy: 30. tammikuuta 2007 kello 16.12 (UTC) Voit auttaa Wikipediaa parantamalla artikkelia. Lisää tietoa saattaa olla keskustelusivulla. |
Tietokoneohjelma on koodia, jonka määräysten mukaan tietokone toimii. Tietokoneohjelma sana erottaa sen muista ohjelmista. Tiedettäessä aiheeksi tietokoneet käytetään tietokoneohjelmasta yleensä nimitystä ohjelma.
Sisällysluettelo |
[muokkaa] Yleistä
Ohjelma on abstrakti käsite. Ohjelma on automaatti, johon laitetaan jotakin sisään ja se antaa jotakin ulos. Sisään menevää tietoa sanotaan syötteeksi (input) ja ulos tulevaa tulokseksi (output). Ohjelma voi tuottaa uuden ohjelman tai muuttaa itseään, joista jälkimmäinen tilanne voi olla toivottu tai ohjelmavirhe. Useimmiten ohjelmat käyttävät syötteenä ja tuottavat tuloksena tietoja, jotka ovat eri tietoja kuin itse ohjelma. Ohjelma voi olla mittakaavaltaan muutaman tavun koosta kymmeniin ja satoihin megatavuihin asti. Ohjelman lähdekoodi voi olla pituudeltaan muutamasta rivistä miljooniin riveihin. Suuret ohjelmat ovat useimmiten jaettuina osiin ja silloin usein käytetään nimitystä ohjelmisto.
Ohjelmalla tarkoitetaan useimmiten tietokoneessa käytettävää ohjelma. Ohjelmia on myös monissa laitteissa, jotka sisältävät mikroprosessorin kuten matkapuhelimissa, digikameroissa ja niin edelleen. Näiden laitteiden suorittimia ohjelmineen kutsutaan sulautetuiksi järjestelmiksi koska ohjelma on käyttäjän kannalta kiinteä osa laitteen toimintaa.
[muokkaa] Historia
Ada Lovelacea pidetään yleisesti kaikkien aikojen ensimmäisenä tietokoneohjelmoijana. Ohjelmointikieli Ada on saanut hänen mukaan nimensä.
[muokkaa] Käyttöympäristö
Käyttöympäristöksi voi keskiverron tietokoneenkäyttäjän kannalta kutsua koko tietokonetta. Silloin se voi olla Windows-jotakin, Mac-jotakin tai kenties jopa Linux-jotakin tai aivan jotakin muuta kun on kyse suurista järjestelmistä, joissa tiedot tallentava tietokone on useimmiten kaukana käyttäjästä tietokonekeskuksessa, kuten tämän Wikipedian palvelimet tai pankkien tilitiedot. Käyttöympäristössä prosessorin käskykanta on ensimmäisiä rajoitteita ohjelmien valinnanvapauteen. Lisärajoitteina voi olla tarvittava muistin määrä, jokin tarpeellinen laite, lisäosa tai liitin.
[muokkaa] Ohjelman toteutustapa
Toteutustapa on usein piilossa käyttäjältä. Ohjelmat käskyt suoritetaan lopulta prosessorissa tai suorittimessa niin sanottuina konekäskyinä riippumatta toteutustavasta ja itse prosessorinkin sisällä suoritus voi olla ohjelmoituna vielä yksinkertaisempiin osasiin, mikro-ohjelmiksi. Konekieliset ohjelmat on käännetty tekstimuotoisesta lädekoodista kääntäjällä ja linkattu eli koottu niin sanotut objektikoodit pakettiin ja järjestelty yhteydet ohjelman tavitsemiin lisäresursseihin. Näiden monien erilaisten tekijöiden johdosta tetokoneet tuntuvat toimivan joskus kuin sattumanvaraisesti vaikkakin oikeasti kuitenkin useimmiten silti toimivat aivan ohjelmien käskyjen mukaan. Asiat joihin tietokoneohjelma linkitetään ovat käyttöympäristöä. Tavallinen sekoilu tässä työvaiheessa on nimeltään versiohässäkkä, josa muutokset eivät toimikaan yhteen. Toinen toteutustapa on tulkittava ohjelma, jonka ohjelmatulkki tulkitsee suoritukseksi. Useimmiten ohjelmissa on osia ja välimuotoja käännetystä koodista sekä tulkinnasta ja myös ohjelmassa voi olla osia jotka ovat kirjoitetut eri ohjelmointikielillä. Tietokoneohjelmien kirjoittaminen on ohjelmointia.
[muokkaa] Ohjelman osa-alue
Ohjelma osa-alue voi olla käyttöliittymän toteutus, jonka osat ovat tietokoneeseen sisäänpäin käyvä liikkenne eli englanniksi input sekä tietokoneesta ulos suuntatuva eli tiedon näyttäminen tai tulostaminen eli output. Tietokoneohjelmat toteutetaan useimmiten modulaarisesti eli yhteenliittyvät eri osa-alueiden toiminnot rakennetaan erillisinä. Osa-alue käsitteen alle sopii myös ohjelmien jaottelu palvelinohjelmiksi tai käyttöliittymäohjelmiksi. Ohjelma voi sisältää jommankumman osan tai molemmat tai jotakin siltä väliltä. Esimerkiksi internetin kautta tieto kulkee usean ohjelmoidun laitteen järjestelemänä ja kohdistamana.
[muokkaa] Systeemiohjelma / sovellus
Ohjelman käyttötarkoituksen mukaan tavallaan päällimmäinen jako voi olla jako systeemiohjelmiksi ja sovelluksiksi. Tavallinen käyttäjä käyttää sovellusohjelmia eikä pysty vaikuttamaan systeemiohjelmiin. Tämä jako on kukaties eniten muuttuva sen mukaan kuinka asioita katsoo. Vähäinen ymmärrys ja vaivannäkö tekee välillä yksinkertaisehkostakin asiasta vaikean kun taas perehdyttyään pystyy säätämään mutkikkaampiankin toimintoja ja varsinkin suhteellisen uusi avoimien ohjelmien ilmestyminen antaa mahdollisuuden ohjelmien toiminnan ja tekotavan opiskeluun ja muokaamiseen mahdollisuuksien rajoissa. Ohjelmat ovat usein hyvin mutkikkaita ja niiden kehitystyössä on saattanut kulua vuosia tai kymmeniä, jopa satoja ihmistyövuosia. Yhden ohjelmoijan kirjoittama ohjelma on kooltaan tuhansia tai kymmeniätuhansia ohjelmarivejä ja ohjelmointiryhmän tekemä saattaa olla kooltaan satojatuhansia tai jopa miljoonia rivejä.
[muokkaa] Ohjelman käyttöliittymä
Ohjelman käyttöliittymä voi olla komentorivi, tekstipohjainen tai graafinen. Ohjelma, joka on joko palvelin tai asiakas toimittaa asiansa toisen pään kanssa viestein, jotka voi samaistaa komentoriveksi tai tietueiksi. Komentorivit muodostavat aikasarjan, jolla toiminnan logiikka on yksikäsitteinen siloin kun myös ohjelman tulostiedot ovat rivikirjoitusta. Yksikäsitteisyyden vuoksi komentorivitoimintatapa on järjestelmätyöskentelyssä suotavaa. Tekstirivit ovat helpoiten muokattavissa ohjelmien syöttö- tai tulostustiedoiksi tai itse ohjelmiksi tai niiden osiksi. Tekstipohjaiset käyttöliittymät ovat soveliaita tekstuaaliseen työskentelyyn kuten ohjelman tekstin kirjoittamiseen ja muokkaamiseen. Tekstipohjaiset sovellukset soveltuvat hyvin päätetyöskentelyyn, koska tekstin siirto tarvitsee melko vähän tiedonsiirtokapasitteettia. Käyttöliittymä voi olla graafinen, jolloin yleensä tarkoitetaan osoitinlaitteela kuten hiirellä naksuteltavia virtuaalipainikkeita ja valikoita, joilla ohjelmaa käytetään. Grafiikkakäytössä ohjelman käsittelemät tiedot ovat kuvallisia. Tietokoneet eivät juurikaan ymmärrä puhetta mutta pystyvät äänittämään ja toistamaan ääntä laitteistosta ja käyttötarkoituksesta riippuen kohtalaisesti tai jopa mainiosti.
[muokkaa] Käyttöliittymän kieli
Ohjelmien käyttöliittymän kieli on useimmiten sovelluksen käyttäjän äidinkieli ja tässä tapauksessa suomi. Useimmat ohjelmointikielet sisältävät englanninkielisiä komentosanoja ja systeemiohjelmat ovat saaneet englanninkieliset nimet. Usein systeemiohjelmia ei edes ole käännetty muille kielille ja englanti on systeemityöskentelijän äidinkielestä riippumatta työkielenä. Englannin kielen mukana olo repertuaarissa tuo valinnan vapautta tietokoneohjelmien käyttöön. Myös on melko tavallista että suomennos on osittainen, epäselkoinen tai tökkivä tai jopa virheellinen.
[muokkaa] Ohjelman toiminnot
Ohjelman olennainen ominaisuus on se mitä sillä voi tehdä ja miten se toimii. Varsinkaan ohjelman luomisen alkutaipaleella ei vielä ole selkeää kuvaa siitä mitä ohjelman pitäisi tehdä. Monenlaisia toimintoja suorittava mutkikkaasti rakennettu ohjelma mahdollistaa niin monenlaisia ympäristön, käyttötapojen ja käytettävien tietojen yhdistelmiä, että niitä kaikkia ei ole mahdollista erikseen tutkia ja testata. Määrittelemättömät ja testaamattomat toiminnan kombinaatiot voivat aiheuttaa lähes minkälaisen tahansa tilanteen mihin tietokone kykenee, riippuen ohjelman toteutustavoista. Tyypillisimmät tilanteet ovat tietokoneen lukittuminen ja jonkin sen osan toiminnan keskeytyminen tai jääminen silmukkaan toistamaan samoja toimenpiteitä. Käyttäjän kannalta ohjelman toimimattomuus on ohjelmavirhe. Virhe voi olla myös siinä kuinka ohjelma on rakennettu kuvaamaan asiaa, jota ohjelmalla on tarkoitus tehdä. Tavallinen ongelma on ohjelmien monipuolisuus ja siitä seuraava työläys saada selville ja oppia kuinka haluttu toiminto suoritetaan.
[muokkaa] Ohjelmien luokittelu
Ohjelmat luokitellaan yleisimmin laitealustan mukaan ja käyttötarkoituksen mukaan. Valmiiksi käännetyt ohjelmat luokitellaan ensin laitealustan mukaan koska alusta on jo määrätty käännösvaiheessa. Vapaata lähdekoodia olevat ohjelmat luetteloidaan usein ensin käyttötarkoituksen mukaan koska useat ohjelmat ovat käännettävissä erilaisille laitealustoille. [1] [2]
[muokkaa] Erilaisia ohjelmatyyppejä
![]() |
Tätä artikkelia tai artikkelin osaa on pyydetty parannettavaksi. |
Syy: Jotkin "ohjelmatyypit" viittaavat eri alan artikkeleihin Voit auttaa Wikipediaa parantamalla artikkelia. Lisää tietoa saattaa olla keskustelusivulla. |
- Tekstinkäsittely
- Julkaisu (Desktop publishing)
- Taulukkolaskenta
- Tietokanta
- Multimedia
- Tietoturva
- Virustorjunta
- Palomuuri
- Vakoilu- ja mainosohjelmien poistajat
- Pakkausohjelmat
- Tietokonepelit
- Internet-sovellutukset
- Yhteisösovellutuset