In case you’ve missed it, the series starts with step 0.
Preparations
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.
Starting point
Nowadays there’s a natural starting point for soon-to-be developers:
Here are two articles to get you started:
Planning
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.
Online Resources
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:
C++
Qt
- 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…
Books
There are a lot of good C++ books, so I won’t list them all – a Google search should get you on track. As for books on Qt, you can find a list here.
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!
July 19, 2009 at 19:28
[…] The Road to KDE Devland – step 1 « Who Says Penguins Can’t Fly? […]
July 19, 2009 at 20:40
Python hackers should find the “official” PyQt book useful when getting started with Qt:
http://www.qtrac.eu/pyqtbook.html
July 19, 2009 at 20:57
[…] The Road to KDE Devland – step 1 « Who Says Penguins Can’t Fly? […]
July 19, 2009 at 21:05
[…] The Road to KDE Devland – step 1 « Who Says Penguins Can’t Fly? […]
July 19, 2009 at 21:07
[…] The Road to KDE Devland – step 1 « Who Says Penguins Can’t Fly? […]
July 19, 2009 at 23:48
@David Boddie I bought that book and it’s very helpful, although you need to have a decent understanding of Python before reading it.
July 19, 2009 at 23:52
@David Boddie: Thanks for the link. I’ve edited the post to reflect that you can use other languages to develop for KDE too.
July 20, 2009 at 0:39
Loving this – I’ve got the Accelerated C++ book but no time at all to start reading it. I’m in my summer too but absolutely stuffed with other things. Perhaps I should also start up a blog series?
July 20, 2009 at 0:42
The book written by C++-writer Bjarne Stroustrup himself is also very recommendable in my opinion.
July 20, 2009 at 0:58
@Luca: The book starts off with a quick introduction to Python, though it’s obviously easier to get going with the later chapters if you already know the language well.
July 20, 2009 at 3:28
Accelerated C++ is a great book – highly recommended.
It’s easy to follow and logically structured. The website with sample code for the exercises is here: http://www.acceleratedcpp.com/
July 20, 2009 at 10:01
It’s been a while since I wanted to become a KDE developer. This guide is a very good initiative.
I think I’m gonna follow your road ! Meet you at the next step and thank you for sharing the experience !
July 23, 2009 at 3:17
[…] KDE 4.x discussion thread Quick blog post for those interested in learning KDE/QT development: The Road to KDE Devland – step 1 Who Says Penguins Can’t Fly? Visit KDE TechBase @DarkStar: you still doing some sort KDE/QT […]
July 26, 2009 at 17:18
[…] to KDE devland Step 0 Road to KDE devland Step 1 Road to KDE devland Step […]
July 26, 2009 at 18:13
[…] to KDE devland Step 0 Road to KDE devland Step 1 Road to KDE devland Step […]