3 ms·
I started learning APL (it was a cut down APL\360 with 32K workspaces) in the mid 1970s. My first language was Fortran. When I started with APL shortly afterwa
by Lobachevsky 13y ago
I started learning APL (it was a cut down APL\360 with 32K workspaces) in the mid 1970s. My first language was Fortran. When I started with APL shortly afterwards, at first I thought it was a sort of continuation of array studies.
What's good about it?
- APL lends itself well to a kind of incremental learning. You don't need to know that much to get started solving problems. Learn as you go, the learning curve is as steep as you want it to be. No hurdles, just a consistent slope.
- APL abstracts away a lot of the mindless tedium of conventional programming. Having said that, there are rewards (like execution speed) for programming in something like C. Speed is sometimes less important these days than it was in the mainframe days
- APL is an excellent prototyping environment. You can concentrate on getting the right answer and understanding what you are doing, then later, moving the solution to the standard, approved language of your choice.
- APL lends itself to the construction of simple DSLs (Domain-Specific Languages). What is lost in flexibility is made up in ease.
- APL itself is an excellent learning tool for quickly learning the domain area you are working in. As it encourages interactive, exploratory programming (as does J, K, Q, R, S, Matlab, and so on) learning the domain area (i.e. Physics, Finance, linear algebra, writing a parser, etc.) can be much easier and fun.
I had a passion for APL which continues even today - I could not muster any such passion for say Java.