OT: Good Programming Courses Suggestions for technique rather than language

Lennart Sorensen lsorense-1wCw9BSqJbv44Nm34jS7GywD8/FfD2ys at public.gmane.org
Thu Sep 3 19:59:41 UTC 2009

On Thu, Aug 27, 2009 at 10:18:00AM -0400, Rajinder Yadav wrote:
> Why not find an OpenSource project to join and help out in? See if you
> might like WxWidget, join their forum, ask questions, not for you than
> try some other project. I just picked this project out of thin air,
> I've look at WxWidget and it's design is based on Windows MFC
> framework which is a C++ project.
> The real skill you will need to develop and one a lot of new
> programmers overlook is learning how to read and understand someone
> else code and more to the point extend functionality. Learn how to
> debug someone else code and deconstruct it so you can see the design
> using such techniques as UML modeling.
> I would pick an OO language over a procedural language. You can always
> program a procedural program in an OO language. If you come for a
> procedural language background you will been hard pressed to
> understand OO concepts let alone debug such programs when things like
> virtual function and polymorphic behaviour come into play. I struggled
> with this one for a while when I got started.

Well I am one of the people that think OO should be thrown away.  It is
not a great solution to the majority of problems and simply causes messy
and less efficient code.

Now this doesn't mean a language can't support OO and still be a great
language, just that OO is not an amazing solution to everything.  It has
a few good uses but the majority of uses are crap.

Java is of course crap because it makes everything use OO even where it
has no benefit at all and only causes lots of pain and harm.

> Programming in a art ;) there are many ways to do the right and wrong
> thing. You will get this from experience overtime as you get exposed
> to other people's codes and concepts.
> If you use the KISS principle, don't over design and your code is
> functionally sound and well unit tested then you're in very good shape

Pick a language suited to the task.  If you are going to do lots of
fidly text processing, C is going to hurt.  Lots of languages do much
better at handling text.  If you are making a web page, php is really nice
and simple, but be careful not to do stupid things that make it insecure.
Python is lovely for quickly making rather complex little tasks, and
because it has lots of external libraries (usually written in C to be
fast and efficient) it can actually make rather fast applications.
Perl is nice for quick little text processing hacks, but almost always
ends up unmaintainable for anything larger.  OCAML is nice if you want
fast executables and a nice clean language with excellent type handling
(which really can help avoid stupid bugs and errors).

Len Sorensen
The Toronto Linux Users Group.      Meetings: http://gtalug.org/
TLUG requests: Linux topics, No HTML, wrap text below 80 columns
How to UNSUBSCRIBE: http://gtalug.org/wiki/Mailing_lists

More information about the Legacy mailing list