Quote:Original post by medevilenemy
Neither C++ or C is a complicated language in the least. There is very little memorization involved at all. First of all, the basic syntax of C++ is also shared by Java and C# (both of which are amazingly more complex in usage than either C or C++). Logically, the syntax wouldn't have spread as far if it were as hard to use as you say. Besides that, both C and C++ are based on a few simple statements (noteably: for, do, while, and if). C++ has classes, which are significantly more complicated but they are in basically all languages which have them. There is also a simple matter of explicit typecasting, which can be learned in about 5 minutes. The hardest part of learning either languge is the process of learning the library functions (for which documentation is avalable in many hundreds of forms online).
Learning a language is much more than just learning the syntax and the functions in the standard library. For example, in C and C++ you also have to deal with pointer correctness and explicit memory management. In C++ you need to worry about exception safety, Koenig lookup problems, all sorts of template idiocy, accidental creation of unnecessary temporaries and so on.
It's easy to write
bad C or C++ code, it's hard to write even mediocre C++ code; a condition exacerbated by the number of ignorant, but well meaning authors who post "tutorials" on the internet that promote various bad programming habits just because they think that finally figuring out pointers somehow makes them experts in the field.
And, of course, the fact of the matter is that despite your claims, C++ syntax is
hard. Compare how many threads we get with posters asking why their code won't even
compile in C++ compared to any number of other languages. We have quite a few C# users here, and most of them don't need help with syntax twice a week. Instead they ask questions about algorithms or rendering techniques. Just because other languages have similar syntax doesn't mean they have similar syntactic difficulties. For the most part, languages that use C or C++ like syntax use a simplified version of the syntax* that make things much easier to learn and get right.
* the obvious exceptions being Managed C++ and C++/CLI