This comes up so often that it deserves a page on its own. **NEVER**, **EVER** ask computer people whether a software, hardware, program, platform, tool, etc. "is good" or "is better" than another. Not to mention "which is **the best**", which will really annoy the person you are asking. People sometimes seem to think that a "correct" and objective answer exists to these question, which is quite far from the reality. In fact, the only "correct" answer you can get to such questions is "it depends". Yes, I know that's probably not the answer you want, so please read on to find out how to get better answers. The single most important thing to keep in mind is that "good" MUST ALWAYS BE DEFINED IN RELATION TO WHAT YOU WANT TO ACCOMPLISH. You should consider what your goal is, and which constraints you have. Then, based on that, "good" may be defined as "meeting your requirements and obeying your constraints". "Good" and "better" are quite generic words that mean different things to different people. In no particular order, "good" when referring to computer things can mean: * fast * big and powerful (desktop hardware) * light and small (laptop hardware) * with a fancy GUI * with no GUI * cheap * expensive * consumes few resources (CPU, memory, disk space) * efficient * well documented * with a liberal license * open source * bloated and does many things * lightweight and does only one thing * customizable * familiar * cool * easy to use * easy to maintain * quick and dirty * available on many platforms * available on your platform * extendable * interoperable * compliant (to some specification) * understandable * works with your hardware * supported by most systems * supported by your system Please note that, despite their number, some of the qualities listed above are still quite generic and in many cases would need further clarification if occurring in a conversation, even (or especially) between geeks. So you should always explain your situation and the context in which you are moving. Silly example: a medium or low-end computer may be fine for people who use it only to run word processing software, but would be painfully slow and next to useless for people who use it for resource-intensive applications like graphics or games. Another example: is Perl better than awk? Sure, your friend told you that Perl is better, but maybe you need one week to learn it and then solve your problem in 5 minutes, while you're already familiar with awk and can write the code to solve your problem now, in 30 minutes. Or you're working in an embedded system, and Perl is not available there. So which is better then? Do you need another example? Here you go. Is Gnome better than Kde? Some people say that Gnome's interface is too simple and limited, while other people say that Kde's interface is confusing because of the high number of customizations and options it offers. Again, which is better? Hopefully, you're starting to realize that going to your techie friend and giving him a leaflet with some computer advertisement asking him "is this computer good?" is not going to make him happy. In the same way, entering an IRC channel asking "is X better than Y?" is going to get you indifference (if you're lucky), or downright rude answers from technical people who are tired of hearing always the same questions. So, at the very least, make sure that when you say "good" you always specify what you mean by "good" in your specific situation. Unfortunately, many people, when asked, simply don't know: "Ah well, I mean...you know...good." Nevertheless, you should really do an effort and try to find out: if you are not able to define "good" for your specific situation, how do you expect other people to know? So, how to find out? In many cases, it's enough to stop and think about your situation, taking into consideration your goals and your constraints. Then often you'll find that you question will not be "is X good?" anymore, but instead it will become something like "is X faster than Y on platform Z?", or "is X easy to use for an intermediate user?", or "is X customizable?", or "is X available for system Y, or should I use Z?". These are the questions that are likely to get good answers by technical people, because now you're clearly defining what you're talking about, instead of being generic and let them guess. If you're still clueless, at least say so and be polite when asking your question, and openly explain that you need help to find out what's "good" or "better" for you in your specific case. Many times, this attitude will make people ask you questions, answering which would make it possible for them to help you better and point you in the right direction.
Summary:
This change is a minor edit.
Username: