View Single Post
Old 07-14-2005, 06:53 PM   #15 (permalink)
TheHeadFL
 
Ultra Techie

Join Date: Jul 2005

Posts: 530

TheHeadFL

Send a message via AIM to TheHeadFL
Default

The only OO language I believe should be even be considered for a learning language is C++. At least then you can still program procedurally. The problem with learning starting with OO is that it is so far abstracted from how the underlying code is actually executed that it never teaches you to think about optimizations and such. I would venture to say that even C is fairly high level.

When I first started learning programming like 10 years ago, it was in Pascal. Then I started using C. Then I learned about C++. Now I am forced to use Java and some other weird languages at school here. I actually had a class where all the assignments were in Prolog. (ick)

What taught me the most, though, about programming was taking a class on compilers. In that class we had to write a two pass compiler that parsed through code and generated machine code. When you start seeing just how much code it takes to execute a simple C++ (or Java, etc) virtual function then you can see how you only want to use OO when you need it.

OO is great for organization, but I firmly believe it has its place and should never be used unless it is needed. This is one of the reasons why I have such a burning hatred for Java, since everything is forced into classes and such.
__________________
Desktop machine: 2 x Opteron 246, Asus K8N-DL, 2GB PC3200 ECC Reg., XFX GeForce 6600GT, 74gb WD Raptor, 2 x 19\" LCDs, Windows XP x64
Server machine: Intel P4 3.0GHz 2MB EM64T, ECS i865pe, 1GB PC3200, 36gb WD Raptor, Windows Server 2003
Laptop: Dell Inspiron 9100 (Intel P4 3.2GHz 1MB Prescott, i865pe, 512MB PC3200, Mobility Radeon 9700, DVD+R/DL Burner), Windows XP
Linux: P3 450Mhz, 386MB ram, Slackware 10.1 (Running mySQL/Apache)
TheHeadFL is offline