sometimes, if I want to install a program from the terminal, I get 2 options: apt and snap.
It can happen that the displayed versions are not the same, one candidate shows a higher version number than the other.
Do both libraries use the same numbering system and is it safe to assume that the higher the version number is, the newer the program is and one should only consider this variable to install new stuff?
TL;DR: there’s no inherent difference. Snaps are newer the more time has passed since you installed a major operating system update. Newer is often better, but not always. Pick whatever you prefer.
The version numbers themselves generally follow the same format. Snaps don’t technically need to follow the apt version patterns, but often do for convenience. They usually use semantic versioning, so 2.0 is newer than 2.1, but 2.10.1 is newer than 2.2.99 (you need to read them as separate numbers, from left to right, not as decimal numbers!).
apt packages are generally stable versions. They get a major version bump every time your OS gets a major update, but generally stay on the same major version until the next major update. This way, no updates will suddenly leave you with a broken configuration.
Ubuntu released a major update last month, so if you have that version, most packages are relatively new. However, all the apt packages that this release came with will stay on the same major version for the next ten years. For things like browsers, this is a problem. For professional workstations, this may be exactly what you want.
Snap packages are maintained separately. They can be newer, older, or the same version. Snap is an alternative method of distributing applications that Canonical, the company behind Ubuntu, really wants people to use. Most likely because they own the Snap Store and use it to sell services to businesses, so the more people using that, the larger their potential customer base.
There are apt packages not maintained by distributions that do regular major updates. Mozilla, for instance, has a repository of packages for Firefox that receive regular updates, as Ubuntu has removed the Firefox apt packages and redirected them to Snap packages instead (which sparked some wold controversy in Linux communities online).
In my personal experiences, snaps still cause slowdowns on boot/first load if you install too many of them. They’re also limited in other ways (i.e. restricting where applications can save files).
Lastly, there’s a third common method for distributing applications: Flatpak. Flatpaks are a bit like Snaps, but built differently, in a less centralised way. I prefer them over Snaps, but Ubuntu removed the ability to use them in their default software browser (again sparking controversy) so they may not be for you.
You can use all three. You can even use them to install multiple versions of the same application!
Fuck canonical, me and my homies use pop os and flatpaks