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

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: