[Tutor] Need directions toward programming...

Alan G alan.gauld at freenet.co.uk
Thu Sep 1 22:59:14 CEST 2005

Hi Damian,

> studies about programming sucks!.

This seems to be a common problem, maybe because many teachers aren't
really trainied in how to teach programming and only know the basics
themselves! Its usually a bit better at university level.

> language a teacher show us was quick basic

QuickBasic isn't too bad to start with but only for a short spell.
But learning about line numbers and GoTo etc can be seen as good
historical background. One local univesity teaches students by
starting with machine code (ot assembler!) and then moves on
through Assembler to Basic then Pascal and C and eventually to
Java (used to be C++) and then finishes off with Haskelol and Prolog.

In other words they try to take the students through the historical
development of programming over a 3 year period.

> the project itself contained a lot of bugs, and the teacher didn't 
> take that
> in consideration for the grades, I was pissed off !,

Thats bad!

> getting in an University, I decide to study by myself,

Unfortunately that could be seriously career limiting. Most big
computer companies still expect at least a bachelors degree (and
many insist on a Masters) before they hire you. Smaller companies
will take on with less formal wqualifications but you will always
be bucking the system and some jobs will be forever shut off.

Add to that the fact that you will be unlikely to self study the
mathematical foundatons needed to really undertstand copmputing
theory - Predicate and Lambda Calculus, Queuing theory, Simulation,
Type theory, etc etc.

> the most of my time learning dynamic languages instead of
> the proprietary ones.

There are plenty of proprietary dynamic languages and a few non
dynamic public ones. Dynamic usually refers to those which are
interpreted rather than compiled, or at least havce a dynamic type 

> can recommend me some books or tutorials of python

There are lots of sites with recommendations on that.

> toward the technical aspect of programming

Try the following:

Code Complete - McConnell

Programming Pearls - Jon Bentley

The Pragmatic Programmer - Hunt, Thomas

Structure and Interpretation of Computer Programs
(available online!) - Abelman, Sussman

How to Design Programs - ???
(also online)

Art of Computer Programming - Knuth

> (multiple inheritance, control flow, etc.), so I can get an idea of 
> the
> whole aspect of language programming.

Take time to explote other languages, Ruby, Smalltalk, Haskell and 
are all good alternative world-views.

Alan G
Author of the Learn to Program web tutor

More information about the Tutor mailing list