I have had horrible experiences with this forum, but I'm going to give it another go.

What is the point of learning C++?

I am only a beginner but what is the point?

You learn all of C++, then what... you can make a console program whopee!

I mean, when do I get to move out of the basement with this one...

What I am trying to say is, if you want to make a gui program that is not all DOS, and command prompt, then why use C++ as soon as you want to do that, you have to learn a whole other language...

I like C++. but please someone help i think i am missing something...

if you want to make a gui program that is not all DOS, and command prompt, then why use C++

You can say the same about any other programming language. Java for example has a GUI library, but it is not part of the language. You still have to learn the library on top of the language. It is the same with C++. The only difference is the GUI library is not packaged with the standard library.

So, if I learn C++, the the lib, I will be able to create programs like GUI auto talkers, and auto account creators and etc.

How hard is the lib? simple or complex?

I feel I have a slightly different perspective on this. Yes learning C++ itself will not make you a cool GUI program, but the library routines can be called from C++. However, the libraries keep changing, that is because we have new hardware, better algorithms, different OS which to build on etc. However, the C++ itself seems to have a slower rate of evolution. That makes the knowledge of C++ much more valuable.

Second C++ becomes part of your tool base, in my field, a large amount of numerical code is C++, some older stuff in fortran, GUIs [not that many] are in well java/python/ C++ with Qt/C++ with gtkmm. Scripting languages, we have R, python , lua to name a few, but they all end up calling C++ routines.

Unfortunately what is now required to produce a project, is a LOT of tools and knowledge, and that is before we get to the domain specific knowledge, I certainly would not have a job unless my Quantum mech. was at least passable, and I guess that every field has a set of domain information. That said, because I can code, I get a lot easier ride than if I had to rely on my physics alone, it improves review scores, allows me to have a lot more project options and employment opportunities.

Additionally, C++ is a very very large language, and one of the advantages I see, is that I can readily grasp these other languages and be productive in them quickly. The "hard" code always seems to be C++. In a game, the AI is mostly c++, in a simulation code, the inner physics engine is always seems to be C++.

Finally, why not learn c++, you said you liked it, C++ has that kind of strange attraction, it is fun to learn. So dive in and enjoy...

p.s. The forum here is highly responsive to code, if you have a question put up the code that you have attempted, or the example you don't understand. That is about 99% certain to get a good response. Everything else is a lottery -- that is very very true if asking questions about graphics libs. there are so many and most questions are about a specific tool which many of us don't know.

Comments
nice summary
Helped me get out of a stump... Thank you.

It's powerful and complicated and a nice challenge. It supports dynamic memory allocation and leaves you in charge of everything. You can make whatever you want. It's also the standard for getting a job in a lot of computer systems jobs and game development.

Edited 6 Years Ago by ichigo_cool: n/a

C++ is the most flexible and universal language for programming. Look at the list firstPerson posted. It goes to show that virtually all games are in C++, virtually all serious scientific coding is in C++, all Microsoft apps too, virtually all kernel libraries of operating systems, etc. etc.

One of the reason for this, in my opinion, is that if you ask an experienced programmer about what language should be used for a particular project, it's almost certain he will say C++ even if he knows many others that would do the job. While some languages are better suited for certain applications, C++ is BEST suited for everything. So whenever these companies start a project, they hire some really good programmers and those programmers tell them to make their app in C++, because it's the most flexible and productive language out there, and it is guaranteed to last. I personally don't know a single experienced programmer that is not primarily a C++ programmer, that means, if he can choose he will program in C++, if he doesn't have a choice, e.g., joins a project that already uses another language, then he can program in that language without any problems (partly due to the fact that if you are very good at C++, you're good at any other language, and employers know that!).

I have had horrible experiences with this forum, but I'm going to give it another go.

What is the point of learning C++?

I am only a beginner but what is the point?

You learn all of C++, then what... you can make a console program whopee!

I mean, when do I get to move out of the basement with this one...

What I am trying to say is, if you want to make a gui program that is not all DOS, and command prompt, then why use C++ as soon as you want to do that, you have to learn a whole other language...

I like C++. but please someone help i think i am missing something...

What you've misunderstood is that there are no 'GUI' and 'console' languages. Programs are written in code and then stream their output by using various libraries. Some libraries deal purely with text streams on a console. Others interact with the operating system to create windows, buttons etc. C++ can use things like iostream's COUT command, but it can also use QT's form and window controls. Python naturally works in the console, but can use WxWidgets to create forms.

Additionally, C++ is a very very large language, and one of the advantages I see, is that I can readily grasp these other languages and be productive in them quickly. The "hard" code always seems to be C++. In a game, the AI is mostly c++, in a simulation code, the inner physics engine is always seems to be C++.

One of the great advantages of C++ is the way it bridges high level programming with low-level programming; you can create GUIs but work by direct memory access too. This gives it great power.

And that's the real point of learning C++ : it's a very catholic language. The fact it is the de facto 'default language' means it really helps you access a lot of code and resources, do a lot of different things and easily find resources that guide you through doing everything from creating a basic word processor to crafting a DLL.

Of course, there's a lot to be said for other languages too. The way Java runs on virtual machines means it's easy to create portable applications, and some would argue Java is a more 'truly' Object Orientated language than C (but then, the choice C++ gives you is a boon) if that's important to you. Python is very readable (and easy to debug) and even BASIC has a role in VB, which can make decent, if limited, GUI applications very quickly. Still, C++'s broad scope and 'universal' nature means you'll be limiting yourself if you don't get to grips with it.

This article has been dead for over six months. Start a new discussion instead.