Codeblocks: free cross platform C++ IDE
So I finally made the decision to learn a new programming language. I started my career as a programmer back when I got my first C-64. After lots of gaming I decided it was time to create my own Football Manager in Basic. The project did not really went that far but I taught myself the basics in a matter of days.
Later on I dabbled a bit in Java, and then went full steam ahead in to the online world with HTML and PHP. I always wanted to learn C++ but never got around to it until now. I did order a book a couple of days ago and decided to spend at least an hour a day learning the programming language.
I first thought I could use Microsoft's Visual Studio as the IDE to code my stuff but this unfortunately did not work out as my Technet subscription did not include the editor at all. So, I went with the Open Source solution Codeblocks.
Codeblocks is a cross platform application that you can run on Windows, Linux and Mac systems which should cover the majority of computer users out there. Installation on Windows should not be a problem at all as binaries are provided for Windows users.
What you may run into then however is that you will be getting a missing compiler error when you start the program or try to build your projects. So, after some searching around I stumbled upon MinGW which you can use for that purpose. Just install the latest version of it on your system, restart Codeblock and it should be picked up automatically by the program. This is not the only compiler you can add to the program though, so if you prefer a different one it should be picked up automatically as well. It supports the likes of Borland C++ 5.5, MSVC++ or Digital Mars among others.
The program is easy to use even for a beginner. You can create a new project right away and use the toolbar or keyboard shortcuts to build and run it on your system. I can't really comment on how well it works if your programming gets complex though as I'm just a beginner and not an expert yet. Still, if you want to start learning the C++ language and are looking for an editor to assist you in that, I suggest you give it a try as it is well suited for that.
While we are at it. If you are already coding in C++, do you have any learning suggestions or resources? I'm grateful for any suggestion, be it a book, video, text tutorial, website, service, code snippets or whatever else you find useful in this regard.Advertisement
Code::Blocks is a really nice IDE. I regularly use it to do coding in C++ and Fortran (yes, people still use Fortran).
As for books, I’ve always liked the two “Thinking in C++” volumes by Bruce Eckel:
May I ask, though: Why did you decide to pick up C++? If I were to recommend a modern compiled systems programming language worth picking up on, my vote would go to Go (http://golang.org; IDE: https://code.google.com/p/golangide/; Introductory book: http://www.golang-book.com/).
I always wanted to learn it and I have a friend who coded in the language for a very long time which will help me when I’m stuck or need advice. I’m planing to get to know it and evolve from there. In the end, I’d like to code mobile apps as I have a couple of great ideas in this regard but I have not really looked into it that much yet.
You’re looking at the wrong language for mobile apps. :-) It’s Java for Android and Obj-C for iOS. I’ve always found that having a project to work on helps maintain motivation.
Java is only for Android and Obj-C if only for iOS.
C++ will work with Android, BlackBerry, iPhone, Windows Phone, and others.
What’s better, many C++ multimedia (and other) libs are already ported to mobile:
There are also portable C++ frameworks for mobile:
With other languages you may run into portability issues — for instance, GUI libs in “desktop Java”, like AWT or Swing, won’t be supported on Android:
Thanks for clarifying that.
It depends on whether you want to code on the sever-side or client/browser side. Many people dabble in each to decide. If you’re solid in HTML and PHP, you could expand in each area. CSS would be the next progression from HTML. PHP (based in C) will help you to learn JS. Or, once you are solid in CSS (targeting and selectors), you could next learn jQuery and then learn JS. Then, you could go from PHP to Ruby. There are 2 sources I really like. The “Teach Yourself Visually” softbound book series is great for CSS and HTML. Lynda.com is a great series for a lot of languages! Well worth the monthly fee. When I’m not coding in WordPress, but FTP instead, IMHO, nothing beats Dreamweaver. Initially, I learned a lot of HTML by switching from design to coding views. I love Sublime Text 2 as well–it has a lot of free add-on packages (beats the heck out of Notepad++). Good luck, Martin!
Thanks I will keep you all updated on how I progress.
I agree with Anthony Frazier about Visual Studio Express. Unless you want to do the very professional sort of coding, like the one done in large applications, you should be happy with Visual Studio Express. The free product is perfectly well for learning.
C++ has lots of good sources for learning, but if I was to select a book, I would select a Professional C++ book from Wrox Publications. I really like their C# book, and the C++ books should also be very good. They also have Beginner books available.