I find it really helpful to learn c++ before i jump into c# or Java , The oops concepts become so clear to me , what do you think guys is this a good idea or a waste of time ?
I find it really helpful to learn c++ before i jump into c# or Java , The oops concepts become so clear to me , what do you think guys is this a good idea or a waste of time ?
First of all, this is a forum for the discussion of C, and not C++ or other languages.
That said, I would strongly recommend learning C thoroughly first, from a qualified instructor, or from an up to date book. Then if you wish to learn C++, you could then concentrate on the concepts and features of C++, Attempting to learn C by learning C++, you would not get a through understanding of the C concepts and features, common to both languages.
As for other languages, you would be the only person to answer that question. It would depend on what area of programming and what systems you want to work with.
Start with C, then C++, then make your decisions concerning other languages.
Good luck!
> what do you think guys is this a good idea or a waste of time ?
It's a waste of time if you're following someone's outdated notion that you have to learn X before learning Y.
Also, consider that to achieve the kind of competence in a language where you can reasonably earn a living from it takes a couple of years.
With your shopping list of languages, you just signed up to the thick end of a decade of effort.
The world is full of "hello world" programmers than can do something simple in no end of languages, but are not actually that good at taking on larger and more novel tasks.
Now ask yourself what you want to do with your programming knowledge. Do you want to be a Linux kernel hacker, smartphone apps developer, something "in the cloud", or sell your soul to the banks.
90% of programming isn't about knowing where the curly braces go.
Systems development life cycle - Wikipedia
If you aspire to be more than a keyboard jockey in the middle of the cube farm, easily outsourced on the whim of a bean counter, you need a lot more skills.
If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
If at first you don't succeed, try writing your phone number on the exam paper.
C++ has gone in its own direction. Modern C++ code tends to be heavily templated and makes use of lambda functions. It doesn't bear much relationship to C, or to the original version of C++. Inheritance was once the central point of C++, now it has a much more minor role.
However C is the basis for all the three languages you mention. C# and Java didn't try to modify C++, instead they went back to C and then tried to derive a new near-superset, as C++ had done, but avoiding what they saw as C++ mistakes. So it's worth knowing C thoroughly as the basis for learning almost any procedural programming language.
I'm the author of MiniBasic: How to write a script interpreter and Basic Algorithms
Visit my website for lots of associated C programming resources.
https://github.com/MalcolmMcLean