On Dec 28, 2007 12:36 PM, Marc Espie <[EMAIL PROTECTED]> wrote:

> Rules for types and operators are fairly complex, granted, but there is
> some actual logic. This is well documented in a few books. The main issue
> with C++ there is that it it a big language. You want to understand those
> rules ? You have to read Scott Meyers.


Well, C++ compilers *do* actually compile the code, so I would assume there
is _some_ logic to them ;-)  However, just because there is some logic
behind the rules, doesn't mean it is easily understandable, and that--I
think--is where the real problem is.


> All of this shows the one thing we already know, which is that C++ is
> a terribly complicated language that is hard to master. When it's used
> properly, by people who know how to program in it, it can be really good
> and really fast. I'm still happily using quite a few apps written in C++,
> like most of kde, and I don't see them getting rewritten in anything else
> yet.


Assembly language programming (let's say x86 for the sake of argument) can
also be really good and really fast, but that too depends on someone knowing
what they're doing.  The problem with programming languages is, there are
often many, many ways of accomplishing the same task.  In some cases, there
may even be more than one correct way to do it, depending on what you're
trying to accomplish.  But there are usually many more _incorrect_ ways to
accomplish the task, than correct ways.  C++, because it can do things
procedurally as well as fully object oriented, gives the programmer even
more options; options that can be very powerful when used correctly, but
also very bad (for maintainability, debugging, etc) when used incorrectly.
As the saying goes, "With C, you can shoot your foot off. But with C++, you
don't shoot your foot off, you shoot your whole leg off".


> In the end, I still see C++ as a valid choice for *seasoned* programmers.
> It is very, very hard to use, and thus I would never recommend it to a
> beginner.


Hey, despite the flaws of C++, I too support it.  But as you say, it is
extremely difficult to use properly and most effectively.  I just fear that
there are too many programmers out there that aren't willing to admit to
themselves that they simply aren't skilled enough to use the language
properly.  This can be said for any language, but it is worse for those
languages that provide the most options to the programmer.

Reply via email to