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.