These days, it seems that the older languages are new again.
Lisp, Smalltalk, and Erlang are getting a lot attention (yes, they are all much different in age).
I have wondered if another language would be brought out of the attic, and sure enough, it is getting some attention.
I'm talking about APL which is easily the most strange, wonderfully weird language I have ever used (though it has been years).
Consider this:
- It required a special keyboard, and uses characters that are not ASCII. It uses a highly symbolic, mathematical syntax that has been compared to hieroglyphics.
- From what I (vaguely) remember, no explicit loops or conditionals.
- It is common to combine functions using higher-order operators in manner that is so terse, it makes Perl look like English. Think I'm kidding? How about a one-liner that computes Conway's Game of Life.
- Kenneth Iverson won a Turing award for his contributions (of which APL was a major part).
But if you are looking for a new way to think about problems, this is a fascinating option.
Which leads me to a question:
Is there a good, free APL development environment for Windows?
I've been looking for one for some weeks now, but haven't really found anything. Help!
Time permitting, I'd be interested in getting back into APL and possibly blogging a bit (if I can render the character set on here).
with birds and dog-headed guys instead of mathematical signs, this language would look even better
ReplyDeleteThe J programming language, developed in the early 1990s by Ken Iverson and Roger Hui, is a synthesis of APL (also by Iverson) and the FP and FL function-level languages created by John Backus. http://en.wikipedia.org/wiki/J_programming_language
ReplyDeleteYou can get a free copy here at JSoftware http://www.jsoftware.com/stable.htm
Good times. Good times.
@Ivan. Nice... perhaps an Eclipse plugin could have little animations
ReplyDelete@Anon. Cool stuff. I have heard of J as being the follow-up to APL but never investigated it and once wondered if it was as 'pure'. But I may well check out J. Thanks for the link!