IDL (ohjelmointikieli)

Wikipediasta
Siirry navigaatioon Siirry hakuun
Tämä artikkeli käsittelee ohjelmointikieltä. Lyhenne IDL voi viitata myös ohjelmistorajapintojen kuvauskieliin.

IDL (interaktiivinen datakieli, engl. interactive data language) on 1970-luvun loppupuolella syntynyt ohjelmointikieli, jota on käytetty erityisesti luonnontieteissä kerätyn tiedon analysointiin ja visualisointiin. IDL:n kehittäjä on yhdysvaltalainen yhtiö ITT Visual Information Solutions (entinen Research Systems, Inc.).

Yleistä[muokkaa | muokkaa wikitekstiä]

IDL on vektorien käsittelyyn suuntautunut numeerinen vuorovaikutteiseen työskentelyyn sopiva kieli. Monet sen piirteet muistuttavat Fortrania. Sitä käytetään suurten tietoaineistojen vuorovaikutteiseen käsittelyyn, esimerkiksi kuvankäsittelyyn.

IDL:n toteutus 1980-luvulla pohjautui Fortraniin VAX/VMS-ympäristössä. Tämä näkyy yhä IDL:n syntaksissa:

 x = findgen(100)/10
 y = sin(x)/x
 plot,x,y

Huomaa, että toisen rivin laskutoimitus kohdistuu koko 100-alkioiseen ensimmäisellä rivillä luotuun ja alustettuun taulukkoon. Tämä muistuttaa yleiskäyttöisten vektoriohjelmointikielten (kuten APL tai J) ilmaisutapaa.

Kuten useimmilla muilla vektorien käsittelyyn suuntautuneilla ohjelmointikielillä, IDL:llä voi suorittaa vektorien laskutoimituksia hyvin nopeasti (joskus nopeammin kuin vastaavalla Fortran- tai C-kielisellä toteutuksella), mutta alkioiden käsittely yksitellen on hidasta. Siten osa IDL-ohjelmointitaitoa on käyttää raskaissa numeerisissa laskutoimituksissa kieleen sisäänrakennettuja vektorioperaatioita.

Ominaisuuksia[muokkaa | muokkaa wikitekstiä]

  • dynaaminen tyypitys
  • yksi yhteinen nimiavaruus
  • yksisäikeinen ohjelman suoritus
  • yleensä funktioiden argumentit välitetään viittauksena
  • muuttujia ei tarvitse määritellä
  • globaaleja muuttujia voi jakaa aliohjelmien välillä vain COMMON-alueiden välityksellä
  • tuki yksinkertaiselle oliopohjaiselle ohjelmoinnille
  • ohjelmat käännetään tulkittavaksi välikoodiksi, samaan tapaan kuin Javan virtuaalikoneessa
  • yksinkertainen ja tehokas indeksointi, jolla taulukosta voidaan poimia osia
  • eri kokonaislukutyyppejä, yksin- ja kaksinkertaisen tarkkuuden liukuluvut reaali- ja kompleksiluvuille
  • yhdistettyjä tietotyyppejä (merkkijonot, yhtä alkiotyyppiä sisältävät taulukot, yksinkertaiset (ei-hierarkkiset) eri tietotyyppejä yhdistävät struktuurit)

Vaikeuksia[muokkaa | muokkaa wikitekstiä]

Jotkin ominaisuuksista, jotka tekevät IDL:stä helpon vuorovaikutteisessa käytössä, vaikeuttavat laajojen ohjelmistojen kirjoittamista. Yhteinen nimiavaruus hankaloittaa mm. eri lähteistä olevien ohjelmien yhdistämistä. IDL:ssä ei ole tyhjiä taulukoita, muuttuvankokoisia dynaamisia taulukoita eikä mahdollisuutta sisäkkäisiin taulukoihin. Kielen olio-ominaisuudet jättävät muistinhallinnan ohjelmoijan vastuulle.

Lähteet[muokkaa | muokkaa wikitekstiä]

  • What’s new in IDL 6.1 : IDL version 6.1. Boulder (Colo.): Research Systems, 2004. (englanniksi)

Aiheesta muualla[muokkaa | muokkaa wikitekstiä]