Esoteric Programming Languages
led_belly writes: "I came across this interesting page from the #alt.linux IRC chat room topic (irc.keystreams.com). It is an interesting read for all those who have ever been baffled by why/how some people do things. The Yahoo! Webring listing of similar topics is here."
Well, you do have to put stuff on the stack in reverse... since it's FI/LO. Breakdown of the program:
,olleH"
55+
put 5 on the stack twice, add the numbers on the stack together, leaving 10, or a newline in ascii.
".dlrow
put "Hello, world." on the stack in reverse, this is so we can pop it off in the proper order.
>:#,_@
very nice code to print out everything on the stack. '>' sets the IP velocity to "east", ':' duplicates the last item on the stack. '_' pops an item off the stack and tests it, if true, set IP to west, if false set it to east. The # skips the next instruction, and the comma prints the character off. So you're testing and printing until there's nothing left on the stack. The '@', finally, exits, which is executed when there's nothing left on the stack.
Makes sense?
[ approaching AI ]
They don't bother, but the language isn't static. There is a multi-threading extension for example. Typical of Intercal it is unlike all other threading packages I know of. It doesn't share data, only the code, all messages must be passed by altering the code (disabling and enabling blocks). Trintercal is base-3, there is also a base-N variant (the base-3 one shares some ops with the Klingon programming language...)
That's right a Klingon programming language. Waaaaaaa! As far from Perl as one can get....
Comparing it to Windows will be a moot point, since El Dorado is going to have a 40% larger code base than XP.
No list of esoteric programming languages would be complete without a link to the Beer Page:
http://core.federated.com/~jim/99/ (mirror)
This is a collection of programs written in over 200 languages designed to print the canonical "99 bottles of beer on the wall" song.