OT: Good Programming Courses Suggestions for technique rather than language

Rajinder Yadav devguy.ca-Re5JQEeQqe8AvxtiuMwx3w at public.gmane.org
Fri Sep 4 06:00:00 UTC 2009


Lennart Sorensen wrote:
> 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.

What do you mean, you don't like Ruby's everything is an object syntax like:

	5.times { puts "hello world!".upcase }

;-)

I am starting to believe you don't choose the language, the language chooses you 
... I guess whatever feels the most natural will be the best tool to work in.

> 
> 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
>> IMHO.
> 
> Pick a language suited to the task.  If you are going to do lots of
> fidly text processing, C is going to hurt.  

I am sure there are very good C/C++ libraries that provide text extraction and 
perl like regex function and can do it much faster. I never used these, but 
these look like they would fit the job.

1) The boost.regex lib
http://www.boost.org/doc/libs/1_39_0/libs/regex/doc/html/index.html

2) PCRE - Perl Compatible Regular Expressions
http://www.pcre.org/

Finding the right library can make a few things less painful.

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).
> 


-- 
Kind Regards,
Rajider Yadav
--
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