text: Nikotiini on lähinnä virginiantupakkakasvista saatu yleisesti käytetty päihde ja pyridiineihin kuuluva alkaloidi, jota käytetään myös hyönteismyrkkynä ja nikotiinin vieroitushoidossa. Suomessa nikotiinia myydään valmistenimillä Nicorette (depotlaastari, sumute suuonteloon, imeskelytabletti, inhalaattori, resoribletti, lääkepurukumi), Nicotinell (depotlaastari, lääkepurukumi, imeskelytabletti), Nicovel ja Zonnic (pussi suuonteloon, imeskelytabletti, sumute suuonteloon). Nikotiini vapauttaa aivoissa dopamiinia. Lähinnä tästä johtuu nikotiinin käytön mielihyvää aikaansaava vaikutus. Nikotiini toimii parasympatomimeettinä ja on useimpia nikotiinireseptoreita aktivoiva molekyyli, eli agonisti, ja suurissa määrin saatuna voi aiheuttaa myrkytyksen. Nikotiini aiheuttaa riippuvuutta vieroitusoireidensa kautta. Nikotiinia esiintyy luonnostaan erityisesti virginiantupakassa, palturitupakassa ja tupakkapiturissa (Duboisia hopwoodii). Ainetta on myös huomattavasti vähäisemmässä määrin muissa kasveissa, erityisesti koisokasveissa kuten perunassa, tomaatissa ja munakoisossa. Nikotiini toimii korkean nikotiinipitoisuuden kasveissa, kuten tupakkakasveissa (Nicotiana), ensisijaisesti kasvinsyöjiä torjuvana aineena myrkyttäen vaikkapa kasveja syöneitä hyönteisiä. Nikotiinin tuotto kasveissa kuten virginiantupakassa lisääntyy jälkikäteen muun muassa auksiinivälitteisesti kasvin juurten vaurioituessa esimerkiksi hyönteisten takia. Historia Nikotiini on nimetty tupakkakasvin, eli Nicotiana tabacum, mukaan. Kasvi on puolestaan nimetty Jean Nicot de Villemainin mukaan, joka toimi Ranskan suurlähettiläänä Portugalissa. Hän toi 1560-luvulla Portugalista nuuskaa lahjaksi Ranskan kuningatar Katariina de' Medicille ja pian se oli suosittu tuote Pariisin hienostopiireissä. Nikotiinin tupakasta eristivät 1828 ensimmäisinä lääkäri Wilhelm Heinrich Posselt ja kemisti Karl Ludwig Reimann, jotka pitivät ainetta myrkkynä. Nikotiinin empiirisen kaavan (C5H7N) selvitti 1843 tiedemies Louis Melsens. Melsens ilmoitti kuitenkin kaavan väärin, sillä hiilen atomimassan uskottiin tuolloin olevan kuusi vaikka sen nykyään tiedetään olevan 12. Nikotiinin varsinaisen kemiallisen rakenteen selvittivät Adolf Pinner ja Richard Wolffenstein 1893. Nikotiinin syntetisoivat ensimmäisinä Amé Pictet ja A. Rotschy 1904. Brittiläinen fysiologian professori John Newport Langley havaitsi 1905 kemoreseptoriteoriaa tutkiessaan nikotiinin stimuloivan parasympaattista hermostoa. Pohjaten Langleyn ja muiden tutkimuksiin, saksalainen farmakologi Louis Lewin totesi 1920-luvulla nikotiinin aiheuttavan tupakan päihdyttävät vaikutukset ja kirjoitti asiasta 1924 kirjassaan Phantastica. Kokeellisesti asia varmistui 1941 kun Lennox M. Johnston piikitti itseensä ja muihin henkilöihin suonensisäisesti nikotiinia ja kirjoitti sen vaikutuksista. Hän totesi tupakan polton olevan olennaisesti sama asia kuin nikotiinin käyttö samalla tapaa kuin oopiumin käyttö on olennaisesti sama asia kuin morfiinin käyttö. Fyysiset ominaisuudet ja kemia Nikotiini on karvaan makuista, limakalvoja ärsyttävää, puhtaana väritöntä, lievästi emäksistä, hygroskooppista ja öljymäistä nestettä, jolla on tunnusomainen haju. Nikotiini voi olla myös väriltään kellertävän ruskeaa: ilman hapen vaikutuksesta nikotiini hapettuu ruskehtavaksi. UV-säteily ja happi muuntavat nikotiinia nikotiinioksidiksi, nikotiinihapoksi (B3-vitamiini) ja metyyliamiiniksi. Nikotiinilla on kaksi enantiomeeriä, (+)-(R)-nikotiini (eli d- tai L-isomeeri) ja (-)-(S)-nikotiini (l- tai D-isomeeri), joten se on optisesti aktiivinen. Nikotiinin leimahduspiste on 95 °C ja itsesyttymislämpötila 240 °C. 25 °C ja/tai 1 atm oloissa (ellei toisin mainita) (R)-nikotiinin paino on 162,231 g/mol, kiehumispiste 246 °C, sulamispiste –79 °C, 20 °C tiheys 1,0097 g/cm3, 20 °C taitekerroin 1,5282, 298 K protoniaffiniteetti 963,4 kJ/mol, 298 K kaasufaasin emäksisyys ΔemäsG 932,6 kJ/mol, dissosioitumisvakio pKa 8,02 ja 293,2 K permittiivisyys 8,937. Nikotiinin kahdesta enantiomeeristä (R)-nikotiini on luonnossa harvinaisempi ja sitä esiintyy 0,1–1,2 % kokonaisnikotiinista erilaissa tupakkatuotteissa kuten savukkeissa ja nuuskassa. Poltettavan savukkeen savussa tämä arvo on kuitenkin 2–3 %, sillä osa (R)-enantiomeeristä muuntuu tupakan palamisessa (S)-enantiomeeriksi. Muunnokselle on ehdotettu useaa reaktiomekanismia. Muunnos ei todennäköisesti johdu nikotiinin pyrolyyttisestä sisäisestä rasemisaatiosta, vaan useista monimutkaisemmista reaktioista savun aineiden kanssa. (S)-Nikotiini on noin 18 kertaa myrkyllisempi (reesusmakakeille LD50 on 0,33 mg/kg) kuin (R)-nikotiini (LD50 6,15 mg/kg). Fyysisiltä vaikutuksiltaan ne ovat osin samankaltaiset. (S)-Nikotiini sitoutuu keskimäärin 10 suuremmalla affiniteetillä nikotiinireseptoreihin. Nikotiinia voidaan tuottaa synteettisesti, mutta tämä on kalliimpaa kuin erottelu tupakkakasvista. Siksi esimerkiksi sähkösavukkeiden nikotiininesteiden nikotiini on peräisin lähinnä tupakasta. Eräs tunnettu nikotiinin johdannainen on sytisiini ja sitä on käytetty pitkään nikotiinivieroituksessa Itä-Euroopassa, ensimmäisenä Bulgariassa 1964 alkaen. Erityisen voimakkaita α4β2 nikotiinireseptoreihin nikotiininkaltaisesti vaikuttavia aineita ovat muun muassa epibatidiini (hyvin myrkyllinen kloorialkaloidi), A-84,543 ja 3-bromosytisiini. Käyttötarkoitukset Nikotiinia käytetään yleisesti päihteenä muun muassa polttamalla sitä kuivatusta tupakkakasvista tehtyjen savukkeiden muodossa, jotka sisältävät keskimäärin 2 milligrammaa nikotiinia per savuke. Nikotiinia käytetään myös nuuskaamalla ja nesteeseen liotettua nikotiinia höyrystävällä sähkösavukkeella. Nikotiinia myydään vieroitushoitoon myös inhalaattoreina, laastareina, nikotiinipurukumina, kielenalus- ja imeskelytabletteina sekä huulen alle laitettavana tyynynä. Nikotiinikorvaushoitotuotteet ovat ainoita lääkkeitä, joita saa Suomessa myydä apteekkien ulkopuolella. Nikotiinia sisältävät korvaushoitotuotteet ovat olleet myydyimpiä itsehoitolääkkeitä vuodesta 2007 lähtien. Nikotiinikorvaustuotteista myydyimpiä ovat nikotiinipussit. Nikotiini on ollut vuodesta 2015 lähtien Suomen myydyin lääkeaine. Nikotiinia ja sen johdannaisia käytetään myös hyönteismyrkkynä. Sitä käytetään esimerkiksi kärytenauhana tuhohyönteisten hävittämiseen kasvihuoneissa viljeltävistä kasveista. Kärytenauhan käytön ajaksi kasvihuone on suljettava tiiviisti ja lukittava. Nikotiinin myrkyllisyyden vuoksi kärytenauhan käyttäjältä vaaditaan kasvinsuojelun erityistutkinnon suorittaminen. Historiallisesti nikotiinia on käytetty sekä rauhoittavana että lihaskouristuksia vähentävänä lääkkeenä. Tämä käyttö lopetettiin 1900-luvun alussa nikotiinin myrkyllisyyden vuoksi. Vaikutusmekanismi Nikotiini saa aikaan mielihyvää aiheuttavan dopamiinin vapautumisen aivoissa sitoutumalla agonistina ionikanavina toimiviin nikotiinireseptoreihin, erityisesti alatyypin α4β2 nikotiinireseptoreihin. Nikotiini toimii kuitenkin antagonistina kahdessa nikotiinireseptorityypissä: α9 ja α10. Nikotiini lisää myös asetyylikoliinin ja glutamaatin erittymistä jossain määrin sekä säätelee serotoniinin, noradrenaliinin, gamma-aminovoihapon ja sisäsyntyisten opioidien (kuten β-endorfiinin) vapautumista. Hermoston tottuminen jatkuvaan nikotiinialtistukseen saa aikaan nikotiiniriippuvuuden vieroitusoireet. Nikotiinilla on (R)- ja (S)-enantiomeerit. (R)-Nikotiiniin verrattuna (S)-nikotiini on nikotiinituotteissa paljon yleisempi, sitoutuu voimakkaammin nikotiinireseptoreihin ja on siten pääosin vastuussa muun muassa savukkeiden polton päihdyttävistä vaikutuksista. Nikotiinireseptoreita on tiheästi mesolimbisen alueen ja prefrontaalikorteksin dopaminergisissa hermoissa. Pääasiallisesti reseptorit sijaitsevat ventraalisen tegmentaalialueen (VTA) hermosoluissa, joiden haarakkeet ulottuvat aivojen mielihyväkeskuksen (nucleus accumbensin) alueelle. Myös muun muassa oppimista ja muistia säätelevän kolinergisen järjestelmän hermosoluissa on nikotiinireseptoreita, jotka stimuloivat VTA:n dopaminergisia neuroneja ja lisäävät dopamiinin tuotantoa. Nikotiini sitoutuu lisäksi prefrontaalisesta aivokuoresta lähtevien glutamatergisten neuronien reseptoreihin. Vapautuva glutamaatti aktivoi VTA:n dopaminergisia hermoja ja lisää dopamiinin eritystä mielihyväkeskuksen alueella. Glutamaatin ja asetyylikoliinin stimuloivien vaikutusten oletetaan olevan yhteydessä vireyden vahvistumiseen, tarkkaavaisuuteen ja muihin kognitiivisiin toimintoihin. Päihdekäytön vaikutukset Päihdekäytössä nikotiini toimii rentouttavana ja piristävänä aineena: se esimerkiksi kohottaa syketiheyttä ja verenpainetta samanaikaisesti rentouttaen lihaksia. Ensi kertoja nikotiinia käyttäneet kokevat usein hetkellistä huimausta, sekavuutta ja muita vastaavia psyykkisiä vaikutuksia, jotka ovat voimakkaita suhteessa pitkäaikaisesti nikotiinia käyttävien kokemuksiin. Pitkäaikaisessa käytössä käyttäjät saattavat kokea rentouttavien vaikutusten lisäksi nikotiinin parantavan keskittymiskykyä ja lisäävän nautinnon tunnetta eri asioiden tekemisestä. Lisäksi nikotiini voi vähentää nälän tunnetta ja lisätä suoliston toimintaa Poltettaessa nikotiini vaikuttaa lähes välittömästi. Vaikutukset kestävät voimakkaimmillaan 10–45 min ja voivat tuntua heikompina vielä kahden tunnin kuluttua. Nuuskan voimakkaimmat vaikutukset kestävät 45–120 min ja voivat tuntua heikompina useita tunteja. Nikotiinipurukumi alkaa vaikuttaa noin 2–10 min kuluttua ja muuten sen kesto on samanlainen kuin nuuskalla. Nikotiini ja muut vastaavanlaiset kolinergistä järjestelmää aktivoivat aineet saattavat parantaa työmuistia ja lisätä keskittymiskykyä. Tämän perusteella ne voidaan luokitella nootropiineiksi eli älylääkkeiksi. Vieroitusoireet Nikotiinin käytön lopettamisesta voi seurata vieroitusoireita, kuten hermostuneisuutta, suuttumusta, turhautuneisuutta, masennusta, keskittymisvaikeuksia, nälän tunteen kasvua, unettomuutta, ummetusta, kipuherkkyyttä, painajaisia, pahoinvointia, sydämen sykkeen hitaus ja ärtynyt kurkku. Myrkytys Nikotiini on useimmille eliöille myrkyllistä. Suuri määrä nikotiinia voi imeytyä ihon lävitse ja näin voi käydä esimerkiksi märkiä tupakkakasvin lehtiä käsiteltäessä. Suurille nikotiinimäärille altistuvat usein tupakkaa käsittelevät tupakkatyöläiset, nikotiinituotteita syöneet lapset, nikotiinihyönteismyrkkyjä käsitelleet ja itsemurhaa nikotiinilla yrittäneet. Määrän, joka tappaa puolet annoksen saaneista ihmisistä, eli LD50-arvon, on useissa eri lähteissä väitetty olevan 0.8 mg/kg nieltynä. Tämä on 60 mg nikotiinia 75 kg:n painoiselle henkilölle. Tämä määrä on kuitenkin kyseenalainen ja todellinen LD50-arvo on todennäköisesti 6.5–13 mg/kg jolloin tappava annos olisi 0.5–1 grammaa. Oireet Nikotiini ärsyttää suuta ja kurkkua nieltynä tai hengitettynä saaden aikaan limakalvojen polttelua ja lisääntyneen syljen erityksen. Myrkytys alkaa nopeasti. Vakavissa tapauksissa oireisiin kuuluvat muun muassa vapina, ihon sinertävyys (syanoosi), epileptiset kouristukset, kooma, hengityksen lamaantuminen ja kuolema. Lievempään myrkytykseen liittyvät muun muassa päänsärky, pahoinvointi, oksentelu, innostuneisuus, nälän tunteen katoaminen, heikko-olo, nopea sydämen syke, hikoilu ja kylmänväreet. Oireet kestävät 12–24 tuntia ja ennuste on yleensä hyvä: valtaosa ihmisistä parantuu ilman hoitoa. Lievää myrkytystä tavataan erityisesti tupakan raakoja lehtiä käsittelevillä tupakkatyöläisillä. Tässä yhteydessä myrkytys tunnetaan englanniksi nimellä green tobacco sickness. Tarkemmin jaoteltuna myrkytyksen oireet voidaan jakaa keskenään osin päinvastaisiin alku- ja myöhäisvaiheen oireisiin. Alkuvaiheeseen voi liittyä pahoinvointi, oksentelu, vatsakivut, syljen eritys, alahengitysteiden liman eritys (bronchorrhea), kiihtynyt hengitys, korkea verenpaine, nopea sydämen syke, ihon kalpeus, pupillien supistuminen, huimaus, päänsärky, sekavuus, pakkoliikkeet (ataksia), lihasvapina ja kouristuskohtaukset. Myöhäisvaiheeseen voi liittyä ripuli, hengityksen heikkeneminen, hengitysvaikeudet/katkot, sydämen harvalyöntisyys, matala verenpaine, erilaiset rytmihäiriöt, verenkiertošokki, pupillien laajentuminen, heikkous, lihashalvaus ja kooma. Hoito Nikotiinimyrkytystä ei voi suoraan parantaa, joten sen oireita pyritään lähinnä lieventämään. Nikotiinimyrkytystä hoidetaan yleensä ensin aktiivihiilellä, jotta ruuansulatuselimistöstä imeytyvän nikotiinin määrä vähenee. Alkuvaiheen oireita ei yleensä lääkitä koska ne menevät nopeasti ohi ja niiden hoito voi olla vaarallista: esimerkiksi korkean verenpaineen hoito beetasalpaajalla voi johtaa alkuvaiheen jälkeen ilmenevässä myöhäisvaiheen verenpaineen laskussa entistä matalampaan paineeseen. Epileptisiä kouristuksia voidaan vähentää bentsodiatsepiineillä. Nesteitä annetaan suoneen matalan verenpaineen kohottamiseksi ja jos tämä ei toimi, sympatomimeettejä (kuten dopamiini tai noradrenaliini) tai muita suonia supistavia aineita voidaan käyttää. Atropiinia annetaan sydämen harvalyöntisyyteen. Hengityslamaa hoidetaan intuboimalla ja mekaanisin ilmapumpuin. Hemodialyysi, hemoperfuusio ja muut kehon ulkoiset myrkkyjen poistoon käytetyt toimenpiteet eivät poista nikotiinia verestä, joten niitä ei käytetä. Hemodialyysiä voidaan kuitenkin käyttää jos potilas kärsii rabdomyolyysistä ja vereen erittynyt myoglobiini uhkaa vaurioittaa munuaisia. Virtsan happamoittaminen voi teoriassa tehostaa emäksisyytensä vuoksi happoliukoisemman nikotiinin poistumista, mutta tätä ei suositella, sillä se voi johtaa kehon liialliseen happamoitumiseen, eli metaboliseen asidoosikseen. Edeltävää menetelmää vaarattomampaa virtsan määrän lisäämistä ei myöskään suositella, sillä se ei todennäköisesti nopeuta parantumista. Aineenvaihdunta Nikotiini jakautuu elimistöön nopeasti verenkierron mukana ja läpäisee veriaivoesteen, saavuttaen aivot 10–20 sekunnissa savukkeen savun sisäänhengittämisen jälkeen. Nikotiinin puoliintumisaika elimistössä on noin 2 tuntia. Elimistössä nikotiinin eri aineenvaihduntatuotteiksi muuttavat maksan CYP2A6-entsyymit ja vähemmissä määrin CYP2B6-entsyymit. Nikotiinin pääasiallinen aineenvaihduntatuote elimistössä on kotiniini. Noin 70–80 % nikotiinista muuttuu kotiniiksi hapettumalla lähinnä maksassa. Kehoon kokonaisuudessaan saadusta nikotiinista 10–15 % erittyy kotiniinina virtsaan. Muita nikotiinin metaboliitteja ovat muun muassa nikotiini-N-oksidi, nornikotiini, nikotiini-isometonium ioni, 2-hydroksinikotiini ja nikotiiniglukuronidi. Tietyissä olosuhteissa syntyy myös myosmiinia. Mentoli estää nikotiinin glukuronidaatiota ja hapettavaa aineenvaihduntaa, pidentäen siten esimerkiksi menthol-savukeesta polttamalla saadun nikotiinin vaikutusaikaa pidentämällä sen puoliintumisaikaa. Sairaudet, raskaus, muut vaikutukset Verenkiertoelimet Tieto pelkän nikotiinin käytön vaikutuksesta (esimerkiksi sähkösavukkeiden muodossa) verenkierron sairauksiin kuten sepelvaltimotautiin on ristiriitaista. Tupakan polttamiseen verrattuna pelkän nikotiinin käytöstä aiheutuvat riskit ovat kuitenkin huomattavasti paljon pienemmät, sillä polttaminen altistaa näille sairauksille. Hengityselimet Tupakan poltto aiheuttaa muun muassa keuhkosyöpää ja keuhkoahtaumatautia, mutta pelkän nikotiinin käytön vaikutuksista esimerkiksi sähkötupakan muodossa hengityselimiin on ristiriitaista. Jotkin muut sähkötupakoiden nesteisiin lisätyt aineet voivat kuitenkin olla selkeästi haitallisia, kuten joistakin nesteistä löytyvä diasetyyli. Tämä aiheuttaa hengitettynä parantumatonta bronchiolitis obliterans -keuhkotautia. Syöpä Nikotiinia ei ole luokiteltu syöpävaaralliseksi, mutta sen kyvystä tehostaa syöpäkasvainten muodostumista on kiistelty. In vitro (soluviljelmissä ym.) tutkimuksissa nikotiinilla on havaittu syöpää aiheuttava vaikutus, mutta in vivo (eläinkokeissa, ihmisissä ym.) syöpävaarallisuutta ei ole onnistuttu osoittamaan suurella varmuudella. Raskaus ja imetys Tupakointi on tunnetusti hyvin haitallista sikiölle, mutta sen lisäksi edes pelkkää nikotiinia ei suositella käytettävän raskauden aikana sillä sen käyttö mahdollisesti lisää keskossynnytyksen riskiä. Lisäksi nikotiini ehkä vaikuttaa haitallisesti raskauden onnistumiseen ja sikiön aivojen kehitykseen. Nikotiinin kohtualtistuksen on epäilty liittyvän myös lapsen ylipainoon, tyypin 2 diabetekseen, korkeaan verenpaineeseen, oppimisvaikeuksiin, hengityselinsairauksiin ja hedelmättömyyteen myöhemmin lapsen elämässä. Nikotiini erittyy äidinmaitoon, joten imetys nikotiinin käytön aikana ei kannata. Kehonpaino Nikotiini vähentää ruokahalua ja tehostaa aineenvaihduntaa. Jotkut tupakoitsijat saattavat laihtua tämän vuoksi. Tupakoinnin lopettaneet lihovat keskimäärin 5–6 kg, mutta paino palaa ajan kuluessa tupakoimattomien tasolle. Lainsäädäntö Suomessa Nikotiinia sisältävien tupakkatuotteiden myynti on Suomessa sallittu vain 18 vuotta täyttäneille ja sitä vanhemmille. Myynti vaatii myyntiluvan (1.4.2009 alkaen). Nikotiinivalmisteita on lääkelain 54 a §:n (22/2006) mukaan saanut vuodesta 2006 lähtien myydä apteekkien lisäksi tupakkaa myyvistä myyntiluvan saaneista kaupoista, kioskeista ja huoltoasemilta. Lähteet Aiheesta muualla Kemian työsuojeluneuvottelukunta (KETSU): Nikotiini Erowid -tietokanta Terveysportti, metatesaurus: Nikotiini PubChem: Nicotine DrugBank: Nicotine Small Molecule Pathway Database (SMPDB): Nicotine Metabolism Pathway, Homo sapiens KEGG: Nicotine ChemBlink: L-Nicotine Toxin and Toxin Target Database (T3DB): Nicotine Liber Herbarum II: Luettelo nikotiinia sisältävistä kasveista Dr. Duke's Phytochemical and Ethnobotanical Databases: Nicotine Pherobase: Floral Compound - S-nicotine Pherobase: Semiochemical - S-nicotine Alkaloidit Heterosykliset yhdisteet Kasvimyrkyt Myrkylliset alkaloidit Nikotiiniantagonistit Parasympatomimeetit Piristeet Pyridiinit Seulonnan keskeiset artikkelit Tupakointi


source: wikipedia

text: Näyttö eli monitori on tietokoneeseen liitetty kuvaruutu, jolla voidaan esittää tekstiä tai grafiikkaa. Laitteelle on kehitetty myös termi näytin. Näyttölaitteet voidaan tekniikkansa perusteella jakaa kahteen pääluokkaan: emittoiviin eli valoa säteileviin ja ei-emittoiviin eli valoa heijastaviin. Historiaa Vaikka kuvaputkia on ollut tietokoneissa jo 1950-luvulta alkaen, tavallisessa käytössä näytön virkaa toimitti vielä 1960-luvulla yleisesti kaukokirjoittimen kaltainen paperille tulostava pääte. Näyttöpäätteet alkoivat syrjäyttää paperipäätteitä 1970-luvun aikana. Varhaiset tietokoneiden kuvaputkinäytöt eivät perustuneet televisiotekniikassa käytettyyn juovapyyhkäisyyn vaan kuvion muodostavien viivojen (vektorien) piirtämiseen suoraan näyttöpinnan pisteestä toiseen hieman oskilloskoopin tai tutkanäytön tavoin. Vektorinäyttö oli muun muassa PDP-1:ssä. Kuvan piirto tapahtui usein täysin ohjelmallisesti ilman erillistä näytönohjainta, minkä vuoksi virkistystaajuus oli yleensä matala eikä ruudulle mahtunut kovinkaan monimutkainen kuva ilman häiritsevää välkyntää. Erilliset näytönohjainpiirit ja televisioista lainattu toimintaperiaate alkoivat vallata alaa 1970-luvulla. Varhaiset tietokoneet saattoivat esittää tietoa paperitulosteen lisäksi vilkkuvilla valoilla. IBM esitteli mallin 740 "Cathode Ray Tube Output Recorder" -laitteen vuonna 1954. DAC-muuntimet ohjasivat katodisädeputkea ja piirsi hitaasti viivoja tietokoneen ohjauksen mukaan: tätä menetelmää on ryhdytty kutsumaan "vektorigrafiikaksi" erona muista teknologioista. Piirturin ajatus keksittiin vuonna 1953, mutta rahoituksen puutteen vuoksi sitä ei saatu markkinoille ennen vuotta 1959. 1960-luvulla Ivan Sutherland näki interaktiivisen kuvan kanssa toiminnan edut suunnittelutyössä ja kehitti Sketchpadin, jota ei koskaan markkinoitu. Interaktiiviseen toimintaan vaadittiin näyttölaitteiden kehitystä ja tietokoneet alkoivat olla riittävän nopeita piirtämään ja ylläpitämään kohtuullista tarkkuutta. IBM kehitti General Motorsille DAC-1:n, jonka kehitys johti IBM 2250 -vektorinäyttöihin IBM S/360:lle. Vektorinäytöt olivat huipputekniikka 1960- ja 1970-luvuilla, jolloin merkittäviä valmistajia olivat Evans & Sutherland ja Vector General. 1960-luvulla keksittiin grafiikan esittämiseen kykenevä plasmanäyttö, jota käytettiin PLATO-järjestelmän päätteessä. Tektronixin Robert H. Anderson keksi vuonna 1961 Direct-View Storage Tube (DVST) -tekniikan, jota käytettiin vuonna 1963 julkaistussa Tek 564 oskilloskoopissa. Tek 564:n näyttöä sovellettiin tietokonenäyttöihin. Tektronix julkaisi useita tekniikkaan perustuvia grafiikkaan kykeneviä päätteitä tämän jälkeen. Niin sanottu ”tallennusputki” (storage-tube) säilytti kuvan ilman kallista muistia eikä kuva vilkkunut. Haittana oli että kuva piti pyyhkiä ja esimerkiksi tekstin vierittäminen ei ollut mahdollista. Vuonna 1974 Tektronix julkaisi 4014 päätteen, joka maksoi kun taas suora kilpailija IBM 2250 maksoi . 4014:n hinta nousi tämän jälkeen mahdollisesti vastauksena kysynnälle. "Tallennusputki"-tekniikka oli yleinen tietokoneavusteisen suunnittelun järjestelmissä. Ennen DRAM-muistien hintojen laskua näytön virkistykseen perustuvat rasterinäytöt olivat liian kalliita. 1980-luvulla muistien hinnat laskivat ja Tektronixin merkitys väheni: värigrafiikkaan oli suuri kiinnostus ja ”tallennusputkeen” perustuvaa värinäyttöä ei saatu valmistettua. Valmistajien oli kuitenkin vielä pitkään tarjottava päätteitä ja työasemia, jotka olivat yhteensopivia 4014:n kanssa. 1970-luvulla julkaistiin RAM-muistin mikropiirejä kuten Intel 1103, jolloin syntyi idea ASCII-merkkien esittämisestä merkkigeneraattorin () avulla kuvaputkinäytöllä. Tekniikka luki RAM-muistia näytönpäivityksen tahdissa, joka oli tuolloin lähellä piirin maksiminopeutta. Don Lancaster kuvasi tekniikkaa Radio Electronics -lehdessä syyskuussa 1973. Mikroprosessorin kehityksen myötä voitiin lukea 8-bittinen ASCII-merkki, etsiä bittikaava joka näytetään ja näyttää se näytöllä: tämän jälkeen laitteisto skannasi tiedon ja tuotti videosignaalin näytölle. Kun vektorinäytöt eivät pystyneet hyvin täytettyjen lohkojen piirtämiseen tai tuottamaan harmaasävyjä rasteritekniikka pystyi tähän. Harmaasävyä seurasi värien käyttäminen. Motorola 6847 -piiri pystyi piirtämään yksinkertaisia kuvia ja tekstiä synkronoituna mikroprosessorin kelloon ja muut valmistajat toivat vastaavia markkinoille: nämä olivat alkeellisia grafiikkaprosessoreita. 1980-luvulla näyttötekniikka kehittyi ja resoluutiot kasvoivat värimäärän kasvaessa. Pikselien määrän tuplaantuessa vaaka- ja pystysuunnassa kokonaismäärä nelinkertaistuu, joka kasvattaa myös tarvittavaa prosessointia nelinkertaisesti. Samalla kuvaputken on pystyttävä useampiin riveihin samassa ajassa ja oltava riittävän tarkka. Kehityksen myötä ei ollut enää eroa käytetäänkö näyttöä grafiikan vai tekstin näyttämiseen. Näyttöjä oli sekä yksivärinäyttöjä että värinäyttöjä. Välkkymisen rajoittamiseksi ilmestyi eri päivitystaajuuksia, jolloin näyttöjen oli pystyttävä useisiin eri yhdistelmiä näyttötiloista, joka nosti näyttöjen hintoja ja vain suuret tuotantomäärät pystyivät pitämään hinnat siedettävällä tasolla. Puolijohteisiin perustuvien litteiden näyttöjen kehitys alkoi ja ensimmäiset litteät paneelit julkaistiin 1990-luvulla. Välkkymisen vähentyminen, pienempi paino ja pienempi koko johtivat kuvaputken korvaamiseen useissa kohteissa. Työasemakoneet pystyivät entistä parempaan grafiikkaan, jolloin tietokoneet yleistyivät animaatioissa ja tietokoneavusteinen suunnittelu yleistyi hintojen laskiessa. Yksivärinäyttöjen etuina olivat edullisempi hinta, korkeampi erottelutarkkuus ja vähäisempi välkkyminen. Kotitietokoneiden näyttöinä käytettiin usein televisiota, ja monen tietokoneen näyttötilat perustuivatkin Yhdysvalloissa käytetystä NTSC-televisiostandardista johdettuihin tarkkuuksiin, kuten 320×200, 640×200 tai 640×400. Laadukkaita suuritarkkuuksisia värinäyttöjä oli kyllä olemassa jo ennen 1990-lukua, mutta niitä käytettiin lähinnä kalliissa grafiikkatyöasemissa. Yksivärinäytöissä välkyntä pyrittiin minimoimaan hitaalla loisteaineella, joka ei ehtinyt himmetä pyyhkäisyjen välillä. Näin kuvasta saatiin välkkymätön jopa vain muutamien kymmenten hertsien virkistystaajuuksilla, mutta sivuvaikutuksena oli esimerkiksi vierivää tekstiä tai liikkuvaa kohdistinta seuraava varjo. Yksivärinäyttöjen kuva oli yleensä vihreä mutta 1980-luvun jälkipuoliskolla valkoiset, keltaoranssit ja punaiset värit yleistyivät. Nestekidenäytöt tulivat aluksi käyttöön digitaalikelloissa ja taskulaskimissa 1970-luvun puolivälin jälkeen. Ne pysyivät kuitenkin hyvin pitkään varsin pieninä ja erottelukyvyltään, nopeudeltaan sekä kontrastiltaan vaatimattomina, mistä johtuen useimmissa 1980-luvun alun kannettavissa tietokoneissa käytettiin pienikokoista kuvaputkinäyttöä. 1980-luvun puolivälissä litteät elektroluminesenssi- ja plasmanäytöt korvasivat kuvaputket kannettavissa laitteissa. Yksivärisyytensä ja kalliin hintansa vuoksi ne eivät kuitenkaan saaneet sijaa pöytäkoneissa. Kannettavissa tietokoneissakin EL- ja plasmanäytöt joutuivat varsin pian väistymään STN- ja DSTN-nestekidenäyttöjen tieltä. TFT-näytöt puolestaan syrjäyttivät DSTN-näytöt 1990-luvun puolivälin jälkeen. Kuvaputkinäyttö (CRT) Kuvaputkinäyttö käyttää samaa tekniikkaa kuin televisio. Näytön suurin ja raskain osa on ilmatiivis kuvaputki eli katodisädeputki (CRT, engl. lyhenne Cathode Ray Tube). Värikuvaputkessa pisteväli kertoo kuvapinnan samanväristen loisteainepisteiden etäisyyden toisistaan. Mitä pienempi pisteväli, sitä terävämpi kuva. Pisteväli on monitorista riippuen yleensä 0,20–0,28 millimetriä. Kuvatarkkuus eli resoluutio kertoo, kuinka monta kuvapistettä näytöllä voidaan esittää vaaka- ja pystysuunnassa. Mitä suurempi tarkkuus, sitä enemmän yksityiskohtia ruudulle mahtuu. Virkistystaajuus tai kuvataajuus ilmaisee, kuinka monta kertaa sekunnissa kuvaa päivitetään. Kuvaputkinäytöillä virkistystaajuuden pitäisi olla vähintään 75 hertsiä tai mieluummin 85 hertsiä. Liian matalilla virkistystaajuuksilla kuvan välkkyminen voi käydä häiritseväksi, rasittaa silmiä ja aiheuttaa päänsärkyä. Laitteiston teknisten rajoitusten vuoksi virkistystaajuus on käänteisessä suhteessa kuvatarkkuuteen, joten heikompaan kuvatarkkuuteen tyydyttäessä on mahdollista käyttää korkeampaa virkistystaajuutta. Näytön koko mitataan kuvaputken kulmasta kulmaan ja ilmoitetaan tuumina, mutta varsinainen kuva-ala on jonkin verran pienempi. Käytännössä suurempi näyttö mahdollistaa paremman tarkkuuden. Aiemmat 15-tuumaiset näytöt korvaantuivat 17-tuumaisilla joiden suositeltu tarkkuus on 1024×768 kuvapistettä. 19-tuumaisilla näytöillä voidaan käyttää 1280×960 pisteen resoluutiota. 21-tuumaisilla näytöllä on mahdollista käyttää 1600×1200 pisteen tarkkuutta. Suurikokoiset kuvaputkinäytöt ovat painavia ja vievät paljon pöytätilaa. Tilan tarvetta on pienennetty tuomalla markkinoille niin kutsutuilla lyhytkaulaisilla kuvaputkilla varustettuja näyttöjä. Näyttöjen syvyydestä on saatu pois kymmenisen senttiä ja painoa pudotettua hieman alemmaksi. Näyttöjen pinnanmuoto vaihtelee halvimpien mallien joka suuntaan kaartuvista kuvapinnoista kalliimpien mallien lähes tasomaisiin näyttöihin. Suora kuvapinta kerää huomattavasti vähemmän erilaisia heijastuksia ja kuva ulottuu kunnolla reunoille saakka. Halpojen näyttöjen kuvassa saattaa olla erilaisia vääristymiä ja virheitä, joiden poistaminen ei hyvien säätöjenkään avulla välttämättä onnistu. Eri näytöissä säädöt tehdään muutaman painikkeen ja kuvaruutuvalikkojen avulla. Nestekidenäyttö (LCD) Kannettavissa tietokoneissa eri tekniikoilla toteutettuja ohuita nestekidenäyttöjä (LCD) on käytetty jo pitkään. Halvimpien pöytäkoneidenkin seurana ne alkoivat olla vakiovarusteita pian vuosituhannen alun jälkeen. Nestekidenäyttöjen tuumakoot eivät ole suoraan verrannollisia kuvaputkinäyttöjen tuumakokoihin, sillä kuvaputkinäytöistä mitataan kuvaputken halkaisija, mutta nestekidenäytöistä todellinen kuva-ala. 15-tuumainen nestekidenäyttö vastaakin kuva-alaltaan suunnilleen perinteistä 17 tuuman kuvaputkinäyttöä. Nestekidenäytön paneeli koostuu pienistä soluista, joita ohjataan sähkövirralla. Näytön valaistuksen hoitaa paneelin takana oleva taustavalo. Nestekidenäytön kuva on terävä, eikä siinä esiinny kuvaputkelle ominaisia muotovääristymiä. TFT-näytöt toistavat myös eri värisävyt kohtuullisen tarkasti, mutta yleisesti ottaen vain harvat TFT-näytöt kelpaavat värintoistoltaan ammattimaiseen kuvankäsittelyyn. Toinen nestekidenäyttöjen etu on pieni tilantarve. Ne eivät vaadi syvyyssuunnassa kuin murto-osan kuvaputkinäyttöjen viemästä tilasta. Ohut näyttö vie vähän pöytätilaa ja vähäisen painonsa vuoksi näytön paikkaa voi tarvittaessa helposti siirtää. Nestekidenäyttöjen huonoja puolia on se, että kuvan terävyys riippuu esitysresoluutiosta. Lisäksi vanhojen nestekidenäyttöjen katselukulma oli hyvin rajallinen: kuva heikkeni siirryttäessä pois näytön edestä tai muutettaessa katselukulmaa pystysuunnassa. Nykyisissä näytöissä ilmiötä ei juurikaan huomaa. Nestekidenäyttö on suunniteltu käytettäväksi tietyllä kuvatarkkuudella. Suurempaa tarkkuutta ei ole mahdollista käyttää. Jos matalampaa tarkkuutta halutaan käyttää koko näytöllä, kuva täytyy skaalata eli venyttää näytölle, jolloin kuvasta tulee sumea tai vanhemmissa näytöissä heikon skaalausjärjestelmän takia palikkamainen. OLED-näytöt ovat emissiivisiä eivätkä tarvitse taustavaloa. Plasmanäyttö Litteät plasmanäytöt olivat käytössä 1960-luvulta alkaen. 1990-luvun alussa kehitetty aktiivimatriisitekniikka ratkaisi TFT-näyttöjen ongelmakohtia ja johti plasmanäyttöjen syrjäyttämiseen. Liitännät Yleinen tapa kytkeä näyttö näytönohjaimeen on ollut IBM PC -yhteensopivista peräisin oleva 15-nastainen analoginen VGA-liitin ja kaapeli. Kalliimmissa näytöissä ovat olleet käytössä BNC-liitännät, joissa jokainen kuvakomponentti kulkee omassa suojatussa kaapelissaan, jolloin häiriöiden määrä on pienempi. Työasemissa on käytetty joukkoa erilaisia liitäntöjä kuten DB13W3. Digitaaliseen tekniikkaan siirtymisen myötä DVI, HDMI ja DisplayPort ovat korvanneet VGA:n ja joissain tapauksissa käytetään myös USB-liitäntää (USB-C). Joissakin digitaaliseen tekniikkaan perustuvissa laitteissa on vielä VGA-liitäntä yhteensopivuuden vuoksi. Muun muassa videoprojektoreista löytyy usein tuki tietokoneen kytkemiseen. Asennus Näyttö voi olla esimerkiksi työpöydällä omalla jalustalla, seinätelineessä (Flat Display Mounting Interface, FDMI) tai räkkiasennuksena. Katso myös Pistenäyttö Tyhjiöfluoresenssinäyttö Ikkuna (tietojenkäsittely) Lähteet Aiheesta muualla Oheislaitteet Näyttötekniikka Digitaalinen valokuvaus Seulonnan keskeiset artikkelit


text: Näppäimistö on tiedon syöttämiseen tarkoitettu laite, joka koostuu sormilla painettavista näppäimistä. Näppäimistöjä on monissa teknisissä laitteissa, kuten tietokoneissa, kirjoituskoneissa ja laskimissa. Tietokoneiden näppäimistöt muistuttavat yleensä perusasettelultaan kirjoituskoneiden näppäimistöjä, mutta niissä on enemmän näppäimiä. Eri tietokoneperheissä käytetyt näppäimistöt eroavat jonkin verran toisistaan, mutta nykyisin erot ovat suhteellisen vähäiset. PC-tyyppisissä tietokoneissa on ollut käytössä kolme yleistä näppäimistöstandardia, joista nykyisin yleisimmässä on 105 näppäintä, mutta joissain uusimmissa malleissa voi olla vielä erityisiä lisänäppäimiä. PC-näppäimistöjä voi usein käyttää myös muissa koneissa. Ergonomiseksi näppäimistöksi voidaan kutsua keskeltä taitettua mallia, jonka on tarkoitus vähentää ranteisiin kohdistuvaa rasitusta. Historia Ensimmäinen näppäimistö tietokoneeseen yhdistettiin 4.7.1956 Whirlwind I:een, jolloin ohjelmoijat pääsivät syöttämään koneeseen käskyjä suoraan ilman reikäkortteja tai katkaisimia. Qwerty-näppäimistö Yleisintä kirjoituskonetyyppisten näppäimistöjen asettelua kutsutaan Qwerty-asetteluksi, koska sen ylimmän kirjainrivin kuusi ensimmäistä näppäintä muodostavat tämän kirjainyhdistelmän. Näppäimistöistä on kaksi pääasiallista muunnelmaa: ANSI-näppäimistöä käytetään lähinnä Yhdysvalloissa. ISO-muunnelma on käytössä Euroopassa. ISO-näppäimistössä on yksi lisänäppäin vasemman Vaihto-näppäimen oikealla puolella, josta suomalaisessa asettelussa tulevat <|>-merkit. ANSI-näppäimistössä Enter (palautusnäppäin) on vaakasuora suorakulmio ja sen päällä on isompi näppäin |\-merkeille. ISO-näppäimistössä Enter on ylösalaisen paksun L-kirjaimen muotoinen. Näitä nimitetään myös PC105 ja PC104-näppäimistöiksi täysikokoisen PC-näppäimistön näppäinten määrän mukaan. Qwerty-asettelusta on olemassa useita kansallisia muunnelmia, esimerkiksi saksankielisten maiden Qwertz ja ranskalainen Azerty. Useimmissa muunnelmissa erot kuitenkin keskittyvät perusnäppäinalueen oikeaan laitaan, jonne esimerkiksi ruotsalais-suomalaisessa versiossa on istutettu skandinaavisten kirjainten näppäimet , ja . Qwerty-asettelua käytetään tietotekniikassa myös muiden kuin latinalaisia aakkosia käyttävien kielten, kuten japanin ja kiinan, merkinsyöttöjärjestelmien pohjana, mistä syystä sen mukaisia näppäimistöjä tavataan yleisesti kaikkialla maailmassa. Asettelu ei kuitenkaan ole täysin yleismaailmallinen: esimerkiksi yleisimmällä venäjän kirjoittamiseen käytetyllä asettelulla ei ole mitään yhteyttä Qwerty-asetteluun. Vaihtoehtoiset asettelut Qwerty-näppäimistön rinnalle on esitetty vaihtoehtoisia malleja kuten Dvorak-näppäimistö ja portugalilainen HCESAR, mutta ne eivät ole saavuttaneet yhtä suurta suosiota. PC-näppäimistö Tyypillinen suomalainen PC-näppäimistö perustuu Qwerty-näppäimistöasetteluun, jossa on perusnäppäimistön lisäksi erikoisnäppäimiä. Kaikkiaan näppäimiä on tavallisesti 101–105. Näppäimiin on merkitty kirjaimia ja muita merkkejä, joita perinteisesti kutsutaan kaiverruksiksi (vaikka nykyään niitä ei enää aivan sananmukaisesti kaiverreta näppäimiin). Kaiverrukset auttavat löytämään ja muistamaan oikeat näppäimet, kun järjestelmään halutaan syöttää tekstiä. Näppäimillä tuotettavat merkit eivät kuitenkaan ole kiinteästi sidoksissa näppäinkaiverruksiin, vaan riippuvat ohjelmallisesta näppäinasettelusta, jota voidaan haluttaessa muuttaa. Tietokoneen asetuksia vaihtamalla tavallisen Qwerty-näppäimistönkin voi siis hyvin laittaa tuottamaan vaikkapa kyrillisiä kirjaimia, kunhan tietokoneeseen on asennettu asianmukaiset näppäimistökartat, merkistöt ja fontit. Tällöin haluttujen kirjainten löytäminen näppäimistöstä voi tosin olla hankalaa, kun näppäinten tuottamaa syötettä ei voi päätellä päältäpäin. Merkkien kirjoittaminen Perusnäppäimet Näppäimistön perusosan kolmella keskimmäisellä rivillä ovat edustettuina useimmin tarvittavat latinalaiset kirjaimet sekä osa välimerkeistä, erikoismerkeistä ja (ainakin ruotsalais-suomalaisessa näppäimistössä) tarkkeista. Kirjainnäppäimiin on tavallisesti merkitty vain suuraakkoset, vaikka niiden oletusarvoisena syötteenä ovat pienaakkoset; suuraakkosia voi kirjoittaa pitämällä samanaikaisesti alhaalla - eli -näppäintä, jonka symbolina saattaa myös olla pelkkä lihava ylänuoli . Vaihtonäppäimiä on itse asiassa kaksi, alimman kirjainrivin vasemmalla ja oikealla laidalla, mutta vaikutukseltaan ne ovat yhteneväiset. Kymmensormijärjestelmässä vasemmanpuoleista vaihtoa käytetään silloin, kun kirjoitusmerkki näppäillään oikealla kädellä, ja vastaavasti oikeanpuoleista vaihtoa käytetään, kun merkki näppäillään vasemmalla kädellä. Vasemmanpuoleisen vaihtonäppäimen yläpuolella olevan -näppäimen avulla suuraakkoset saa lukittua oletusarvoisiksi, jotta kirjoittajan ei tarvitsisi jatkuvasti pitää vaihtonäppäintä alhaalla, jos hän esimerkiksi haluaa kirjoittaa kokonaisia sanoja suuraakkosin. Tällöin yleensä syttyy erityinen merkkivalo, useimmiten näppäimistön oikeaan ylänurkkaan. Samalla vaihtonäppäimen vaikutus kääntyy kirjainnäppäinten osalta päinvastaiseksi, eli sen avulla voidaankin haluttaessa kirjoittaa pienaakkosia suuraakkosten lomaan. Pienaakkoset palautuvat oletusarvoisiksi ja merkkivalo sammuu, kun -näppäintä painetaan uudelleen. Perusnäppäimistön ylärivin näppäimillä voidaan kirjoittaa numeromerkit sekä joukko erikoismerkkejä, välimerkkejä ja (monissa näppäimistöasetteluissa) tarkkeita. -näppäin ei vaikuta muihin kuin kirjainnäppäimiin (toisin kuin mekaanisten kirjoituskoneiden ), joten numeronäppäimillä kirjoitetaan caps lockista riippumatta aina oletusarvoisesti numeroita. Numeronäppäinten erikois- ja välimerkit on kirjoitettava vaihtonäppäimen (tai -näppäimen) avulla. Perusnäppäimistön alimman rivin keskellä sijaitsee kaikista levein näppäin, jossa yleensä ei ole mitään kaiverrusta. Sillä kirjoitetaan välilyönti. Välilyöntinäppäimen oikealla puolella sijaitsee (alternate graphic) ‐erikoisnäppäin, jota käytetään vaihtonäppäimen tapaan joidenkin erikoismerkkien kirjoittamiseen. Muihin kuin kirjainnäppäimiin onkin yleensä merkitty kahdesta neljään eri merkkiä. Tällöin näppäimen vasempaan alanurkkaan asemoitu merkki on näppäimen oletussyöte ja sen yläpuolella oleva tuotetaan vaihtonäppäimen avulla. Näppäimen oikeaan alanurkkaan mahdollisesti asemoitu merkki tuotetaan -näppäimen avulla, oikeaan ylänurkkaan mahdollisesti asemoitu merkki taas vaihtonäppäimen ja -näppäimen yhdistelmällä. Esimerkkejä: *ainoastaan laajennettu suomalainen näppäimistö, joka on oletuksena Linuxissa Palautusnäppäin ja askelpalautin Oikeanpuoleisen vaihtonäppäimen yläpuolella on normaalia näppäintä selvästi isompi palautusnäppäin , nykyään englanniksi useammin , jonka symbolina on vasemmalle kääntyvä kulmanuoli . Palautusnäppäimen nimi periytyy vanhoista kirjoittimista, joissa paperitela tai kirjoituspää piti aina riviä vaihdettaessa palauttaa lähtöasentoon vaununpalautus-koodilla (carriage return). Nykyaikaisissa tekstinkäsittelyohjelmissa palautusnäppäin tuottaa yleensä näkymättömän kirjoitusmerkin, joka osoittaa tietokoneelle kappaleen päättyvän. Palautusnäppäimen yläpuolella on askelpalautin , jota symboloi vasemmalle osoittava nuoli . Myös askelpalauttimen nimi periytyy kirjoituskoneista, joissa vastaava näppäin siirsi paperitelaa yhden askelen verran takaisinpäin. Nykyaikaisissa tekstinkäsittelyohjelmissa askelpalautin pyyhkii pois kohdistinta edeltävän merkin. Selaimissa tai tiedostonhallinnassa sen avulla voi yleensä palata edelliselle sivulle tai ylemmälle hakemistotasolle. Sarkain Ylimmän kirjainrivin vasemmalla puolella on niin sanottu sarkain- eli tabulointinäppäin, jossa tavallisesti on oikealle osoittava, pystyviivaan päättyvä nuoli [⇥] ja sen yläpuolella samanlainen mutta vasemmalle osoittava nuoli [⇤] ilmaisemassa, että vaihtonäppäimellä vaikutus kääntyy päinvastaiseksi. Sarkainnäppäimen tarkoitus vaihtelee käytettävän ohjelman mukaan, mutta esimerkiksi tekstinkäsittelyohjelmissa se tuottaa tavallisesti näkymättömän merkin, joka ohjaa kohdistimen eli kursorin asettumaan erikseen asetettavaan sarkainkohtaan. Toisaalta taulukoissa sarkainnäppäin ei tuota minkäänlaista merkkiä, vaan sen avulla siirretään kohdistinta solusta toiseen. Tarkenäppäimet suomalaisessa näppäimistössä Pääartikkeli: Tarkenäppäin Suomessa käytössä olevat näppäimistöt ja näppäimistöasettelut poikkeavat jossakin määrin esimerkiksi tavallisesta yhdysvaltalaisesta tai saksalaisesta näppäimistöstä. Eroavaisuudet koskevat pääasiassa niin kutsuttujen tarkkeitten ja kielikohtaisten kirjainmerkkien sekä joittenkin erikoismerkkien sijoittelua näppäimistöllä. Tarkenäppäinten erikoispiirre on, että merkki ei näppäiltäessä tule heti näkyviin. Tarkkeita ei ole tarkoitettu käytettäviksi itsenäisinä kirjoitusmerkkeinä, vaan ne esiintyvät tavallisesti vain jonkin kirjaimen lisukkeina (é, ü, ñ, ç, ā), joten kirjoitettaessa ne jäävätkin odottamaan seuraavaa kirjainta ja ilmestyvät näkyviin vasta sen kera. Näin suomalaisella näppäimistöllä on varsin helppo kirjoittaa useitten eurooppalaisten kielten erikoismerkkejä. Perinteisessä ruotsalais-suomalaisessa näppäimistöasettelussa on numerorivissä askelpalauttimen vasemmalla puolella tarkenäppäin, johon on kaiverrettu akuutti ( ́) eli oikealle kallistuva aksenttimerkki ja sen yläpuolelle gravis (`) eli vasemmalle kallistuva aksenttimerkki). Aksenttimerkin alapuolella on toinen näppäin, johon on kaiverrettu treema ( ̈) eli kaksi yläpuolista pistettä, sen yläpuolella sirkumfleksi (^) eli ylöspäin osoittava nuolenkärki ja oikeassa alanurkassa aaltoviiva (~) eli tilde. Paitsi tarkkeena voidaan aaltoviivaa tietoteknisissä yhteyksissä käyttää yksinäänkin esimerkiksi kotihakemiston symbolina (etenkin Linux- ja Unix-järjestelmissä) ja sirkumfleksiä puolestaan yläindeksin korvikkeena esimerkiksi potenssilaskuissa (2^3 = 23). Aaltoviiva esiintyy itsenäisenä merkkinä myös esimerkiksi eräissä kielitieteellisissä merkinnöissä. Tällaista harvinaisempaa käyttöä varten tarkkeet saadaan tuotettua kirjoittamalla tarkemerkin jälkeen kirjaimen sijasta välilyönti tai kirjoittamalla tarke kaksi kertaa peräkkäin. Laajennetussa suomalaisessa näppäimistöasettelussa on mukana lukuisia muitakin tarkemerkkejä: hattu, kaksoisakuutti, lyhyysmerkki eli breve, pituusmerkki eli makron, ogonek eli häntä, poikkiviiva, sedilji, yläpuolinen ja alapuolinen piste, yläpuolinen ympyrä ja niin edelleen. Tämä mahdollistaa suomen kielen š- ja ž‐kirjainten suositusten mukaisen kirjoittamisen sekä muitten, etenkin pohjois- ja keskieurooppalaisten, kielten kirjoittamista vielä huomattavasti laajemmin kuin perinteinen ruotsalais-suomalainen näppäimistö. Vanha ruotsalais-suomalainen näppäimistö, jota esiintyi pääasiassa mekaanisissa kirjoituskoneissa huomattavasti ennen kotitietokoneitten yleistymistä, erosi nykyisestä muun muassa siten, että skandinaavisten kirjainten näppäimet , ja sijaitsivat alaoikealla, välittömästi :n vieressä. Tärkeimmiksi katsottujen tarkkeitten paikka oli tuolloinkin yläoikealla. Näppäinten määrä oli yleensä pienempi kuin nykyään: esimerkiksi näppäimet ja saattoivat puuttua kokonaan, koska katsottiin, että numeroitten 0 ja 1 sijasta voitiin käyttää kirjaimia O ja l. Koska -näppäintä tai sitä vastaavaa mekanismia ei tunnettu, voitiin kullakin näppäimellä tuottaa korkeintaan kaksi erilaista merkkiä. Niinpä esimerkiksi aaltosulkeita, hakasulkeita tai ät-merkkiä ei tuon ajan ruotsalais-suomalaisissa näppäimistöissä esiintynyt. Näppäimistöön merkitsemättömien kirjainten ja merkkien tuottaminen Näppäimistön merkinnät eivät yleensä kerro koko totuutta käytettävissä olevasta merkkivalikoimasta. Nykyaikaisissa Suomen oloihin kotoistetuissa tietokonejärjestelmissä esimerkiksi Alt Gr -näppäin yhdessä Ö-näppäimen kanssa saattaa tuottaa niin sanotun tanskalaisen Ö:n (Ø), vaikkei sitä olisikaan näppäimistöön erikseen merkitty. Tämä näppäinyhdistelmä toimii ainakin laajennetussa suomalaisessa näppäimistössä, joka on vuonna 2008 vahvistettu kansalliseksi standardiksi. Niin sanottu hattu saadaan samassa näppäimistöasettelussa pitämällä Alt Gr:ää pohjassa ja painamalla samaan aikaan suoran heittomerkin näppäintä. Kun tämän jälkeen painetaan esimerkiksi S-näppäintä, saadaan tarkkeellinen kirjain š. Komento- ja ohjausnäppäimet Näppäimistön alimmalla rivillä vasemmassa reunassa on eli ctrl-näppäin (control, ) ja välilyöntinäppäimen vasemmalla eli alt-näppäin (alternate, vaihtoehtoinen), joita voidaan käyttää yhdessä muiden näppäinten kanssa antamaan käyttöjärjestelmälle ja ohjelmille komentoja. Näiden välissä PC-tietokoneen näppäimistössä on , jota yleensä kutsutaan Windows-näppäimeksi, koska siinä on Windows-käyttöjärjestelmän logo. Tämä näppäin lisättiin PC-näppäimistöihin Windows 95 -käyttöjärjestelmän aikana. Windowsissa se avaa käyttöjärjestelmän Käynnistä-valikon (Start-menu). Eräät valmistajat eivät pidä näppäinten nimen käytöstä Microsoftin markkinointiin. Sun Microsystemin Type 6 USB -näppäimistöissä sen tilalla on vinoneliöllä merkitty Meta-näppäin. Linuxin ympäristöistä ainakin GNOME käyttää tästä näppäimestä nimeä Super, joka on yksi X Window Systemin tuntemista näppäinten nimistä. Macintosh-näppäimistössä vastaavalla paikalla on eli komento-näppäin, jonka avulla voidaan suorittaa erilaisia näppäinkomentoja. Ikkunoiduissa, graafisissa käyttöliittymissä ne tarjoavat näppärän oikotien, niin ettei käyttäjän tarvitse aina ruveta hakemaan komentoja valikoista hiiren avulla, mutta toisaalta käyttäjän on opeteltava näppäinyhdistelmät ulkoa, ennen kuin niistä on iloa. Välilyöntinäppäimen ja erikoismerkkien kirjoittamiseen tarvittavan Alt gr -näppäimen oikealla puolella on vielä toinen Windows- ja ctrl-näppäin ja usein niiden välissä niin sanottu menunäppäin (valikkonäppäin), jonka toiminta vastaa Windows-käyttöjärjestelmässä hiiren kakkospainiketta. Joissain näppäimistöissä ja lähes kaikissa kannettavissa tietokoneissa on kyseisen valikkonäppäimen sijasta eli Function -näppäin jota pohjassa pitämällä voi saada numerorivistä erinäisiä lisätoimintoja. Tätä on hyödynnetty esimerkiksi kannettavissa tietokoneissa kirkkauden säätämiseen ja mediakontrolleihin. Pienemmissä näppäimistöissä joissa ei ole funktionäppäimiä (F1–F12), voi Fn-näppäimellä aktivoida kyseiset toiminteet tavallisten numeronäppäinten avulla. Fn-näppäin voi sijaita joko vasemman tai oikean Ctrl-näppäimen vieressä. Perusnäppäimistöosan yläpuolella vasemmassa kulmassa on Esc-näppäin (, ’pako, poispääsy’) eli poistumisnäppäin, jolla toisinaan voi keskeyttää tietokoneen suorittaman toiminnon, mutta joissain ohjelmissa sillä saattaa olla muita erityistehtäviä. Esc-näppäimen oikealla puolella on rivistö funktio- eli toimintonäppäimiä (F1–F12), joihin voi liittyä lisää ohjelmakohtaisia erityiskomentoja: esimerkiksi F1-näppäin tuo tyypillisesti esiin käytettävän ohjelman ohjeistusta. Ensimmäisissä PC-koneiden näppäimistöissä (PC/XT) toimintonäppäimiä oli vain kymmenen, ja ne olivat näppäimistön vasemmassa reunassa parijonossa. Toimintonäppäinrivin oikeassa reunassa on yleensä vielä muutama erikoisnäppäin: print screen- (joka Windowsissa kopioi näytöstä kuvan leikepöydälle), scroll lock- ja pause/break-näppäimet. Perusnäppäimistöosan oikealla puolella on tavallisesti kohdistimen ohjausnäppäimiä: neljä erillistä nuolinäppäintä (arrow keys) ja niiden yläpuolella näppäimet home (jolla kohdistin siirtyy rivin alkuun), end (rivin loppuun), page up (edelliselle sivulle) ja page down (seuraavalle sivulle). Samaan näppäinryhmään kuuluva insert-näppäin asettaa tekstinsyötön niin sanottuun päällekirjoitustilaan, jolloin jokainen vanhan tekstin lomaan lisättävä merkki korvaa sen alle jäävän vanhan merkin, sen sijaan että uudet merkit työntäisivät vanhaa tekstiä edellään, kuten tavallisesti. Delete-näppäin puolestaan poistaa kohdistinta seuraavan merkin kirjoittamatta mitään tilalle. Samat kohdistimen ja tekstinsyötön ohjausnäppäimet sisältyvät myös näppäimistön oikeassa laidassa olevaan erilliseen numeronäppäimistöön, vaikka niiden asettelu on erilainen. Numeronäppäimistön vasemmassa ylänurkassa on lisäksi num lock -näppäin, joka toimii samaan tapaan kuin kirjainnäppäimiin vaikuttava caps lock: sen avulla numeronäppäimistön voi lukita laskinmaiseksi näppäimistöksi, jolla voi yksikätisesti syöttää lukuja ja laskea yksinkertaisia aritmeettisia perusyhtälöitä (yhteen-, vähennys-, kerto- ja jakolaskuja). Kannettavien tietokoneiden näppäimistössä on yleensä hieman vähemmän näppäimiä ja erilainen näppäinjärjestys. Esimerkiksi erillinen numeronäppäimistö puuttuu yleensä tilansäästön vuoksi kokonaan. Niin sanotuissa multimedianäppäimistössä on lisäksi joitakin ohjelmoitavia erikoisnäppäimiä esimerkiksi äänenvoimakkuuden säätöön sekä selaimen ja yleisimpien apuohjelmien käynnistykseen ja sammuttamiseen. Näppäimistön tekniikka Kytkimet The Handbook of Human-Computer Interaction suosittelee, että näppäinten liikkeen tulisi olla 1,3–6,4 mm ja painallukseen käytettävän voiman 28–142 g. Tutkimusten mukaan käyttäjät eivät ole tarkkoja näiden suhteen vaan sopeutuvat kulloiseenkin tilanteeseen. Kalvokytkin Tavallisimpien näppäimistöjen kytkimet perustuvat kalvoon. Tässä rakenteessa näppäinhatut on sijoitettu kumisten kupujen päälle. Kupujen alla on kerroksittainen muovikalvo. Näppäinhatun painuessa alas kupu painuu alas ja painaa ensimmäisen kalvon läpi eristekalvosta yhteen alimman kalvon kanssa, minkä kone tulkitsee merkin annoksi. Painalluksen hellittäessä kumikupu palauttaa näppäinhatun alkuasentoonsa. Tässä mallissa näppäinhattu liikkuu täydet 2,5–4,0 mm. Tämä rakenne on halpa valmistaa, mutta muihin verrattuna se ei ole kovin kestävä: näille malleille on luvattu iäksi ainoastaan 1–10 miljoonaa painallusta. Ajan myötä kumi voi kovettua ja tuntuma muuttuu kovemmaksi tai pehmeämmäksi. Joissakin kalvokytkimissä on yksinkertaisempi rakenne, jossa kolmen muovikalvon asemasta käytetään sähköä johtavaa kumia. Joistakin malleista hattu ja kupu puuttuvat kokonaan. Saksikytkin Kalvokytkimen alalaji on saksikytkin. Tätä tyyppiä käytetään kannettavien tietokoneiden näppäimistöissä. Saksimekanismin vaikutuksesta näppäinhattu liikkuu vain 2 mm. Liike tuntuu kalvomallia vakaammalta, ja näppäimet palautuvat voimakkaammin. Tämä malli on hieman kalvomallista kalliimpi. Sen käyttöikä on 1–20 miljoonaa painallusta. Mekaaninen kytkin Mekaaniset näppäimistöt perustuvat mekaanisiin kytkimiin, jollainen on jokaisen näppäimen alle. Tällaiset näppämistöt ovat kalvomallisia mutkikkaampia, kalliimpia ja laadukkaampia. Jokaisen näppäimen alla on itsenäinen kytkin, joka voidaan ainakin periaatteessa irrottaa ja vaihtaa sen vikaannuttua. Mekaanisia kytkimiä on erilaisia malleja, jotka tunnetaan värikoodien nimillä. Esimerkiksi kirjoittamiseen ja koodaamiseen käytettävät siniset kytkimet antavat selvän kosketustuntuman ja naksahtavat painettaessa, kun taas punaiset kytkimet ovat epälineaariset, hiljaiset ja muistuttavat tuntumaltaan kalvonäppäimiä ja niitä suositellaan esim. pelikäyttöön. Mekaanista näppäintä ei tarvitse painaa pohjaan saakka. Useissa tapauksissa näppäinhattu kulkee 4 mm matkan pohjaan, mutta signaali painalluksesta lähtee koneelle jo 2 mm:n kohdalla. Signaalin lähdettyä näppäinmekanismi alkaa vastustaa liikettä aiempaa voimakkaammin. Näin mekanismi ilmaisee kirjoittajalle, että sormen voi siirtää seuraavalle näppäimelle jo ennen törmäystä pohjaan. Tämän ansiosta nopean kirjoittamisen pitäisi olla miellyttävämpää. Hyvin suunniteltu kytkin ei palaudu off-asentoon samassa kohdassa kuin signaali lähtee, vaan vasta myöhemmin, koska tämä estää useiden signaalien lähtemisen samalla painalluksella. Mekaanisten kytkimien toiminta ei heikkene ajan myötä. Samalla ne ovat kaikkein kestävimpiä: niille luvataan 20–50 miljoonaa painallusta. Mekaanisia näppäimistöjä myydään myös osina, joten käyttäjä voi vaihtaa näppäimistön kotelon, taustalevyn (backplate), kytkimet, näppäinhatut ja johdon halutessaan tai rakentaa näppäimistön haluamistaan osista. Lisäksi jotkut näppäimistöt ovat ohjelmoitavia, joten näppäinten ja led-taustavalon toimintaa voi säätää. Lineaarinen mekaaninen kytkin Lineaarinen mekaaninen kytkin ei ilmaise erikseen, missä vaiheessa signaali on lähtenyt. Vaadittava painalluksen voima pysyy samana koko matkan. Esimerkkejä: Deck; Cherryn mustakantaisilla kytkimillä varustetut näppäimistöt. Mekaaninen kytkin, jossa on kevyt tuntuma Nämä mallit antavat kosketuspalautetta ja naksuvat, mutta erehdyttävän vaisusti. Esimerkki: Cherryn ruskeakantaisilla kytkimillä varustetut näppäimistöt. Kosketustuntuman antavat mekaaniset kytkimet Näissä malleissa on tuntuva palaute ja selvä naksu. Esimerkkejä: SteelKeys 6G, Cherryn sinikantaisilla kytkimillä varustetut näppäimistöt. Kuuluvaa palautetta antavat mekaaniset mallit Ääni on kovempi, mutta yleensä suurempaa voimaa ei tarvita niillä kirjoittamiseen. Esimerkki: Strongman-kytkimillä varustetut mallit, kuten Cherry SMK85. Jäykät ja kovaääniset mekaaniset kytkimet Tämäntyyppisten näppäimistöjen tuntuma muistuttaa IBM Selectric -kirjoituskonetta. Nämä mallit ovat harvinaisia nykyään, mutta ne olivat suosittuja tietokoneiden alkuaikoina. Monet vannovat näiden mallien nimiin edelleen. Vastaavan hyödyn voi kuitenkin saada uudemmista, kosketustuntumalla varustetuista mekaanisista näppäimistöistä. Esimerkki: Nurjahtavaan jouseen perustuva IBM:n alkuperäinen malli "M" painaa yli kaksi kiloa. Nykyään samoja näppäimistöjä valmistaa Unicomp. Näppäimistömatriisi Näppäimistön kytkimet on tyypillisesti kytketty matriisiin. Näppämistön kaikkien näppäinten kytkeminen suoraan näppäimistöä ohjaavan mikrokontrollerin tai vastaavan pinneihin on mahdotonta. Tämän vuoksi näppäimistön kytkimet on järjestelty matriisiin, jonka linjoja skannataan millisekuntien välein. Tekniikasta aiheutuu eräitä ongelmia, kuten ghosting, jossa näppäimenpainalluksia katoaa kun useita näppäimiä painetaan pohjaan. Tämä vuoksi etenkin pelaamiseen suunnitelluissa näppäimistöissä käytetään anti-ghosting-tekniikoita, jotka varmistavat sen, että ainakin useimmiten käytetyt näppäimet voi painaa pohjaan yhtäaikaa. Tekniikasta, joka pystyy tunnistamaan kaikki yhtäaikaa painetut näppäimet käytetään nimeä NKRO (N-Key Rollover). Liitännät Erillisen näppäimistön liitäntöjä on lukuisia erilaisia. PC-koneissa liitin on aluksi ollut iso ja pyöreä DIN5-liitin, IBM PS/2-koneiden myötä pienempi pyöreä PS/2-liitin ja nykyisin usein USB-liitin. Applen tietokoneet ovat aiemmin käyttäneet ADB-liitintä, Sunin työasemat sarjaliitäntään perustuvia DB15 (Sun3-koneet) ja MiniDIN8-liittimiä (Type 5 -näppäimistöt). Nykyisin yleisimmät käytössä olevat liitännät ovat USB sekä PS/2. Liitäntä voi olla myös johdoton infrapuna- tai radioyhteydellä (esim. Bluetooth) varustettu näppäimistö. Enemmistö langattomista näppäimistöistä perustuu kuitenkin langan päässä sijaitsevaan vastaanottimeen. Muoto Näppäimistön muoto vaikuttaa kirjoitustehoon ja virheiden määrään. Tutkimusten mukaan paras muoto on sivulta katsottuna kaareva; toiseksi paras profiili on porrastettu. Tasainen profiili on kaikkein huonoin. Tutkimuksissa kaikki käyttäjät pitävät jonkin verran kallistetusta näppäimistöstä. Puolelle tutkimuksiin osallistuneista sopivin kulma on 15–25°. Sopiva kulma riippuu istuimen korkeudesta ja käyttäjän omasta pituudesta. Koko Näppäimet Useimmissa näppäimistöissä näppäimen muoto on kaareva tai kovera. On olemassa myös litteitä näppäimiä. Näppäinten keskikohtien tulisi olla vähintään 19 mm:n päässä toisistaan, sillä tiheämpi asettelu hidastaa kirjoittamista. ANSI-standardi suosittelee, että näppäimen koko on 12 × 12 mm. Katso myös Pikanäppäin Kymmensormijärjestelmä Laajennettu suomalainen näppäimistö Dvorak-näppäimistö Kyrillinen näppäimistö DAS-näppäimistö Lähteet Aiheesta muualla Dvorak-näppäinjärjestys, johon on lisätty ä ja ö Suomalainen DAS-näppäinjärjestys Matti Airaksen näppäimistö SuoRak-näppäinjärjestys – suomen kieltä varten suunniteltu Dvorak-pohjainen näppäimistö åuiogv-näppäinjärjestys – suomen kielen kirjoittamiseen optimoitu näppäinjärjestys Colemak-näppäinjärjestys – englannin kielen kirjoittamiseen optimoitu näppäinjärjestys MessagEase-näppäimistö – kirjainten ja kirjainparien yleisyystaulukoiden mukaan optimoitu näppäinjärjestys älypuhelimille ja taulutietokoneille Online-työkalu vaihtoehtoisten näppäinasettelujen testaamiseen Jukka Korpela, "Merkkien kirjoittaminen" Nykyajan kielenopas Seulonnan keskeiset artikkelit


text: Ohjelmointi tarkoittaa tietokoneelle tai vastaavalle ohjelmoitavalle laitteelle jollakin tavalla, tyypillisesti kirjoittamalla, annettavia toimintaohjeita formaalilla kielellä eli ohjelmointikielellä. Perusteet Tietokoneen suoritin ymmärtää suoraan vain ohjelmia, jotka on kirjoitettu konekielellä. Konekieli koostuu yksinkertaisista operaatioista, esimerkiksi "vähennä rekisterin 3 arvosta rekisterin 5 arvo". Ohjelmointi suoraan konekielellä on mahdollista, mutta hyvin hidasta ja virhealtista johtuen laitteiden eroavaisuuksista. Konekielellä ohjelmia kirjoitetaan usein vain poikkeustapauksissa. Useammin käytetään symbolista konekieltä (ks. assembly). On huomattavaa, että myös symbolinen konekieli kääntyy viime kädessä ykkösiksi ja nolliksi, jotka vastaavat prosessorin transistoreiden päälle/pois tilaa. Tavallisesti tietokonetta ohjelmoidaan käyttämällä jotakin ohjelmointikieltä. Ohjelmointikielissä käytetään luettavia symboleja ja sovittuja koodeja. Esimerkiksi Pascal-kielisen ohjelman rivi palkka := palkka-vero; voisi kääntyä edellä mainituksi konekielen operaatioksi. Ohjelmointikielellä kirjoitettu lähdekoodi joko käännetään konekielelle tai tulkataan kieltä suorittavalla ohjelmalla. Käännettäessä koko ohjelma muutetaan kerralla konekieleksi, jonka tuloksena saatu ohjelma voidaan suorittaa ilman kääntäjää. Tulkattaessa tyypillisesti käännetään osa kerrallaan ja suoritetaan se, jonka jälkeen käännetään seuraava osa. Tulkattavan ohjelman suoritus vaatii siis joka kerta tulkin. Molemmissa tavoissa on mahdollista käyttää välikieltä apuna. Ohjelmointiparadigmat ovat ohjelmointikielien taustalla olevia tapoja ajatella ja mallintaa ratkaisu. Eri kielet tukevat eri paradigmoja eri tavoin: osa kielistä on moniparadigmaisia, jolloin niillä voi ohjelmoida useilla eri tavoilla. Eräs merkittävä paradigma on olio-ohjelmointi. Historia Ennen tallennetun ohjelman tietokonetta muutokset ohjelmassa tarkoittivat muutoksia johdoissa ja kytkimissä (ks. Colossus). Ennen vuotta 1954 lähes kaikki ohjelmointi tehtiin matalan tason ohjelmointikielillä kuten konekielellä tai assemblyllä. Suuri osa ohjelmoijien työstä liittyi tuon ajan tietokoneiden rajoitteisiin. Vuonna 1954 tietokonekeskukseen liittyvien ohjelmoijien kustannukset olivat tavallisesti lähes yhtä suuret kuin itse tietokoneen kustannukset, joka oli yksi motivaatio FORTRANin kehittämiselle. Margaret Hamiltonin työ Apollo Guidance Computerin ohjelmoinnissa ja kehitetyt konseptit olivat edelläkävijänä huippuluotettavien ohjelmistojen suunnittelulle. Nykyisin ohjelmistoja käytetään myös turvakriittisissä järjestelmissä osana koko järjestelmää, jossa henkilöstön turvallisuus (, koneturvallisuus) on mukana (erona muunlaisesta turvatekniikasta ()). Laitteistoabstraktion kannalta neljännen sukupolven ohjelmointikielet saavuttivat täyden riippumattomuuden laitteistoalustasta. Neljännen sukupolven kieliä on myös kritisoitu laitteistoresurssien tuhlaavasta käytöstä, etenkin suoritusajan. 1980-luvulla Japanissa aloitettiin projekti viidennen sukupolven tietokonejärjestelmän kehittämiseen, jonka merkittävin vaikutus oli mahdollisesti lukuisien ihmisten kouluttaminen tietotekniikkaan. Ohjelmiston laatu Ohjelmoinnissa tuotetun ohjelmakoodin laatua voidaan arvioida useilla eri mittapuilla: luotettavuus suoritustehokkuus turvallisuus ylläpidettävyys Näihin pyrkiessä voidaan käyttää apuna erilaisia ohjelmointikäytäntöjä. Käytännöt liittyvät muun muassa koodin helppoon luettavuuteen, yhdenmukaisuuteen nimeämisessä ja ymmärrettävyyteen myös pitkän ajan jälkeen. Käytännöillä parannetaan ohjelmoinnin tehokkuutta, vähennetään projektin riskejä ja helpotetaan ylläpitoa. Suoritustehokkuus Suoritustehokkuus vaikuttaa muun muassa virran käyttöön ja suoritusaikaan: huono suorituskyky aiheuttaa muita haittavaikutuksia. Ohjelmiston testaaminen Osana ohjelmiston laaduvarmistusta on ohjelmiston testaaminen, johon voi kuulua yksikkötestaaminen ja koodin kirjoittaminen testejä varten. Yrityskäyttöön suunnatuissa sovelluksissa riittävän testikattavuuden saamiseksi voi tarvita 1–3 riviä testikoodia jokaista tuotantoon menevää koodiriviä kohden ja suhde voi olla suurempikin. Tietoturvallinen ohjelmointi Tietoturvan kannalta merkittävissä järjestelmissä (pankkijärjestelmät, henkilötietojärjestelmät) käytetään periaatteita, joilla pyritään estämään tietoturva-aukkoja. Periaatteina ovat pääsyn valvonnasta huolehtiminen, vahvan salauksen käyttö ja salaisuuksien hallinta. Käytäntöjä ovat muun muassa koodin minimointi, koodin katselmointi ja auditointi. Mahdollisia tulevaisuuden ohjelmointimenetelmiä Ohjelmointikielet voivat perustua eri paradigmoihin kuten rinnakkaiseen käsittelyyn (CSP, Occam, LOTOS), logiikkaan (Prolog) ja niin edelleen. Kvanttitietokoneiden ohjelmointiperiaatteet ovat merkittävästi erilaisia aiemmin käytetyistä: kvanttiohjelmoinnissa todennäköisyyksillä on suurempi merkitys. Tekoälyn koulutuksessa käytettävät periaatteet poikkeavat muun muassa järjestelmäohjelmoinnissa käytetyistä. Laitteistokuvauskielet kuten VHDL ja SystemC ovat kehittyneet, jolloin myös ne muistuttavat enemmän ohjelmointikieliä. Muun muassa ASIC ja FPGA kehitys ovat muuttuneet logiikkasynteesin avulla. Katso myös Ohjelmistokehitys Ohjelmistotuotanto Ketterä ohjelmistokehitys Lähteet Aiheesta muualla Jouni Smed & Harri Hakonen & Timo Raita: Sopimuspohjainen olio-ohjelmointi Java-kielellä. Elektroninen kirja, 2007. ISBN 978-952-92-1776-2 Koodi on kaikkialla – lyhyt johdatus ohjelmoinnin maailmaan - yle.fi Seulonnan keskeiset artikkelit


text: Ohjelmointikielet ovat formaaleja kieliä, joita ohjelmoijat käyttävät tietokoneen ohjelmointiin algoritmin toteuttamiseksi. Ohjelmointikielellä tehdystä lähdekoodista tuotetaan tietokoneen ymmärtämää konekielistä binääriä kääntäjällä tai tulkilla. Tietokoneen ymmärtämä binääri voidaan tehdä välikielen kautta. Historia Ohjelmien kaltaisia ratkaisuja on käytetty muun muassa kutomakoneille ja automaattipianoille ennen digitaalisen tietokoneen kehittämistä. Ada Lovelace kirjoitti 1800-luvulla Charles Babbagen analyyttiselle koneelle algoritmin Bernoullin lukujen laskemiseen, jonka johdosta Lovelacea pidetään ensimmäisenä ohjelmoijana. Tärkeimpänä havaintona pidetään sitä, että Lovelace hahmotti ohjelman ja algoritmin abstraktin ilmaisun, jolloin kone voi tehdä lähes mitä vain. Ensimmäisenä ylemmän tason ohjelmointikielenä pidetään Konrad Zusen 1940-luvulla kehittämää Plankalkülia. Kielen kuvaus julkaistiin kuitenkin vasta 1972 ja ensimmäinen kääntäjä kielelle toteutettiin vasta 1998. Kieli oli korkean tason imperatiivinen kieli. Small-Scale Experimental Machine (SSEM) oli ensimmäinen tietokone, jossa ohjelma voitiin tallettaa tietokoneen muistiin ja ohjelmaa voitiin vaihtaa ilman fyysisiä muutoksia tietokoneeseen (tallennetun ohjelman tietokone). Ennen vuotta 1954 lähes kaikki ohjelmointi tehtiin matalan tason ohjelmointikielillä kuten konekielellä tai assemblyllä. 1950-luvun lopulla syntyneitä ohjelmointikieliä olivat ALGOL, COBOL ja Fortran. Suuri osa ohjelmoijien työstä liittyi tuon ajan tietokoneiden rajoitteisiin. Varhaiset automaattisen ohjelmoinnin menetelmät olivat kalliita käyttää koska ne hidastivat tietokonetta 5-10-kertaisesti. FORTRANin kehitykseen vaikutti myös, että myös ohjelmoijien kustannukset olivat suuret ja merkittävä osa ajasta kului debuggaukseen. Taloudelliset syyt olivat merkittävä tekijä FORTRAN-projektin rahoittamiseen. Yleisesti tunnustetaan että ohjelmointikielet ovat kehittyneet kolmen selkeästi tunnistettavan sukupolven kautta: konekieli, assembly ja ylemmän tason proseduraaliset kielet kuten COBOL ja FORTRAN. Kielten sukupolvia ovat määrittäneet kasvava siirrettävyys, riippumattomuus laitteistoarkkitehtuurista ja käytön helppous. Ohjelmointikielet voidaan jakaa sukupolviin seuraavasti: Neljännen sukupolven kielistä on keskusteltu 1970-luvulta alkaen. Niin kutsuttujen "ei-proseduraalisten" kielten on sanottu olevan neljännen sukupolven kieliä, mutta myös assemblya voi sanoa "ei-proseduraaliseksi". Neljännen sukupolven kielien ilmestyminen on hyvin dokumentoitu, mutta ohjelmien monimuotoisuus on tehnyt vaikeaksi tarkan määrittelyn. Neljännen sukupolven kielet on kehitetty pragmaattisemmin kuin akateemiseen työhön perustuen. 1960- ja 1970-luvuilla Simula oli merkittävä kieli, jonka ajatuksia Smalltalkissa kehitettiin edelleen. Tämä vaikutti olio-ohjelmointikielien kehitykseen. Viidennen sukupolven kieliä on toisinaan mainostettu, mutta laitteistoabstraktion kannalta neljäs sukupolvi on jo korkeimmalla tasolla. Eräät tahot esittävät että viides sukupolvi perustuu enemmän ohjelmalle annetun rajoitteiden määrittelyyn kuin ongelmanratkaisualgoritmin kehittämiseen: käyttökohteena pääasiassa tekoälytutkimus. Yleistä Ohjelmointikielet ovat formaaleja kieliä, joita käytetään äärellisellä automaatilla (nykyään usein tietokone tai ohjelmoitava logiikka). Ohjelmointikielissä on rajallinen määrä sanoja ja sääntöjä, joita ohjelmoinnissa voi käyttää. Sääntöjen mukaisesti tulos on aina deterministinen. Sanojen ja sääntöjen ulkopuolella tulos on epädeterministinen (määrittelemätön) ja yleensä virhe. Ohjelmointikielet poikkeavat luonnollisista kielistä säännönmukaisuuden ja rajatun kieliopin suhteen. Ohjelmointikielet noudattavat abstraktioperiaatetta siinä suhteessa, että käyttäjän ei tarvitse tietää miten asia on toteutettu vaan ainoastaan sen rajapinta: komponentin toteutusta voidaan muuttaa ilman sen vaikuttamista tai ilmoittamista sen käyttäjälle. Periaatetta käytetään yleisesti ohjelmoinnissa toistuvien kaavojen vähentämiseen. Laskettavuusteorian mukaan Turing-täydelliset kielet ovat korvattavissa toisella. Yleensä ohjelmointikielen sanotaan olevan Turing-täydellinen jos sitä voi käyttää simuloimaan Turingin konetta. Yleiskäyttöiset ohjelmointikielet ovat Turing-täydellisiä. Ensimmäisenä yleiskäyttöisenä ylemmän tason kielenä pidetään FORTRAN:ia. Tietylle sovellusalueelle erikoistuneet täsmäkielet eivät yleensä ole Turing-täydellisiä. Ohjelmointikielissä sallittu syntaksi on usein esitetty konteksivapaalla Backus–Naur-muodolla (BNF). Kontekstivapaata kielioppia kuten BNF voidaan käyttää kääntäjän kääntäjän kuten YACC-ohjelman kanssa. Lähdekoodin kääntäminen ohjelmatiedostoksi ei vielä tarkoita että ohjelman suoritus toimii oikein. Muun muassa nollalla jakaminen on useissa kielissä syntaksin mukaan mahdollista, mutta tulosta ei voida määrittää. Verratessa ohjelmointikieliä kuten FORTRAN, LISP, APL ja SNOBOL ne eroavat ilmaisumuodossa, kontrollirakenteiden valinnassa ja käytössä, sekä tiedon esityksen tyypissä ja hallinnassa. Ohjelmointikielen semantiikka määrittää sen abstraktin konemallin ja kun algoritmi vastaa kielen mallia ohjelmointi on kätevää ja toteutus on tehokas; kun algoritmin vaatima prosessointi ei vastaa kielen mallia ohjelmointi on vaikeaa ja ohjelma on tehoton. Muita eroja ovat muun muassa tyyppijärjestelmän toteutus ja poikkeuksien käsittely. Muistikäsittely voi olla ohjelmoijan vastuulla tai kieli voi tukea automaattista roskienkeruuta. Käyttö Ohjelmointikielillä asian voi ilmaista vain rajallisella määrällä toimintoja, esimerkiksi muuttujan saldo arvon vähentäminen 10:llä ilmaistaan: saldo -= 10; tai saldo = saldo-10;. Esimerkiksi C-kielessä vaihtoehtoja on runsaasti, sillä kokonaislukumuuttujan arvoon voi lisätä yhden useammalla eri tavalla: muuttuja = muuttuja + 1; muuttuja += 1; ++muuttuja; muuttuja++; Erillisinä lauseina näiden merkitys on aivan sama, eli muuttujan arvon kasvattaminen yhdellä, mutta lausekkeen osana viimeisen rivin merkitys poikkeaa aiemmista. Kolme ylintä tapaa palauttavat lausekkeen osana ollessaan muuttujan uuden arvon, kun alin palauttaa vanhan, vaikka kasvattaakin itse muuttujan arvoa. Arvon lisäykseen oikotienä käytettävät käytettävät operaattorit kuten += ja ++ ovat peräisin tilanteesta, jossa jokainen ominaisuuden lisäys kasvatti kääntäjän tarvitsemaa muistimäärää mutta uusien ominaisuuksien käyttäminen pienensi sen tarvitsemaa muistia. B-kielen ja C-kielen kehityksen yhteydessä käytettävissä olevan tietokoneen rajallinen muistimäärä oli usein ongelma. Ohjelmointikielten jaottelu Ohjelmointikielet voidaan jaotella eri ryhmiin kielen paradigman mukaan: Paradigma proseduraalinen ohjelmointi oliopohjainen ohjelmointi funktionaalinen ohjelmointi logiikkapohjainen ohjelmointi Ohjelmointikielet voivat toteuttaa useaa paradigmaa eli ovat moniparadigmaisia. Esimerkiksi C++ tukee eri paradigmoja (proseduraalinen-, olio- ja geneerinen ohjelmointi) ja on siten moniparadigmainen kieli. Ohjelmointikielet voidaan jakaa muun muassa algoritmisiin (FORTRAN, ALGOL), liiketoimintaan orientoituneisiin (COBOL) ja koulutukseen orientoituneisiin (BASIC, Logo). Ohjelmointikielet sanotaan voitavan jakaa deklaratiivisiin ja imperatiivisiin, joiden alalajeja ovat funktionaaliset, logiikkapohjaiset ja proseduraaliset ohjelmointikielet. Ohjelmointikieliä Eräitä tunnetuimpia, yleisimpiä tai merkittävimpiä ohjelmointikieliä: ActionScript Ada ALGOL Assembly BASIC C C++ C# COBOL Delphi Forth Fortran Go Haskell IDL Java JavaScript Lisp Logo Modula-2 Object Pascal Objective-C Objective Caml Pascal Perl PHP PL/1 Prolog Python R Ruby Rust Scheme Smalltalk Swift TCL Visual Basic Katso myös Konekieli Laitteistokuvauskieli Merkintäkieli Tietokonetekniikan historia Chomskyn hierarkia Lähteet Aiheesta muualla Aikajana muutamista ohjelmointikielistä What is Programming? Koodikirja.fi Seulonnan keskeiset artikkelit


text: Tietokoneohjelma (usein lyhyesti vain ohjelma, ) on joukko ennalta laadittuja käskyjä, suunnitelma tai proseduuri, jota seuraten tietokone suorittaa sille valmistellun ongelmanratkaisutehtävän: ohjelmia yleisesti kutsutaan ohjelmistoksi () vastakohtana laitteistolle (). Ohjelma on yksiselitteinen järjestetty sarja käskyjä ratkaisun saavuttamiseksi. Tietokoneohjelman tekemistä kutsutaan ohjelmoinniksi, joka sisältää tietorakenteet ja algoritmit. Tietokoneohjelmalla voidaan käytännössä tarkoittaa seuraavia asioita: Tietokoneen ajettavissa olevaa konekoodia eli konekielistä ohjelmaa, joka on tyypillisesti tallennettu tietokoneen pysyväismuistiin, kuten kiintolevylle. Jollain ihmisen kirjoitettavaksi ja luettavaksi tarkoitetulla ohjelmointikielellä laadittua ohjelma- tai lähdekoodia, jota tietokone ei voi ajaa suoraan vaan joka pitää joko tulkata tai kääntää konekielelle tätä varten tehdyllä erityisellä ohjelmalla. prosessi on ajossa oleva ohjelma (lukuun ottamatta aivan pienimpiä sulautettuja järjestelmiä). Ohjelmien koot vaihtelevat suuresti. Yleinen tapa verrata ohjelmien kokoa on laskea lähdekoodin rivien lukumäärä. Lyhin mielekäs ohjelma voi olla yhden rivin mittainen, kun taas suurimmat ohjelmistot ovat miljoonia rivejä pitkiä. Historia Ennen digitaalisen tietokoneen kehittämistä ohjelman kaltaisia menetelmiä on käytetty muun muassa kutomakoneille ja automaattipianoille. Ada Lovelace kirjoitti 1800-luvulla Charles Babbagen analyyttiselle koneelle algoritmin Bernoullin lukujen laskemiseen, jonka johdosta Lovelacea pidetään ensimmäisenä ohjelmoijana. Lovelacen työn merkittävyys on sen yksityiskohdissa kuten ryhmittely ja toistorakenteen keksiminen. Lovelace myös totesi muuttujien tilojen seurannan merkityksen ja merkintätavan niiden esittämiselle. Yleistä Tavallisesti ohjelmat käsittelevät niille syötettyä tietoja ja tuottavat siitä halutun lopputuloksen. Harvinaisempaa on, että lähtötietoja ei anneta, mutta tämäkin on mahdollista esimerkiksi laskettaessa piille likiarvoa. Varhaiset ohjelmat olivat pitkälti muotoa lue syöte, tee laskenta, tulosta tulokset. Tämäntyyppiset ohjelmat sopivat hyvin eräajotyyppiseen käsittelyyn, jossa etukäteen valmistellaan syöttötiedot ja itse ohjelman ajo tehdään myöhemmin. Nykyohjelmista vain harvat ovat tätä tyyppiä. Useimmat pöytätietokoneiden ohjelmat ovat interaktiivisia, jolloin ohjelma vastaa käyttäjän tekemiin syötteisiin saman tien. Koska seuraava syöte voi riippua ohjelman antamasta vastauksesta, ero perinteiseen ohjelmaan on suuri. Varsinaisten tietokoneiden lisäksi ohjelmia on myös monissa laitteissa, kuten matkapuhelimissa, viihde-elektroniikan laitteissa ja kodinkoneissa. Tällaisia laitteita kutsutaan sulautetuiksi järjestelmiksi, koska ohjelma ja laitteisto muodostavat käyttäjän kannalta kiinteän kokonaisuuden. Sulautetuissa järjestelmissä ohjelmat ovat usein reaktiivisia, mikä ohjelman rakenteen kannalta vastaa interaktiivisuutta, mutta laskentaan tulevat tiedot voivat olla lähtöisin käyttäjän lisäksi myös oheislaitteilta, antureilta tai toisista ohjelmista. Esimerkki ohjelmistosta, joka on sekä interaktiivinen että reaktiivinen, on vaikkapa tulospalveluohjelmisto, jolla käyttäjä voi kysyä eri sarjojen tai kilpailijoiden tilannetta (interaktiivisuus), ja jossa tilanne päivittyy muualta kuten väliaikapisteiltä tai maaliviivalta tulevien tietojen mukaan (reaktiivisuus). Immateriaalioikeuden kannalta ohjelmat kuuluvat tekijänoikeuksien piiriin. Immateriaalioikeuksien kannalta mielenkiintoisia ovat laajalle levinneet vapaat ohjelmistot. Ulkoiset rajapinnat Tietokoneohjelmalla ei olisi juurikaan käyttöä, mikäli se ei pystyisi kommunikoimaan millään tavalla ympäristönsä kanssa. Tämän vuoksi jokaiseen tietokoneohjelmaan liittyy ulkoisia rajapintoja, joiden avulla ohjelma voi kommunikoida ympäristönsä kanssa. Esimerkiksi lämpömittariin liitetty anturi voi lähettää väyläsignaalin, jonka antaman arvon perusteella tietokoneohjelma voi ohjata rakennuksen lämpötilaa. Tietokoneohjelman ohjaama tai tietokoneohjelmaa ohjaava ympäristö voi koostua oheislaitteista tai muista tietokoneohjelmista. Koska erilaisia ympäristöjä voi olla teoriassa rajaton määrä, ohjelmien tarvitsemia ulkoisia rajapintoja on pyritty standardoimaan. Mitä vakiintuneempi ulkoinen rajapinta on, sitä useampi tietokoneohjelma sitä pystyy käyttämään ja sitä kestävämpi hyöty rajapinnasta saavutetaan. Tietotekniikan suurimmat kehitysaskeleet ovatkin usein olleet ulkoisten rajapintojen onnistuneita vakiintumisia, esimerkiksi mikroprosessorien käskykannan vakiintuminen tai käyttöjärjestelmien toimintaperiaatteiden yhtenäistyminen. Tietokoneohjelman kommunikointi ympäristön kanssa voi tapahtua synkronisesti tai asynkronisesti. Lisäksi ohjelma voi sallia tietyn ulkoisen tapahtuman keskeyttää itsensä. Vaihtoehtoisesti ohjelma voi aika-ajoin tarkkailla ulkoista maailmaa lukemalla ulkoisen rajapinnan kautta tilatietoa. Fyysisten laitteiden ohjaamista varten tietokoneiden prosessoreissa on määriteltynä mekanismeja, joiden avulla ohjelma voi kirjoittaa tai lukea tietoa mikroprosessorin suorittimen ulkopuolelta. Konekielen tasolla nämä ovat prosessoriin liitettyjä portteja tai I/O -muistialueita, joiden kautta tietokoneohjelmat pystyvät oikein toimiessaan ohjaamaan fyysisiä tai virtuaalisia kokonaisuuksia sekä lukemaan näiden kokonaisuuksien syöttämää tietoa. Tietokoneohjelmien rakentamista helpotetaan siten, että nämä palvelut abstraktoidaan käyttöjärjestelmän, laiteajureiden tai sovelluskirjastojen (API) avulla siten että ohjelman kirjoittajan ei tarvitse ymmärtää ulkoisten palveluiden tai laitteistojen sisäistä toimintaa. Tietokoneohjelmille ulkoisia rajapintoja tarjoavat muun muassa mikroprosessoriarkkitehtuuri (esimerkiksi I/O -portit, keskusmuisti, väylät, konekieli) käyttöjärjestelmä (esimerkiksi ohjelmien käynnistäminen, muistin varaaminen, prosessit) laitteistoajurit (esimerkiksi näytölle piirtäminen, videokaappaus, tulostaminen) sovelluskehitysympäristö (esimerkiksi ohjelmointikirjastot, poikkeustilanteiden hallinta) sovelluskirjastot ja komponentit (monipuolisia palveluita lähes mihin tahansa tarkoitukseen) toiset ohjelmat tai ohjelmistot Käyttöjärjestelmä, laitteistoajurit, sovelluskehitysympäristöt, sovelluskirjastot ja komponentit ovat yleisnimiä tiettyihin tarkoituksiin erikoistuneista tietokoneohjelmista. Ohjelma käyttää tarvitsemiaan palveluita ajoympäristöstä ja sen abstraktiotasosta riippuen. Alimmalla tasolla oleva mikroprosessori tarjoaa tietokoneohjelmille palveluita, joiden avulla ne voivat aikaansaada fyysisiä muutoksia ympäristössään, esimerkiksi vaihtaa väylän signaalin tason toiseksi. Kukin rajapinnan toteuttava ohjelma tai laitteisto voi rajoittaa oikeuksia ulkoisten palveluiden käyttöön. Tietotekniikassa monet turvallisuuskysymykset liittyvät ulkoisten rajapintojen oikeuksien hallintaan. Ohjelmien siirrettävyys Koska eri suorittimien konekielet ovat erilaisia, ei konekielimuodossa olevaa ohjelmaa voi ajaa kaikissa tietokoneissa. Joskus myös samasta suorittimesta on hieman eri versioita, ja tällöin yleensä on pyritty siihen, että uudempi versio pystyy ajamaan vanhemman suorittimien konekieltä, mutta ei toisin päin. Käännettyjen ohjelmien siirrettävyyttä rajoittaa siis suorittimen ymmärtämä konekieli. Tosin tämä ei ole ainoa rajoittava tekijä. Kohdesuorittimen lisäksi kääntäjä tietää käytössä olevan käyttöjärjestelmän tarjoamat palvelut ja käytännöt. Koska nämä eroavat eri käyttöjärjestelmissä, toiselle käyttöjärjestelmälle tehtyä konekielistä ohjelmaa ei voi ajaa tietokoneessa, vaikka suoritin olisikin sama. Tilanne muuttuu, jos käytetään tulkkeja. Tällöin tarvitaan kyseiselle konekielelle ja käyttöjärjestelmälle toteutettu ohjelmointikielen tulkki, mutta sitten tämä tulkki pystyykin suorittamaan lähdekielimuodossa ohjelmaa riippumatta siitä, mihin ympäristöön se on alun perin tehty. Tosin tulkkikin voi tarjota käyttöjärjestelmästä riippuvia palveluita, mutta jos ohjelmoija on osannut välttää näitä, ei siirrettävyysongelmaa pitäisi tulla. Ohjelmointikielellä kirjoitettu ohjelma voidaan myös kääntää uudelleen eri suoritintyypeille ja käyttöjärjestelmille. Periaatteessa ohjelmien pitäisi olla helposti siirrettäviä tällä tasolla, mutta käytännössä ohjelmoija voi tehdä moniakin sellaisia ratkaisuja, jotka rajoittavat siirrettävyyttä. Näitä ovat muun muassa oletukset kokonaislukujen arvoalueesta tai liukulukujen tarkkuudesta. Ohjelmoija voi myös käyttää käyttöjärjestelmäkohtaisia operaatioita. Edellä olevien kahden vaihtoehdon ongelmien eli tulkkaamisen hitauden ja käännetyn ohjelman huonon siirrettävyyden takia käytetään joissain tilanteissa niin sanottua välikoodia. Tällöin ohjelma on jo käännetty, mutta ei konekielelle, vaan eräänlaiseen välimuotoon, jota kohdekoneessa oleva välikoodin tulkki tulkitsee. Tätä tekniikkaa voidaan käyttää esimerkiksi verkkosovelluksia ohjelmoitaessa, jossa käyttäjän koneen ominaisuuksia ei voida tietää etukäteen (katso myös Java-kieli). Ohjelmien siirrettävyyttä voivat rajoittaa myös sen tarvitsemat resurssit kuten muistin määrä, suorittimen nopeus tai jokin erityinen oheislaite. Esimerkiksi DVD:lle tallentava ohjelma on käyttökelvoton ilman laitetta, joka osaa tehdä varsinaisen DVD-levylle kirjoittamisen. Hankkiessaan ohjelmaa käyttäjän on tiedettävä käyttökoneen suoritinarkkitehtuuri ja käyttöjärjestelmä. Monet vapaat tai valmiiksi käännetyt ohjelmat löytyvät arkistokoneilta näiden tietojen mukaan lajiteltuina. Ohjelmien luotettavuus Oikein toimivan ohjelman ohjelmointitavalla ei ole merkitystä käyttäjälle. Valitettavasti ohjelmien täydellinen testaaminen on käytännössä (ja joissain tapauksessa jo teoriassakin) mahdotonta, joten aivan yksinkertaisimpia ohjelmia lukuun ottamatta ohjelmissa on oletusarvoisesti jokin havaitsematon virhe. Siitä huolimatta ohjelma voi olla hyvinkin käyttökelpoinen, sillä virhe voi esiintyä hyvin harvoin tai niin pieni, että siitä ei ole käytännön haittaa. Eri käyttötarkoitukseen tehtyjen ohjelmien luotettavuusvaatimukset ovat hyvin erilaisia. Interaktiivinen julkaisuohjelma voi olla harmillinen toimiessaan väärin, mutta virheestä ei silti seuraa välittömästi vaaratilanteita tai vastaavaa. Sen sijaan vaikkapa lentokoneen ohjausohjelmiston virhe voisi pudottaa koneen taivaalta. Osassa ohjelmia on oikean toiminnan lisäksi tärkeää ohjelman oikea ajoitus. Jos ohjelma toimii väärään aikaan, siis joko liian aikaisin tai liian myöhään, seurauksena voi olla järjestelmän täysi toimimattomuus. Esimerkiksi matkapuhelinliikenteessä yksikin väärään aikaan lähettävä puhelin voi pimentää koko tukiaseman alueen liikenteen. Ohjelmia, joissa aikatekijä on osa ohjelman oikeellisuutta, kutsutaan reaaliaikaohjelmiksi. Yksi ohjelmien toimimattomuusongelma liittyy siihen, että niiden ajoympäristöä vaihdetaan. Syynä voi olla esimerkiksi käyttöjärjestelmän tai dynaamisen ohjelmakirjaston päivittäminen uuteen versioon. Ohjelmien sovittaminen Ohjelmien sovittamisella tarkoitetaan sitä, että ohjelman toimintaa voidaan muuttaa käyttöpaikan tarpeiden mukaan. Sovittaminen voi olla tehty käännösvaiheessa, mutta parhaimmillaan sama ohjelma toimii eri tavalla eri käyttöpaikoissa. Tiedot asetuksista on tällöin talletettu joko ohjelma- tai käyttäjäkohtaiseen alustustiedostoon. Mikäli sovittaminen ylittää kulttuuri- ja kielirajoja, puhutaan lokalisoinnista. Lokalisoinnilla voidaan vaihtaa ohjelman käyttöliittymän kieli toiseksi, vaihtaa kellonajan tai päivämäärän esitystapaa, päättää onko käytössä desimaalipiste ja -pilkku, muuttaa käytössä olevia värejä ja niin edelleen. Katso myös Käyttöjärjestelmä Käyttöliittymä Ohjelmakirjasto Ohjelmisto Ohjelmointi Ohjelmointikieli Sovellusohjelma Mikro-ohjelma Lähteet Aiheesta muualla Ohjelmistot Seulonnan keskeiset artikkelit


text: Orion voi tarkoittaa ainakin seuraavia asioita: Orion, hahmo Kreikan mytologiassa Orion, tähdistö Orionin sumu (M42), tähtitaivaan kirkkain kaasusumu Orionin haara, aurinkokuntamme sijaintipaikka Linnunradassa Orion, Kansallisen audiovisuaalisen arkiston elokuvateatteri Helsingissä Orion, Nasan 2000-luvulla suunnittelema miehitetty avaruusalus Orion, rakettimoottori Orion-projekti, Yhdysvaltojen suunnitelma ydinpulssikäyttöisestä avaruusaluksesta Orion, venäläisvalmisteinen miehittämättömien sotilaallisten ilma-alusten tuoteperhe Orion, lääketeollisuusyhtiö Orion, IRC-asiakasohjelma Orion Cinema Network (OCN), eteläkorealainen televisiokanava Ford Orion, automalli Orion RX50, mopo P-3 Orion, yhdysvaltalainen potkurikone JR 5 (Orion), höyryveturi Jokioisten museorautatiellä Orion, Terrier Orion -luotainraketin jälkimmäinen vaihe Orion, Darkseidin poika, sarjakuvahahmo Orion, Synapse Audion musiikinteko-ohjelmisto ”Orion”, metallimusiikkiyhtye Metallican kappale albumilta Master of Puppets DJ Orion (oik. Juska Wendland), helsinkiläinen DJ ja teknomusiikkituottaja Orion, puolalaisen muusikko ja lauluntekijä Tomasz Wróblewskin taiteilijanimi Ginga Densetsu Weed: Orion, Ginga Densetsu Weedin jatko-osa. Laivoja Orion, saksalainen apuristeilijä toisessa maailmansodassa S/S Orion, suomalainen rahtihöyrylaiva, käytössä 1884–1931 M/S Orion, vuonna 2003 valmistunut bahamalainen matkustaja-alus. Britannian kuninkaallinen laivasto Orion-luokka, taistelulaivaluokka HMS Orion (1787), 74-tykkinen Canada-luokan kolmannen luokan linjalaiva HMS Orion (1854), 80-tykkinen toisen luokan linjalaiva HMS Orion (1879), Belleisle-luokan taistelulaiva HMS Orion (1910), Orion-luokan taistelulaiva HMS Orion (85), Leander-luokan kevyt risteilijä HMS Orion (1940), sukellusvene. Ruotsin merivoimat HMS Orion (1903), 1. luokan torpedovene HMS Orion (A201), viestitiedustelualus. Ranskan laivasto Orion (1787), Témaire-luokan linjalaiva FS Orion (M645), Éridan-luokan miinantorjunta-alus. Portugalin laivasto NRP Orion (P362), 1964–1974 käytössä ollut partioalus NRP Oríon (P1156), partioalus Australian laivasto HMAS Orion, Oberon-luokan sukellusvene. Orion tai Orión sukunimenä Agustín Orión (s. 1981), argentiinalainen jalkapallomaalivahti