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

Re: Programming?




>>Recursion is a wunnerful thing; APL was one of the first (other than LISP) to 
>>promulgate it.
>And quite challenging to teach.
Probably it is underused in the industry becasue it is hard to present
well, and many people don't seem to understand when it is more suitable
than mere iteration. I'm suspect that there are a number of problems I
could have done better if I'd known better than to bang my tiny brain 
against a brick wall of complex data structures, when it would have been 
very much simplified by recursion. Oh well....
 
>>ML is the paradigmatic functional language. Iverson's newest creation,
>>called J ....Iverson's notion does not go quite this far, but tends to 
>>isolate sets of functions into "trains"... 
>New to me.  I like ML, might like J better.
Perhaps; at this point, J probably shows more in the way of innovation, but
it's not as pure in a functional sense as ML; I'm not sure anything could be.
J has been availabel for Linux for some time, and was included in Debian for 
a time (I'm not sure it still is). I've tinkered with J, but have not used it
commercially.

>>....LISP is used to protoype lots of pattern-matching stuff
>Got to catch up on these current applications.  Again, suggested source?
Amazingly enough, Yahoo! seems to have a lot of sites nicely indexed. Go
type LISP in the search engine box.  Beyond that, we're reaching the bottom
of my outdated and shallow knowledge and experience with LISP. I actually know 
more about the politics/process of the LISP revivial than I do about the 
language itself.

>>>>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...
>I'll look for those features as I dig back into APL.
Piping predates UNIX, just as function calls predate APL. The notion of
stating things with a small number of functions, and perhaps overloading
those functions, then doing compositions on them, was carried out in APL
more completly and rigorously than in most languages, at least of its day
(similar claims have been made for ADA, but that's such a large language
it is hard to tell; C and similar languages are "sub-critical" in the sense
that they rely on libraries to make them viable).

>>>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. 
>Now as my daughter's used to say,  that is rude! Happy to say I never
>owned one.
Never did either; I was too busy sitting around writing one and two line APL
functions as wide as my (hard copy) terminal, comfortable in the knowledge
that this was the one true and right way to take over the world.

Nah!

 
>>In my old age, I'm a real wimp! I comment code fairly heavily...
>I love it!
> 
>>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.
>For those of us who have inherited programs written by 'real
>hackers', your style deserves a hero medal, not a wimp badge.
I wish I could lay claim to it, but I can't. It's good programming style, 
which to a very great degree is language independent. Oh, you need to adopt
the methods of good programming style to the environment, but the ideas will
pretty much translate quite nicely.

By the way, there ae lots of places (ultimately, everywhere I work), where
I "won't be coming back". This grim state is true for us all. I'll admit that
the World As We Know It is rarely, if ever, at stake. Would you like to get
up in front of an auditorium full of irate investors at an annual meeting
and explain that? :)


>> >>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.
>Just what I needed.
Like I said, a lot of this is language independent. One of my favorite books
on the topic is "Elements of Programming Style", by Kerighan and Plauger. I'm
sure Amazon and so on will be able to get it to you in a jiffy, and I'd be
quite surprised if you couldn't pick it up locally.

>>>>I've kind of heard a wee bit about LOGO, but never actually saw or used it.
>...
>>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.
>Right.  Let many flowers flourish. (what IS that quotation?)
I have no idea; somehow it sounds Chinese. Read your copy of "Thoughts of 
Chairman Mao" lately. He probably said *everything* at one time or another! :)

>>>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.
>I'll have to check that out with my tough education professional spouse.
>When I lecture, am I an exploratory tool?  Well I've been called worse in
>that position...
Yes.
I'm not going to, um, touch this one further.

                                                          Regards,
                                                           ---> RGB <---