Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

So i just finished my first semester of college. In my intro to programming class we made a bunch of super interesting (sarcasm) console applications. Any suggestions on ways other than just messing around with console applications for a beginner C++ student to improve?

share|improve this question

closed as off-topic by MichaelT, GlenH7, Bart van Ingen Schenau, Kilian Foth, Dan Pichelman Jul 23 '14 at 14:45

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

  • "Questions about what language, technology, or project one should take up next are off topic on Programmers, as they can only attract subjective opinions for answers. There are too many individual factors behind the question to create answers that will have lasting value. You may be able to get help in The Whiteboard, our chat room." – GlenH7, Bart van Ingen Schenau, Kilian Foth, Dan Pichelman
If this question can be reworded to fit the rules in the help center, please edit the question.

up vote 5 down vote accepted

Know the feeling. I was frustrated at the same thing. Console applications aren't very interesting what with all that string reversing and linked lists, but at the same time there is no way I can argue with the other responses given.

To answer your question, pick a topic your interested in. Seeing as I learned C/C++ I headed in the direction of learning GTK+ and SDL. GTK+ should give you a good start on GUI and SDL on 2D graphics (this could lead onto opengl later on). I also recommend you going over beej's guide to networking (its a free online ebook), this should give you a start on networking.

share|improve this answer

Depends on what you mean by console apps, but there is nothing wrong with console applications to learn C++. It all depends on how complex they are.

You could try writing a gui app with something like QT, but then you'll spend most of the time learning the framework.

You could write a game in something like OpenGL, SDL etc.

The problem with C++ is that it is a huge step from simple stuff to something useful.

share|improve this answer
Qt is amazingly accessible. Just follow the tutorials and very soon you'll be writing your own small (but real) applications. – Javier Dec 19 '10 at 11:20
@Javier: Qt is accessible, but somewhat un-C++. Because Qt is object oriented with hacks to provide kind of introspection while modern C++ is more about functional and generic programming. – Jan Hudec Jul 23 '14 at 7:45

Console applications are the best ways to learn C++. And rather than learning advanced C++, better learn the data structures first. Once you learn list, tress, graph etc. then you will have much more option in console applications.

share|improve this answer
Second this. Speaking from experience, jumping straight into GUI programming gives a very superficial understanding of C++. Despite all its high-level abstractions, C++ is built on top of very low level abstractions and hence it's critical to know these basic building blocks in order to understand how the abstractions work and, more importantly, when these abstractions leak (as they will inevitably do so given its unsafe nature). – Rufflewind Jul 23 '14 at 3:43

Find an open source project you find interesting, and contribute. We love new contributors, and more experienced coders will be reviewing your patches and providing feedback. :)

share|improve this answer
+1. And don't forget the fact that you get to read other people's code, which is good way to learn new idioms and important skill in itself. – Jan Hudec Jul 23 '14 at 7:42

Console applications may seem boring but they are essential to the development of the programmers ability to think of solutions. The basics of programming are always overlooked these days with the shiny stuff. I still use console applications a lot to test out ideas before building the high-level stuff on them. Once you have become good at the low-level stuff, you become a programmer with better understanding and flexibility and also have good programming habits.

Try challenging problems each time. I would recommend you Cracking the Coding Interview by Gayle Laakmann to get challenging questions and insights. You are at the best time in your career to start building up on these fundamentals and polishing them up into being a great programmer some day. Good luck.

share|improve this answer

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