I'm new to C++, i'm learning with the help of Stroustrup Principles of C++ book, with this forum etc
I'm doing console apps that treats and operates with numbers and so on, as i see you do the same, at least that's what i see people asks in the forum.

Also i found a website with the list of awesome programs made with C++ (photoshop and so on) so i wonder....how hard is the step from making console application to real world apps? why i don't usually see questions relating that in any c++ forums?
I mean...it's like hard to believe that what i'm learning now will lead me to creating real and useful apps (of course i'm not aiming in doing a photoshop 2, but you know)

I have the feeling that all the books, forums and so on only talk about console app and stuff like that, but in the other hand i'm told that photoshop, windows, and a lot of huge stuff is made with C/C++, so i'm kinda lost here.

Can anyone give some light in this matter?

THank you!

Edited 7 Years Ago by neithan: n/a

how hard is the step from making console application to real world apps?

Many real world apps are also console apps, so the only real difference is that those GUI apps use a GUI library to make a pretty looking interface on top of the same kind of stuff that you would write in a console app. Of course real world apps also do a lot more than the practice programs you are writing now to get comfortable with the language. ;)

why i don't usually see questions relating that in any c++ forums?

The questions on forums are usually very focused. They might be a small part of a much larger program, but for the most part I think the majority of questions are coming from the people who are still learning basics and not the people who are experienced and trying to write a real world app. The experienced programmers can usually answer their own questions without asking for help by doing research.

it's like hard to believe that what i'm learning now will lead me to creating real and useful apps

It is also hard to believe that a few simple principles of sound can be put together into something incredible like this. :)

Thank you Tom for your time. Awesome youtube link, i've saw it before though :P

I know it's very hard to answer this because every single person takes its own time but, does it takes a lot of time to get to the "real word" (i know you like that expression;)) apps? A lot of reading? Or is it just "one step more".

Back in the time i learnt some VB and I remember the IDE was kind of fun because in the tool bar you could add buttons and labels and stuff only by clicking or dragging it.

How developers write those C++ application? Are the apps made by some IDEs similar to the VB one? How? How?! :)

Thank you for your time.

does it takes a lot of time to get to the "real word" (i know you like that expression) apps?

It is hard to draw a line between "real world" and "not real world". I think of real world apps as useful programs written with the intent of being useful. I cannot stress enough that a GUI is not the difference between real world and not real world.

Are the apps made by some IDEs similar to the VB one?

Sometimes. In the end it is all just code. If the IDE helps you write that code, more power to you. There is no magic involved in writing a GUI. You still create objects, call methods, and all of that other stuff that you are learning now.

How? How?!

Try it out and see. I assume you are on a Windows computer, so you can follow the tutorials here and create your own GUI. But I will warn you that if you are not very comfortable with C++, you will end up struggling with both the language and a graphics library at the same time.

Almost 80 lines to create a single and void windows!!!
Isn't that inefficient? I'm surprised GUI app programmers get use to it, it is really confusing.

I know this sound lame but, why not VB? Does C++ really compensate with its power but havig to swallow all that GUI tough coding?

Thank you, i'm learning a lot.

I'm surprised GUI app programmers get use to it, it is really confusing.

Once you understand it, you can crank out code like that without thinking. One thing visual designers do is abstract all of that code away so that the programmer can drag and drop controls, then add the meat functionality without worrying as much about the scaffolding.

I know this sound lame but, why not VB?

It is not uncommon to write the GUI in a convenient language, then glue that together with a back end written in a different language. VB on the front end and C++ on the back end works well.

Does C++ really compensate with its power but havig to swallow all that GUI tough coding?

VB is just as bad. The only difference is the visual designer hides the GUI tough coding from a VB programmer and the tutorial you are looking at does not assume that a visual designer is available for C++. You are kind of comparing apples to oranges. ;)

Thank you Tom. I'm still lost and not sure if i should keep learning C++ or switch to another, but i definately know more than yesterday.
In one hand, i want to be able to code small programs in terms of security, networking and so on, and in those issues i'm told C is the one, so i should maybe go to C.
But in the other hand, i want also to build real apps, like i dont know, let's say an alternative to MSN or something like that.

That's why i have a little of kaos in my mind and i don't know which way should i take.

Have you looked into Qt at all? Its an extension of C++ with a ton of useful classes that can make a programmers life MUCH easier. Check it out if you haven't: http://doc.trolltech.com/4.5/index.html. There is also a GUI designer called Qt designer which allows you to drag and drop buttons, status bars, etc into the widget. You have to connect the signals being sent by the buttons, status bars, etc to a slot where you can then carry out operations according to what was pressed or altered in the interface.
Qt is really awesome. Here are some examples of applications using Qt: Google Earth, KDE, Mathematica, VLC Media Player.

Have you looked into Qt at all? Its an extension of C++ with a ton of useful classes that can make a programmers life MUCH easier. Check it out if you haven't: http://doc.trolltech.com/4.5/index.html. There is also a GUI designer called Qt designer which allows you to drag and drop buttons, status bars, etc into the widget. You have to connect the signals being sent by the buttons, status bars, etc to a slot where you can then carry out operations according to what was pressed or altered in the interface.
Qt is really awesome. Here are some examples of applications using Qt: Google Earth, KDE, Mathematica, VLC Media Player.

Yeah, that looks what i was talking about, thank you. But i'm still lost, i'm thinking on start learning python to my GUI apps desires and C for the low level networking apps.
What do you think?

Yeah, that looks what i was talking about, thank you. But i'm still lost, i'm thinking on start learning python to my GUI apps desires and C for the low level networking apps.
What do you think?

I think that might be a good idea. Qt toolkit actually has support for python and there are other tool kits you can use. http://www.metaslash.com/brochure/tutorial/

I'm pretty sure Qt designer is a standalone utility that's similar to those other ones. I've used Qt designer but haven't used those other ones. I'll have to try them out.

Thanks. So i think i'll pass to C and python forums, just the next door :)

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