[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Programming?



>Nice to have a discussion of arcane languages arise from a discussion of
>preferable beginning computer languages!
Arcane?

>>LISP is in many ways a classic CS language, and I would quite agree that it
>>can be used to teach some important topics, such as parsing and list >>processing.
>and functional programming and recursion and ...
Well yes, but some people think I write too much, so I didn't want to be 
accused of...

Recursion is a wunnerful thing; APL was one of the first (other than LISP) to 
promulgate it.

ML is the paradigmatic functional language. Iverson's newest creation, called J
(single letter language names seem so vogue), is more functional than APL, and
there are a number of people working on "function arrays", as an outgrowth of
all this. Iverson's notion does not go quite this far, but tends to isolate
sets of functions into "trains"... interesting stuff!

>>Common LISP and the renewed interest in LISP over the last 5-10 years is in
>> many ways similar to what is going on with APL....
>RIght on.  Seems limited to the artificial intelligent community these
>days.
Well, the people who use it well seem to naturally intelligent :). LISP is
being used to protoype lots of pattern-matching stuff as well, over complex 
data fields.

>>>Secondly, I can't believe this advocacy of APL.
>>Hey, it's no LESS beleivable than the notion that some grad student...
>>...Scandanavia someplace and... puts the basis of a new OS...
>>on the Internet....and people start donating their time to....
>> What's not to believe?
>I think I've heard of that fellow.
Tor- Tor- something.
Some things are targets of ridicule, but others find them useful. Times,
fashions change. an old generation moves on, and a newer players find value
where others did not.

>>That project turned into UNIX. Actually, there are ideas from APL in
>> UNIX, but that's another story.
>Do you know where that link is demonstrated?  Interesting.
Look at a lot of the UNIX utilties, for example. They are "glued" together 
with pipes. Consider these utilities to be functions, and you can compose 
statements from these functions to form very compact and concise statements
that do many, many things. Consider that a script is very much like a user-
defined function, itself a composition of supplied functions and other user-
defined functions. Well-written sets of scripts gain from this kind of modular,
functional decomposition.

>>>developed by Eric ____ ?  
>>Actually, APL was developed principally by a fellow named Kenneth Iverson. He
>>has a SON named Eric.
>Did Eric write a book on APL?
Nah, Eric was too much the marketeer. Not only did he write a bunch of very
nice low-lelve utilities for several APL system (in APL, C, and assembler),
but he knows how to stage a decent marketing campaign. This balance of techni-
cal skill and business savvy has kept him pretty busy.

>>>Used to be a favorite of those seeking compact code.
>>That's true, there were APL coders who took special delight in writing the
>>most compact possible code...APL a bad name...
>Real macho programming style.  I remember spending several minutes to
>figure out what each line did as I tried to understand APL code without
>really learning it.
I went through that phase, but then Leasure Suits went out and I discovered 
better coding style. 

In my old age, I'm a real wimp! I comment code fairly heavily, write a comment
as the first line of every function, and have some blank lines to seperate
sections of functions where appropriate. My comments tend to focus on the WHY
of things, and the statements themselves are short and simple enough to be
readable. I try not to code any one function longer than the  panel size that
is comfortable to look at, so (ideally) I can see the whole function, comments
and all, at the same time.

The whole idea is to write the code as if I'm never coming back, and the Future
Of The World As We Know It depends upon someone else picking this stuff up and
maintaining it.

I fall short of this goal, but I strive to keep that level of quality and 
appearence.

This is not only what I do with APL, it's good practice for ANY programming
language.

>>The coding style that is encouraged these days is more open,...
>Where can I find a source from which I can learn APL in this style?
The easiest place to go would be to the USENET newsgroup comp.lang.apl,
there is a FAQ posted there about monthly that lists a lot of sources for
APL books, journals, software, and instructors.

>>There is also an "Obfuscated C contest" with code that IMPOSSIBLE to read
>>unless you know the compiler directives! APL programmers didn't invent 
>>obscure programming....
>Even obscure Pascal is easy.  Whatever happened to Niklaus Wirth and his
>baby?  and the second baby:  Modula 2?
I don't know what happened to Wirth, and it looks like Modula 2 feel vicitm 
to the OOP craze. 

>>I've kind of heard a wee bit about LOGO, but never actually saw or used it.
>>What does it (in the opinions of those experienced at it) does it bring to
>>the table?
>Some of the advantages of LISP, especially it's functional nature, from
>which it derived....
Hmmm... interesting, thanks. Here's another example of a language which
is not being proposed as the Language To Write All Applications, but fits 
nicely into a role a some stage of the learning process.

>It worked in the classroom only when the teacher understood LOGO as an
>exploratory tool....
IMO this is true for just about EVERY teaching tool.

                                                          Cheers!
                                                           ---> RGB <---