Re: learning programming
> personal preference, I think.
>
> And perl/python is apples and oranges: python is object oriented (like java,
> C++), while perl is more like C.
>
Perl is more like C, but with objects (and lots of other
stuff).
> A lot of people take issues with perl's lack of standards-- where {}, (), etc,
> may or may not be required.
A lack of standards is also what makes a language hard to
learn. Also keep in mind that if you are learning a language
for the first time, you need to be able to get a strong grasp
of fundamental concepts such as data types, arrays, variables,
and so on. That would call languages like Perl, C and C++ into
question (great languages though they are). Even with ANSI
standards, C and C++ carry so many subtleties that a person
has to learn all at once, that things could be legitiamtely
confusing first time out.
You also have to wonder if it is really meaningful to learn an
object-oriented language first time out. Should you not teach
the fundamentals - procedures, functions, parameter passing,
recursion, and so on, before you teach OO? I know that OO is
in many places taught as a first language anyway, and I even
admit to owning two books teaching OO as the first language
(one in C++ and one in Java). It depends on where you want to
go.
But that is why abstract "teaching languages" had been
developed - such as ANSI Pascal (which is now largely a
dinosaur), or more modern languages such as OO-Turing (a
latter-day successor to Pascal): to teach concepts such as
procedures and fucntions in an environment where the syntax is
clear to the programmer and data is strongly typed. It even
allows for the learning of OO later on. Once you have a sure
grounding in the basic concepts, you can move on to a more
"relevant" language where things are less clear-cut.
However, nowadays, I am noticing more and more campuses
turning to Java as the beginning language. That is, Java
without a GUI and without a graphical interface (other than
Notepad or Emacs). Admittedly, typing is as strong and the
syntax is about as predictable as the Turing, but it is pure
O-O, even if you try to teach it as a procedural language,
which is done for much of the first course. I thought it was
difficult to teach pointers in that language. However, it
appears that Java has "something" about it that beahves like a
pointer, so a lot of time in the university course (which
doesn't use Savitch's book) is devoted to that also.
Actually, I have 3 books:
"Introduction to Programming Using Java", by Arnow and
Weiss (used in the beginning University
course
mentioned above)
"Java: An Introduction to Computer Science &
Programming", 2e, by Walter Savitch - uses
Borland/Inprise JBuilder 3 Foundation (for which
it
provides an installation CD) - This one begins
the student in a GUI/RAD environment first time
out. I have not tried the book out myself to see
how successful it is.
"C++: An Introduction to Programming", by Jesse Liberty
and Jim Keogh - a surprisingly good book on C++.
It
is how I learned C++.
Hope this helps.
Paul King
>
> As to having {} and ;, it's a matter of the language structure, and that's all.
> Whether or not you use them is simply a matter of how you structure the
> language.
>
> glen
>
>
> On Tue, Dec 25, 2001 at 12:30:34PM +0100, lintux@lintux.cx wrote:
> > J?rgen A. Erhard@linux.debian.laptop@Mon, 24 Dec 2001 19:20:09 +0100:
> > > Correction: If you want to learn programming, Perl is the *wrong*
> > > language.
> > >
> > Nope, not at all. Perl is like C, C++, Java, etc. Python is like Basic. To
> > become a good programmer you should get used of ; and { and } as soon as
> > possible. ;-)
> >
> > So you can spend some time on Python, but do switch to C (or Perl first)
> > ASAP.
> >
> > --
> > *=-+-______________________
> > |lintux-@t-lintux-d0t-cx: _ Ugh! Nio2f says something: ______
> > : http://www.lintux.cx/ | / gnat a fo be to con httpww.codec \
> > ~~~~~~~~~~~~~~~~~~~~~~-+-=-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+-=*
> >
> >
> > --
> > To UNSUBSCRIBE, email to debian-laptop-request@lists.debian.org
> > with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
> >
>
> --
> Glen S Mehn
> Lead Systems Administrator SquareTrade, Inc
> glen@squaretrade.com Building Trust in Transactions (sm)
>
>
> --
> To UNSUBSCRIBE, email to debian-laptop-request@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
>
=========================================================
Paul King http://www3.sympatico.ca/pking123/
(905) 842-7451 (416) 428-7451 (cell)
Reply to: