Tietokoneohjelmat voidaan esittää graafisesti siten, että esimerkiksi viivoin tai nuolin näytetään ohjelman eri osien välisiä suhteita. Tällaista esitystapaa voidaan kutsua solmu- tai node-pohjaiseksi esitykseksi. Kuitenkin, ainakin toistaiseksi, on ollut yksinkertaisempaa työstää ohjelmia tekstimuodossa, kuin graafisia apukeinoja käyttäen.
Tämä on kuitenkin kummallista: siinä ajassa, jossa tekstinkäsittelyohjelmat ovat kehittyneet yksinkertaisista editoreista Wordin kaltaisiin, monipuolisiin mutta hankalakäyttöisiin ohjelmiin, ei ohjelmointi ole merkittävästi helpottunut.
Joitakin apuvälineitä tietokoneohjelmien työstämiseen on kuitenkin tullut: näitä ovat paremmat dokumentaatiotyökalut, mahdollisuudet hypätä relevantteihin osiin ohjelmassa, haku- ja vertailutyökalut, koodintäydennys ja -generointivälineet, visuaaliset ohjelmiointityökalut sekä koodin foldausmahdollisuus.
Ohjelmoijat ovat yleensä melko laiskoja eivätkä halua vaivaa – miksi opetella monimutkaisia kehitysympäristöjä kun yksinkertainen koodieditorikin kelpaa? Ainoastaan ohjelmien ja järjestelmien valtaisa monimutkaistuminen voi pakottaa ohjelmoinniin abstrahoitumaan entisestään.
Muille kuin ohjelmoijille on kuitenkin olemassa työkaluja, jotka tekevät koodauksesta tekstin kirjoittamisen sijaan visuaalista toimintaa:
Shake on työkalu linkkeihin perustuvaan videoeditointiin.
Syd on visuaalinen työkalu äänen editointiin.
Janne esitteli .theprodukktin ja .werkzeug1:n jotka ovat visuaalisia työkaluja 3d-mallien reaaliaikaiseen käsittelyyn.
Synthmaker on visuaalinen syntetisaattorintekojärjestelmä.
Uusia linkkejä
Vvvv on node-pohjainen videojärjestelmä pc:lle, näyttää kuulilta.
Miller Puckette on tehnyt hienoja juttuja, esim Pd-järjestelmän, johon myös suomalaisen Pink twinsin videosysteemi perustuu.
Edo on suomalainen ohjelma node-pohjaiseen grafiikankoostoon.
Max/MSP on klassinen järjestelmä patch-pohjaiseen ohjelmointiin.
Simulink on Matlabin visuaalinen editori.
Vielä lisää (6.6.2005)
Paul Haeberli (SGI 1988): ConMan: a visual programming language for interactive graphics
Applen uusi Quartz Composer
Reactor
Avainsanoja nettihakuihin
patch-based programming, visual programming node-based systems