|
-
April 2nd, 2003, 01:41 PM
#1
Why people think C++ is difficult
Many people seem to think that C++ is much more difficult than, let's say, Java. Although I agree that some things are sugar-coated in Java, I feel the general difficulty is practically the same. Then why is C++ perceived hard to learn, you ask ? Well, C++ does not only mix two programming languages, but two programming paradigms as well. Both procedural programming and object oriented programming are viable solutions to problems implemented in C++. To further illustrate this point, I provide a bit of history.
C++ was designed with an important feature in mind: backward compatibility with C. Because of this, many experienced C programmers jumped on the C++ bandwagon, using the new features as seen fit. This created a weird version of pure C++ because developers used object oriented features in a procedural way. This was not really seen as a problem because, after all, C++ was designed to do just that. The problem is that this complicates matters a lot, requiring new C++ students to learn the way of thinking of both C and C++, complicated by subtle language differences.
New students should therefore choose between pure C and pure C++ and stick to it. But is this practically possible, as some API's are C oriented and some C++ oriented ? I think that C programmers will have less problems with this, because most API's, C or C++ oriented, originated in C. It is true that a lot of C++ API's are merely wrappers around C API's. This isn't necessarily a problem, except when you are a C++ purist and can't find a good C++ oriented API for the particular thing you're trying to do.
But the future looks bright with quality object oriented API's like TrollTech's QT and the ACE networking API, both great choices for C++ purists.
DISCLAIMER: Altough I like pure C++ better than pure C, I am not implying pure C is inferior to pure C++, they are both viable programming languages as I have said, and I do not want to start a flame war over this. I also understand that for experienced C\C++ developers this text is merely stating the obvious, the text is aimed at future C\C++ programmers.
Last edited by Cuboidz; April 2nd, 2003 at 01:47 PM.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|