In case you’ve missed it, the series starts with step 0.
When I became interested in KDE development some years ago, it wasn’t very easy to find out how to start. I found a KDevelop tutorial and learned a little about C++, but that’s pretty much it. Soon other things in life took over, and I returned to just watch KDE’s progress through the Dot and Planet KDE.
This summer, when I finally have a lot of free time, I want to start over. This means that “The Road to KDE Devland” series should suit you even if you don’t have any prior knowledge about C++ or programming in general.
Nowadays there’s a natural starting point for soon-to-be developers:
Here are two articles to get you started:
From the first link, you can read “KDE is mostly written in C++. If you are not familiar with C++, you should do at least some work on it” and “To become proficient with KDE coding, you should understand the Qt toolkit”. Although other languages are supported, I’ll only focus on C++/Qt.
So the plan is simple: first I’ll learn C++, then Qt and ultimately get familiar with KDE coding. When you come to Qt, make sure it’s Qt4 and not Qt3 as there are some major differences. I think most people would highly recommend to skip Qt3 and start directly with Qt4.
There are a lot of useful links in the two TechBase articles I linked to earlier. Here are some additional links that you might find useful:
- Qt Tutorial – For unknown reasons, this tutorial isn’t listed anymore. I think it gives you a good introduction to Qt, and the final application (a game) is pretty cute. :)
- An Introduction to Design Patterns in C++ and Qt 4 – Free online version
- Learn Qt – Relative new site with tips and tricks, tutorials etc.
- Qt4 tutorial for absolute beginners – I haven’t used it myself. If you aren’t afraid of screenshots from Windows, maybe it’s worth a try
Personally I prefer real books, even if there are free e-books available. Which brings me to the next section…
Below are the books I use. They are by no means the “best”, they just happen to be the ones I choose.
- Sams Teach Yourself C++ in 21 Days – Seems like a good introduction to C++
- Accelerated C++: Practical Programming by Example – Takes a different approach to teach C++, which I thought sounded interesting. Instead of introducing language features with examples, it presents problems and doesn’t hesitate to use the Standard Library to solve them
- C++ GUI Programming with Qt 4 – The official Qt book
- The Book of Qt 4: The Art of Building Qt Applications – Hopefully a good complement to the first Qt book; more about it below
(Note: I own the 5th edition of Sams Teach Yourself C++ in 21 Days and 1st edition of the other books).
When skimming through C++ GUI Programming with Qt 4, I found that it picked up pace and soon left me in the dust with the spreadsheet example. For that reason, I wanted another Qt book as a complement. I also considered getting Foundations of Qt Development, but bought the other book instead because of some good reviews.
If you have your own tips (online resources, books etc.), please share them in the comments section.
Now, the journey has truly begun – in the next step, I’ve hopefully started with the actual programming. See you then!