Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I am about to start learning C++. I currently am a PHP programmer, I also know how to write Java code and create Java GUI applications. I have browsed http://www.cplusplus.com/doc/tutorial/ and to me it looks fairly similar to what I already know, just a few language syntax differences here and there. I want to create a C++ GUI application, and from what I researched, it sounds like using Qt and Qt Creator is a good place to start.

So, is using Qt and Qt Creator a good/decent way to start to learn C++ GUI programming or should I do it some other way?

share|improve this question
add comment

closed as off-topic by Glenn Nelson, mattnz, MichaelT, gnat, GlenH7 Jul 17 '13 at 2:22

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions asking us to recommend a tool, library or favorite off-site resource are off-topic for Programmers as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it." – Glenn Nelson, mattnz, MichaelT, gnat, GlenH7
If this question can be reworded to fit the rules in the help center, please edit the question.

1 Answer

I (as a PHP and C# programmer initially) who have been learning C++ for the last three years, would without a doubt recommend that you start with the basics of C++ tbh. PHP is nowhere near C++, as well as Java. Java and C# are more alike, as they introduce garbage collection, no pointer arithmetic etc. There is so much basic ground and principles to cover in C++, before starting.

I would personally recommend that you invest as much time as you can by going through a (or more) "C++ for dummies" books, and when you feel you're getting a good grasp of it, I would also recommend reading "Efficient C++" and "More efficient C++" by Scott Meyers. On the surface C++ could definetly look easy enough, but there is so much details and "hidden" rules that you definetly need to know about.

If you start writing a GUI (for which platform?) in c++ now, without this knowledge, you are absolutely going to end up with a memory leaking and probably slow program. I'm only sincere and honest with you here. Not trying to break your spirit, rather "guide" you towards a more fail-safe approach to learning C++. If you only trial and error from the get-go, I can imagine you adopt "bad-code" techniques, and could possibly get demoralized when things are not going as you want to, because of aspects of C++ you do not know.

This is spoken from experience of that kind of approach.

So, my suggestion; start from scratch when learning C++ when you come from Java/PHP, as they are extremely different.

To answer the question at hand though: It depends on what platforms you want to target. Have a look at this answer though: http://stackoverflow.com/questions/115045/good-c-gui-library-for-windows

share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.