This is the most clarifying approach to the decision to learn anything. Learning is always good, selecting what to learn is more important as is how to prioritize tasks. Another side of this problem is that you will be investing some time in getting a new skill set, you have to consider in what ways will this benefit you?
Make a list and check your objectives of learning or acquiring some new skill and compare similar projects or see what the programming market is in need.
You should not learn C++ if you are only interested in applying or learning about Object Oriented programming since the nomenclature used and some of the approaches C++ takes to the problem will probably increase the difficulty level in learning and mastering those concepts,
This will clarify “what makes a C++ special?” in its approach to programming problems. You should select one imperative language and in this C will probably have a better market value and will have a direct relation to C++ (a good substitute would be ASM) and the second language should be an Object Oriented language like Java or android for the same reasons, as there is a close relation between the tree of languages.
You can even learn C++ as your first language but dedicate some time understanding the different paradigms and why C++ is a multi paradigm language or how some like to call it a hybrid language. Learning C is not a requirement for understanding C++, but knowing how to use an imperative language is, C++ will not make it easy for you to understand and distinguish some of this deeper concepts, since in C++ you are free to implement solutions with a great range of freedom. Understanding what options to make will become the cornerstone of mastering the language.
As with all languages C++ has a specific scope of application, were it can truly shine, and if we take a quick comparison with the previous mentioned languages, C++ is harder to learn than C and Java but more powerful than both. C++ enables you to abstract from the little things you have to deal with in C but will grant you a bigger control and responsibility than Java and will also not provide the default features you can obtain in similar higher level languages.
@credit .. Wikibooks
You must log in to post a comment.