IDL (ohjelmointikieli)
Wikipedia
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.).
Sisällysluettelo |
[muokkaa] Yleistä
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.
[muokkaa] Ominaisuuksia
- dynaaminen tyypitys
- yksi yhteinen nimiavaruus
- yksisäikeinen ohjelman suoritus
- pääsääntöisesti 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)
[muokkaa] Vaikeuksia
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.
[muokkaa] Esimerkkejä
- Graafeja Etelämantereen paleoklimatologisten jääkairausten mittaustuloksista (mukana lähdekoodi)
[muokkaa] Katso myös
IDL-ohjelmointikieli sekoitetaan helposti ohjelmistorajapintojen kuvauskieliin, joista usein käytetään lyhennettä IDL.