I consider the things that you call 'more powerful', easy. There is nothing that you cannot do in C or assembly(I'm not talking about language dependant features), these features of the language just make it easier(often safer too
). As I said before 'abstracting your code from what is really happening just doesn't work for me', but this is just my
opinion(I cannot recommend something I don't like or use
IMO, C is definitely the easier language to master as there's a lot less to learn.
I honestly hate C, it just can't do crap compared to C++.
Code in C ends up being very repetitive and messy because the language isn't powerful enough to write good code with.
Templates are very powerful in C++, and allow you to write many different optimized routines from just 1 function. With C you will have to to write a lot more repetitive code to do the same result.
This isn't 'harder', but just 'more annoying' and stupid.
Another example are the lack of references make you always pass pointers, and then you have to de-reference the pointers adding more code clutter... again this isn't harder, but just more annoying.
Elegant code is something I feel is very important when programming, and C doesn't let you do that.
I don't say I know C++, I don't like it nor use it
- 'originally named "C with Classes". It was renamed C++ in 1983.'
C++ has come along way from just C with Classes, which is what the article posted was saying.
When people that claim C++ is just "C with classes", its a good indication they don't know the language.
I recommend you eventually learn C++, and maybe after 2 years of coding with the language you will figure out that it really is better than C.