Thursday, November 30, 2006

The Way of Unix

I'm enjoying my life! Switching to Linux was an excellent idea. I'm just regretting why I didn't do this earlier (I had been thinking about this for more than a year!). In many books I had read how things in Unix are, and it was all like a mystery. Now I am really experiencing the way of Unix in Linux. How is it different, you ask? My answer: Although there are a *lot* of differences, the most important thing, in my opinion, is you must learn before you can do anything. Learning is essential. For example, in my first days in Linux I made a complete mess with my package manager and a large number of packages. Many programs simply stopped working. It took me a lot of time to figure out what's wrong and a few days to fix everything. But now I know much more than before. What would I do in Windows to fix such thing? A simple reinstall! Yes, simple it is, but does it teach you not to make the same mistake again? Apparently not. And that's why many people keep reinstalling Windows every few weeks (or even more, sometimes much more).

Now that I'm talking about Linux making people learn, I remember part of Eric Raymond's How to Become a Hacker in which he says about Unix-like systems: "'ll have fun, and you'll soak up more knowledge than you realize you're learning until you look back on it as a master hacker." Now I don't mean that I've become a master hacker, but I'm beginning to realize.

Another thing I'm really enjoying in Linux is that automating tasks is a whole lot easier. There are a lot of powerful scripting languages and the whole system is much more scriptable. I learned that in Linux the solution of many problems I might have to install a program for in Windows, is a small script. A script is a program, and what else is more enjoyable for a programmer than writing programs for everyday tasks?

Unix, and today's Unix-like systems like Linux, are a dream world for a programmer. If you enjoy programming and you're still stuck to Windows, you're probably missing the most enjoyable environment a programmer can ever have.

No comments: