menu

my thoughts on coding on linux


First off, please don't just stick with command line coding. Linux needs GUI apps that don't suck. Let's talk about what you're gettin into...


the linux kernel itself

is magnificent and goes from one version to the next with grace and compatibility.

The problem is that everything above it does not.


the biggest problem

is that the EXT4 filesystem is case sensitive. That's great for the security of servers. But it falls on application developers to make Afile.txt and afile.txt behave the same for the user. Most of em don't. Still workin on that myself sigh.


another problem

is that distros do paths, packages, and shared libs (DLLs) differently. This is called a feature. It is one. But it's also a bug. Put those differences above common core desktops and shared libs. Not into em.

Let's say ya gotta simple c++ app. You compile it on kubuntu. Then ya copy the executable to fedora. What happens? Nothing. the app won't run with fedora's shared libs. Your app croaks.


flatpak

is the fancy overblown solution. Standardizing the shared libs and having APIs to call them properly. No recompile for every distro.

But instead of using the distro's shared libs, you have a whole extra set of em for your app. Users whine about bloat. Older apps will require even more extra sets. These extra sets are actually the distro's set and those of old apps. Not the one set that can be shared by all modern flatpak apps. (ok 2 - cuz GTK and Qt)

I predict that distros will realize flatpak will always be there. Build the distro with it! Old apps should fail until they're recompiled.


yet another problem

with linux desktops and apps is the assumeption that you're a sys admin who loooves settings. Tons.

And terrible default settings - I'm lookin at you gimp. Instead of using the most common setting as default, the most archaic is used. The very first setting in the history of the app (usually a lame one). Come on.


and another problem

is that linux docs are terrible. why? because they're written by developers. aaand do you enjoy writing docs? yeah. thought so.


don't run away!

unlike windows' problems, linux's problems are actively being fixed.
we used to have xwindows - a display server of the unixes of the 1970s! Tons of problems. But wayland has finally replaced it.
we have flatpak now - every app used to be compiled for eeevery distro.
the distros have made progress in being more compatible.


That's an ok summary of the bad stuff. Now let's talk about your path forward - your development path.


to code ya gotta

decide between the 2 GUI libs - Qt or GTK. I think Qt sucks way less. It'll also run on windows - but don't waste your time with that.
let's setup your dev environment.
install qtcreator - done.

ok ok no you're not.


► next     ◤ home