[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