> > Some tools for some things. It would be crazy to write a windowmanager
> > in C, since it's not an object oriented language. What is it that's
> > wrong about C++ in this case?

There is nothing in a window manager that makes it inherently more suited to
being expressed in an OO language.  It depends entirely on how the
programmers involved think.

 
> C++ is not a language tied up to serious projects!

I'm not sure if you mean that it isn't, or it shouldn't be.  If you mean it
isn't, I would give you the many projects expressed in C++ as examples.  If
you meant it shouldn't be, that's personal opinion, and I would give you the
many projects expressed in C++ as examples.  :)


> I known it sounds like a prejudice, but........

It's only prejudice if you've never used C++.

 
> C++ code is harder to mantain that C! Not to mention how compilcated it
> is to understand.....

C++ is generally harder to maintain if you've been steeped in the C school
of thought.  C++ is, generally, easier to maintain if you know and like OO;
it provide features for encapsulating data and only using a published
interface, which -can- make a large project easier to maintain.  Languages
such as C encourage you to manipulate data structures manually, leading to
complications when data structures change (as they inevitably do, in large
projects).  This is a generality; one can encapsulate data in C (by passing
around a data structure as if it were an object), and totally ignore C++'s
encapsulation.

On the other hand, some of C++ can be terribly complex.  The rules for
determining what overloaded function to use, or for automatically casting a
data type, are so filled with nuances, exceptions, and rules to remember
that I wouldn't wish it on my worst enemy.


The moral of this email is, each language has its place, and most langauges
out there are suited to doing just about everything a programmer would like. 
It's the gray matter wandering around that imposes restrictions on what a
language can be used for.  Some languages are probably ill-suited to some
things for efficiency reasons (writing an OS in Tcl is probably not a good
idea) but this is a discussion about maintainability, not so much
efficiency.

Blackbox does well being expressed in C++.  This is not a commentary on C++,
but a commentary on the programmers involved with blackbox, who have put
thought and effort into making the code maintainable.  Any program, written
in any language, can be made maintainable or unmaintainable.  It takes
thought and effort to make things a pleasure to work with.  Surprise
surprise, programming is not simply knowing a language, but knowing how to
express yourself in that language clearly and concisely.


Hopefully this speech will ward off any flamage.  I'll get off my soapbox
now.  :)


Michael
--
Administrator                      www.shoebox.net
Programmer, System Administrator   www.gallanttech.com
--

Reply via email to