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

Re: Learning more/Linux programming books



On Sun, Jan 17, 1999 at 05:05:48AM +0100, Antonio A. Rivas Ojanguren wrote:
> ><snip>
> >I think that it is worth considering skipping the Pascal stage and
> >going straight to C, or equivalent languages. Taking this approach a bit
> >further, I think it is even worth considering going straight to C++,
> >perhaps
> >by talking first about the procedural aspects of C++ and only then, as a
> >second stage, talking about the OOP aspects.
> ><snip>
> 
> Are you crazy? He's a begginner and he wants learn programming not to get
> mad.

I agree with him. Yes, he is a beginner. However, OO programming and
procedural programming are different enough. If you teach the bad habits you
get in C first, it is harder to change to a type safe and well organized OO
programming language. 

> How can you run if you don't know how to walk? If you want to learn
> programming the best language is Pascal:
> a) It's closer to the natural language than C and, of course, C++, and all
> of us think in our own natural language (english, spanish, french, german,
> etc...) and this is the first language we use when we develope a program.

This can also be a disadvantage, because programming _is_ much unlike
natural language. 

> b) It forces you to make a highly structured code. Bad programming habits
> appears easier with C than with Pascal.

Then you should advocate C++, because it is type safe and enforces much more
organization than C or Pascal. Procedural programming is more structured
than BASIC, but OO programming is much more structured than procedural
programming.
 
> Learn C is not necessary the way to understand linux. To understand linux
> you must know how to programm devices like controllers, video cards, sound
> cards, etc..., and programm devices is something that you can do with Pascal
> also.

This I agree with. However, reading C code written by experts requries some
understanding of C on its own.

You can start with any language. For a complete beginner, I would advocate
Scheme. Even if you don't want to do big projects in Scheme, you can start
very fast. A good book on programming (using Scheme) is Structure and
Interpretation of Computer Programs, Abelson/Sussman.

Marcus


-- 
"Rhubarb is no Egyptian god."        Debian GNU/Linux        finger brinkmd@ 
Marcus Brinkmann                   http://www.debian.org    master.debian.org
Marcus.Brinkmann@ruhr-uni-bochum.de                        for public  PGP Key
http://homepage.ruhr-uni-bochum.de/Marcus.Brinkmann/       PGP Key ID 36E7CD09


Reply to: