[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Programming?
>I would never suggest anyone start with C/C++. Why you ask? Pointers.
>Pointers are inherently dangerous, difficult for beginners, and used all
>over the place in C(++). ...
Pointers can also be used (and are, without knowing it) to violate a property
of Object-Oriented Porgramming (which C++ supports, more or less) called
encapsulation. C++ programmers don't seem to mind much, but OO people think of
this as a Very Bad Thing. C++ is probably not a good "first" language....
..I'm going to throw out another language as a first language to learn, and it's
called "APL", which stands for A Programming Language.
A lot of you may never have heard of this, but APL is actually fairly old. It
is named after a book by the same name, published in 1963, and it was imple-
mented for the first time in 1965. A little later on, it played a critical role
in the development of what might be called the first general purpose computer,
the IBM 360 series, and was released for that system in 1968.
Since then, APL has evolved, and is in use on paractically every platform out
there. Right now, there are three implementations available for Linux, and:
*****
* I'll be talking about one of them on December 14th.
*****
I reccomend APL for novice programmers becasue it frees them from learning a
lot of mechanical details and allows people to concentrate on principles of
programming, such as correct design, reasonable decomposition of problems into
subroutines, good algorithm construction and logic. Once these topics have been
clarified, one can go on to C or PERL with much better insight, and then a lot
of the mechanical details fall into place very nicely. In contract to some other
languages that claim safety, APL is completely safe.
APL is also used in a wide variety of applications, all over the world, in many
industries and discplines.
Think about this as a viable path, and reply if you are interested. I picked up
C a lot more quickly when it was not my first language, and what I learned from
prior use of APL allowed me to absorb C, C++ and other languages much more
quickly than would have otherwise been the case.
Regards,
---> RGB <---