(toiminnot)

hwechtla-tl: Ohjelmointikielet ovat todellisia kieliä

Kierre.png

Mikä on WikiWiki?
nettipäiväkirja
koko wiki (etsi)
viime muutokset


Are too!

Monille on vaikeaa ymmärtää, että esimerkiksi tietokoneet voivat antaa ohjelmalle muitakin tulkintoja kuin suorittaa sen. Samoin ihmisten ymmärrys ohjelmasta nähdään jotenkin sekundaarisena verrattuna ohjelman "varsinaiseen semantiikkaan". Kuitenkin tietokoneiden kyky auttaa käyttäjiä käyttämisessään perustuu olennaisesti tietokoneiden itseymmärrykselle, kyvylle nähdä, miksi ne tekevät, mitä tekevät.

Erittäin mielenkiintoinen asiaan liittyvä aihe on obfuskaatio, joka säilyttää koodin "semantiikan" mutta tekee siitä vaikeampaa "ymmärtää". Kenen tahansa kielitieteilijän päässä pitäisi hälytyskellojen soida tässä vaiheessa. Aiheesta kiinnostuneet katsokoot: http://www.cs.princeton.edu/~boaz/Papers/obf_informal.html


Ymmärsin myös erään tärkeän syyn, miksi Interlisp-ympäristössä oli niin paljon ohjelmointiapuvälineitä. Tuohon aikaan pidettiin olennaisena tietokoneen kehittymisen perusedellytyksenä, että tietokoneet oppivat yhä enemmän ymmärtämään omaa toimintaansa, ja niinpä oli luonnollista kehittää välineitä, jotka käsittelivät ohjelmakoodia eri tavoin. Näistä välineistä välittyi muuhun maailmaan vain kaksi olennaista: optimoivat kääntäjät ja debuggerit. REPL on nykyään myös tulossa moniin kieliin. Mutta milloinkohan saamme nähdä ohjelmointiympäristöön integroidut editorit, ohjelmarakenteita ymmärtävät versionhallintajärjestelmät, täydellistä suoritettavan ohjelman ja lähdekoodin ristireferenssiä ylläpitävät ajoympäristöt ja muuttujareferenssejä trackaavat editorit? (Viimeksimainittu on nähtävissä jonkin verran uudessa muodossa automaattisia refaktorointeja tekevissä editoreissa, kuten Smalltalk-80:n sellaisessa.)


kommentoi (viimeksi muutettu 06.09.2005 22:07)