Avani (avani) wrote,

PRIME: (~R ∈ R ○∙× R)/R←1⇣℩R

APL is a mistake, carried through to perfection. It is the language of the future for the programming techniques of the past: it creates a new generation of coding bums.
Edsger Dijkstra, 1968

How did I get through so much of my life without knowing about APL?

APL is a write-only language that is optimized for fast matrix and other mathematical operations with a very small number of keystrokes. For example, the program in the subject returns all primes numbers ≤ R. To do this, it uses an extended character set along with a large base of nestable built-ins. This is one of the simpler APL keyboard layouts:

Listening to me discover APL sparked interesting discussions in the 4 cubes that form 'The Grand Ballroom' at work (bad things happen when you let engineers near printers). One of the older guys came over with a sad, wistful look on his face and told me about all the time that he spent trying to read APL code he'd written hours before. He also made the good point that, though it was very fast for its time, it probably doesn't hold up to modern languages that aren't as limited by how much RAM the compiler can eat.

While we were on the topic of write-only languages, someone mentioned TECO, the horribly obtuse language Emacs was first written in. Instant holy war!
Tags: random, tech

  • Talking about Biocomputing

    Dear LazyJ, I'm giving a 20 minute talk about computers and biology to a potentially large, very mixed audience in a week(!). I have not yet…

  • Learning Hebrew

    So, in preparation for an upcoming trip to Israel, I'm trying to learn enough Hebrew to read street signs and not get ripped off by cab drivers*.…

  • Anime Recommendation

    Apparently I do still find the occasional anime series interesting past half an episode*. Death Note is the first series I've seen in some time that…

  • Post a new comment


    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.