An Introduction to Greatest Features of Linux
Why geeks like it: Linux is, if not the most advanced OS out there, at least among the most advanced operating systems. It's technically superior to many other OS'es, like the infamous Redmond OS.
What it means in real life: Linux is just so goddamn hard to learn, install, use and configure. Especially configure..
Linux is Secure : You can customize Linux exactly to your liking. You can make it work exactly the way you want, and on the platform you want. You can also optimize your Linux system for your very own hardware, so you can run Linux faster and get every drops of performance squeezed out of your box.
Its not hacked : Linux has many features that protect your system from both intruders (h4x0rz, 5cr1p7 k1dd13z, viruses, and so on) and stupid users (you, for example, or your wife).
The Linux community is there to help you
Firstly, Linux users form a tight community. There are numerous chat rooms, mailing lists and discussion forums with many knowledgeable people who can help you with your problems. What's best, these people are volunteers and don't charge anything for helping you!
Secondly, There is no official, commercial support for Linux, so you have to rely on the other Linux users if you need help. You go to a Linux discussion forum full of geeks who are full of themselves because they're so 1337 they know how to use Linux. You ask a very basic newbie question, and one of those 1337 Linux h4x0rz tells you to RTFM. Then you spend the rest of the day trying to find out what RTFM means
Great For Programmers
Firstly, Software dependencies is an excellent thing because it helps you keep things small and simple. For instance, suppose programs A, B and C all share a common piece of code. To prevent people from re-inventing the wheel, it's better to take that common piece of code and put it into file X. Now, instead of programming the code directly into programs A, B and C, the programmers can just refer to file X. This helps keeping the size of the programs smaller.
Secondly,: You want to install program A. When trying to install it, you're told that program A needs program B and file X to work. You spend a good amount of time looking all over the internet for program B and file X. Then you install file X and try to install program B and you're told that program B needs program C and files Y and Z to work.
Then you spend, again, a good amount of time on the internet looking for files Y and Z and program C. You find the files, install file Y and try to install file Z. When installing, you're told that file Z conflicts with file W that is already installed on your system. When trying to remove file W, you're told that your favorite program, program D, needs file W in order to work. If you remove file W, you must also remove progam D and all the other files and programs that need them.
You're also trying to install program C that was needed in order to install program B. You're told that program C needs the libraries of Desktop Environment Q, and that you have those libraries but they're too old so you need to upgrade them. If you upgrade, your Desktop Environment Q and all the programs that use the Q files stop working unless you upgrade them, too.