[Dev] Reading circle
Tom Bryan
dev@trilug.org
Sat, 9 Mar 2002 11:52:37 +0500
On Saturday 09 March 2002 09:53 am, Brent Verner wrote:
> | reading...Maybe by tomorrow I will feel better :) I believe it isn't
> | the complexity of the book, which isn't that bad, but more I am having a
> | tough time thinking in an oo way. Might be better for me to spend my
> | time on getting up to speed with C++ and join the group with the next
> | book...
>
> try python or ruby for quick OO learning, or even java.
+1
After struggling with C++ initially, I read some about Java
(_Thinking_in_Java_) and Python (_Programming_Python_). Then I coding in
Python. After a few months, I realized that I had really shifted too an OO
view of programming. Writing flat Perl scripts became really hard because I
kept thinking, "Wow. I'd really like to turn this into a class." Looking at
how Perl supported OO kept me using Python. ;-)
Basically, there *is* a lot of extra baggage that C++ carries from C. To
write a decent class in C++, you really need to understand C++ *and* read and
memorize Myers's _Effective_C++_. Languages like Java, Ruby, and Python seem
to be much more trimmed down and direct. Writing OO programs in these
languages is easy. (Of course, polymorphism loses some of its meaning in a
languages with non-typed variables.) I highly recommend starting OO with
something like Python or Ruby and then coming back to C++. I think that,
despite the detour into another language, it'll be your quickest route at
coming up to speed with OO in C++.
---Tom
P.S. And I still haven't complained that to get any sort of generic container
in C++, you'll also need to understand templates. Not a bad thing, but just
one more hurdle to cross before you can effectively write OO in C++.