Today I will start my journey with #100daysofcode challenge with Qt!
Yes, I Am already in Qt but I will use this opportunity to refresh and learn more and document my journey to help others to learn Qt plus I will use it to improve my English writing!
If you are new to learn programming languages, of course, you will find hundreds of recommended programming languages / Frameworks and tools to start with. My Advice just avoids all the programming languages holy wars and starts to choose the language which fits for your work/passion/interest and whatever gonna help you complete the required job!
No One should force you to choose but you can get to know why people using such a tool or language you may have the same reasons or goals.
So let us start why I have chosen Qt!
First of all, I did not study IT/Programming or computer science in general, I just started programming as a hobby to solve my issues and automate my Linux setup.
When I started using Linux the first time in 2006 started with ubnutu, I could not find any Video Converter to convert my Real Media Videos from Windows to Linux, while of course ffmpeg was there to help but in the terminal. So I started working on building a GUI Application for FFMPEG called divx converter using python which was my first programming language to start with.
But later while using Linux at that time rpm package was the most used package manager for a lot of commercial packages so I made a Package Converter to convert rpm to debain Package used in ubuntu and Linux mint, I used a new framework called Real Basic which was Free in Linux at that time and I got the benefits of full Framework tools to use. And I have developed a few other Applications with both Python and real-basic.
Later Real Basic changed the brand and not free anymore and python as it's too easy I just got tired to set the full development environment and choose the IDE and other tools, that's where I start looking for something new.
What do I need in my new Programming Language / Framework?
- Full Framework has all the basic tools and modules like the IDE.
- Multi-Platform Support and that time mean the three desktop OS. ie: Linux, Windows and Mac OS.
- Low Level where I can go deep and help me to get to system tools and functions when needed.
- Free / Open Source where I do not have to fall to the same issue I had with REALbasic.
- Famous and widely used and good documentation.
- GUI and console application support.
And here I found Qt and start to learn it and use it as my primary DEV Framework Why?
- Qt is a full framework for GUI / Network / Database / Graphics and so on.
- Qt is a multi-platform where it supports all Desktop OS's and Embedded and Mobile and soon the web!
- Qt is the C++ framework and adds more macros and modules which make C++ easy and enjoyable and that's what I will explain tomorrow.
- Qt is Free / Open Source and Protected by Open Governance and is being used by KDE and a lot of open source applications.
- Qt is Widely used by Many Big Companies and It has the best documentation and many books.
- Qt Support Console Apps and GUI Apps using two Great Toolkits for Desktops and Mobiles!
To understand the full history of Qt and what is the difference between it and C++ and how it developed please read those resources:
We will be talking about those in detail in the coming days. And by tomorrow I will start sharing my journey with Qt.