#Day1: Qt is the chosen one!

#Day1: Qt is the chosen one!

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!

Why 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.

Later I shift to use Linux Mint, And one of the things I created was the APTSourcesManager using also python.

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.

bymecoffe.png Thank you for your support!