> 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, [EMAIL PROTECTED] wrote:
> > J?rgen A. [EMAIL PROTECTED]@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.
> > 
> > -- 
> > *=-+-______________________
> >    |[EMAIL PROTECTED]:     _ Ugh! Nio2f says something: ______
> >    : http://www.lintux.cx/ |    / gnat a fo be to con httpww.codec  \
> >     ~~~~~~~~~~~~~~~~~~~~~~-+-=-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+-=*
> > 
> > 
> > -- 
> > To UNSUBSCRIBE, email to [EMAIL PROTECTED]
> > with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
> > 
> 
> -- 
> Glen S Mehn
> Lead Systems Administrator            SquareTrade, Inc
> [EMAIL PROTECTED]     Building Trust in Transactions (sm)
> 
> 
> -- 
> To UNSUBSCRIBE, email to [EMAIL PROTECTED]
> with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
> 

=========================================================
Paul King              http://www3.sympatico.ca/pking123/
(905) 842-7451                      (416) 428-7451 (cell)

Reply via email to