(this is pretty rantish, don't read if you're easily offended. I added the hamster pic from CuteOverload for no particular reason ^_^)
I've seen quite a few Linuces in my life. Most of the time I used Debian (unstable or later testing) or something based on Debian (kUbuntu). However, needing new Eclipse/Firefox/(million other things that weren't in anything Debian-based at that time) and having kinda broken my Ubuntu by mixing it with too many packages from Debian unstable, I decided to give Gentoo a try.
The good things
The most important one - Gentoo packages stuff much faster than Debian. Usually it has more and more recent packages than Debian, but there are a few exceptions (like dictd dictionaries).
Also, Gentoo has nice online documentation, Gentooers on IRC are usually more friendly and clueful than the average.
Lack of global packager lock is nice - I can install a small package in the middle of major system upgrade. In Debian, I had to wait for the upgrade to finish.
The not-so-good things
Initial install wasn't that bad. Sure it took about ten times longer than with other distros, but that's ok.
There are many quirks that are annoying but passable, like:
- Upgrading Perl (or Python etc.) means one has to reemerge all Perl libs by hand, or they won't be available in the new version. So emerge perl can break various installed programs. I think there is a message about that somewhere in the emerge output, but when more than one package is being upgraded at the same time, it will be lost in the flood of compiler messages.
- Lack of testing-like distribution. It's either x86 (kinda like Debian stable) or ~x86 (kinda like the original Debian unstable, before they got testing). So either I have to put up with very old packages or accept a high possibility of random breakages. Many ebuilds from ~x86 did not build on my system.
- Upgrades are really slow. Compiling is about 100 times slower than installing a binary package.
The bad thing
Gentoo doesn't have apt-get upgrade.
Gentoo does have emerge --av --update --newuse world, but it's not even close. It's about as far behind apt-get upgrade as Turbo Pascal is behind Ruby.
Now, the Gentooers (and Turbo Pascal users) deserve some explanation, as they probably don't believe me the difference is so big. So here it is.
apt-get upgrade checks all the packages in the system. Then, it checks those packages that can be upgraded without either breaking/uninstalling anything or installing anything fancy (other than trivial package rearrangment). Then it downloads and installs the upgrades. In the end, you have an upgraded system, and the packages that couldn't upgrade automatically are simply left in their original state. You can even add apt-get upgrade to the crontab. Every once in a while you spend about 30 seconds dealing with the packages apt doesn't upgrade automatically (which of course don't block the rest of the upgrade).
Let's compare it with emerge --av --update --newuse world. It checks all the packages in the system. Then it checks those packages that can be upgraded. So far so good. Now, if anything looks out of order - it tells you that it won't upgrade anything and thet you can go to hell. It cannot upgrade X, you have to uninstall them and install the new X. Because everything is being compiled on install, compilation can fail and it often does with ~x86. It can break your system (see above about Perl libraries). It takes forever, using a lot of CPU cycles. I don't think even one person has it added to crontab. Most Gentooers seem to have awfully out-of-date systems in spite of Gentoo packages often being more up-to-date than Debian's.
Now, excuse my rant and go back using your favourite distribution, whatever it is. I was simply annoyed by emerge and had to write something to calm down. ^_^