keskiviikko 29. heinäkuuta 2009

Internet Relay Programming

Muuan Gregor Richardsin kehittämä ohjelmointikieli on aika erikoinen ja jännä tapaus. Siitä ajattelin nyt hieman kertoa. Ohjelmointikielillä tehdyt ohjelmathan ovat yleensä tarkoitettu tietokoneiden suoritettavaksi. Richardsin ohjelmointikieli tekee sellaisen jännän poikkeuksen, että ohjelmaa suorittavatkin ihmiset.

Kielen nimi on Internet Relay Programming eli IRP. Se toimii IRCissä serverillä irc.freenode.net, kanavalla #IRP. Tämän "ohjelmointikielen" ideana on, että käyttäjä kirjoittaa komentosarjansa KOHTELIAASTI ENGLANNIKSI edellämainitulle IRC-kanavalle. Ohjelman tuloste tulee jos on tullakseen. Tämä riippuu kanavan käyttäjien mielentilasta ym. henkimaailman asioista. Ohjelman tulos voi olla virheellinen tai sitä ei välttämättä tule ollenkaan, sillä ohjelman suorituksesta vastaavat vain kanavalla olevat käyttäjät. Mutta ainakin he osaavat tulkita paremmin englanninkielisiä käskyjä, kuin mikään muu ohjelmointikieli. Muutama esimerkki:

22:13 < kahvi> Please write the square root of 25 in binary notation.
22:13 < FireFly> 1001
22:24 < Sgeo> 101
22:26 < FireFly> Uh, yeah
22:27 < FireFly> # /me is tired

Ohjelmakäskyyni tuli yllättävän nopeasti vastaus, tosin väärä sellainen. Toinen henkilö kuitenkin korjasi.


22:53 < kahvi> Please put a random number to register a. Then in case you are not hungry, please write a divided by a, else write a divided by zero.
22:55 < FireFly> 1
22:55 < FireFly> # You're lucky we're still alive...
23:01 < kahvi> that was close :D

Tässä ohjelmassa testasin satunnaislukugeneraattoria, ehtolauseita ja jonkinlaista "statusmuuttujaa" (nälkäisyys). Tässä ohjelmassa nollallajakamistilanne on ollut hyvin lähellä. Tulosteesta voi päätellä, että a-rekisterissä oleva muuttuja ei ollut nolla ja ohjelman suorittaja ei ollut nälkäinen.

Lisätietoa tästä erikoisesta ohjelmointikielestä löydät täältä


Ei kommentteja:

Lähetä kommentti