[index]

Sat Jan 21 00:24:04 CET 2006

c++

--


This last week I've taken a short but very intensive course
in C++ at a company called Learning Tree. Very good course. 

Man, the more I learned about C++, the more I wanted to
hack in Java. Ok, I haven't programmed seriously in Java since
what, like 5 years ago or so, but it took about a day to
remember the basic ideas behind OOP- encapsulation,
inheritance, polymorphism and abstraction. After taking the
course in C++, it feels likethe designers of the language
embraced the ideals behind OOP, but didnt really dare to go
all the way... just take a look at all the exceptions to the
rule of encapsulation!

The desire to make C++ backwards compatible with
ANSI C is understandable, but this just makes it
impossible to create a true OOP language without these
exceptions. 

Oh of course, Java probably has its faults as well. Just
google for "why java sucks" and you'll get a zillion hits. But
me, I like C++ as an improvement to C- its easier to write
code, you dont have to fiddle and curse at file handling as
much and all, but its a far cry from java when it comes to
OOP-ness. 

Take operator overloading functions located outside the
class declaration for one. Outside the class declaration? eh?
Or the concept of friends. Or that functions are default
non-virtual, forcing you to remember to set them virtual so
that you can override them properly in subclasses.

But... this said, I liked the language. I positively loved
the idea behind templates. Though it forces me to use pointers
and references, I dont have to use them as much as in C. 

Ah well. Time to hit the hay. Now all I need to do is find
some fun C++ project I can either take part in or start up. I
have to practice!

--