[Wylug-discuss] an APL for the teacher
Paul Brook
paul at codesourcery.com
Tue Feb 14 00:45:43 UTC 2012
> Having done a search for one of the helper progs for openAPL - the
> language with its own alphabet.
> I have noticed that there are web sites for it in japanese.
> I suppose that APL's advantage in teaching is that it has few keywords
> in english; so learning english is not too important for programmers in
> ,for example, japan or iran where they do not use the Roman Alphabet.
TBH I'm not convinced that's actrually a benefit. Inventing a whole new
character set make is more difficult for english speakers, and (I guess) not
significantly easier for natives of other languages. While I'm not saying
everyone should be required to speak english, in practice I'm not convinced
that's a major concern. Firstly most languages are only vagues sort-of
english. In practice you just remember a few keywords and look everything
else up. There's no actual english-language processing going on. Secondly
you need to be able to understand the comments in the code. For any project
that means agreeing on a common language, and in practice[2] that's almost
always english.
As I think you discovered this evening, requiring a custom character set is
not a good way to win friends. If it doesn't work on a standard terminal, or
requires messing with input locale or keyboard overlays then you've
automatically alienated most of the world, whatever their native tongue. Most
users struggle with basic stuff like tab characters.
APL may have other interesting features, but IMO that's completely outwieghed
by the spectacularly arcane syntax. It looks like it probably has somes
interesting functional vector/array features, but there's plenty of other
languages have that - anything from fortran though python to Ocaml or MATLAB.
And for raw number crunching performance it's all about offloading to a
specialised coprocessor/GPU either explicitly (e.g. OpenCL) or using some
higher level algorithmic abstraction.
Paul
[1] If you aren't putting comments in your code then you shouldn't be allowed
to write code in the first place. While a good programming language makes
much code self-explanatory, there are always interesting an important corner
cases that deserve additional annotation.
[2] For any significant sized open source project.
More information about the Wylug-discuss
mailing list