A couple of weeks ago I finished reading The Unix Programming Environment, written by Brian W. Kernighan and Rob Pike. The main reason that I picked up this classic book was to learn more about the fundamentals of Unix. I must say that this book is an excellent guide to start learning more about this widespread operating system.
Ever since I started my programming career, I had this on and off relationship with Linux. There were times that I wanted to turn my back on Windows entirely and make the jump. Then there were also times that I couldn’t care less about Linux. But when I started playing with CouchDB and especially Node.js, this fascination for the other side has been growing steadily. In fact, I kind of made a small jump already. All of the code that I’ve developed during my spare time for the past 14 months have been hacked together on a Linux VM.
I don’t want you to fall into the impression that Windows is a bad operating system either, quite on the contrary. I’ve been doing professional software development on Windows for more than 12 years now and I still believe that it’s a rock solid operating system. Why am I not solely sticking to software development on Windows then? Well, for the simple reason that I’ve always had this nagging feeling that I’ve been missing out by not learning equally as much about Linux as I learned the past 12 years about Windows. So I kind of suspect that I’ll be running Windows in a VM on a Linux host in the not too distant future. I’m quite fascinated and determined to find my way in this mostly unknown environment.
Anyway, back to the book. There are basically two major parts in this book. The first part deals with the basics, the file system, the shell and an introduction to sed & awk. The second part discusses more advanced topics like shell programming, programming standard I/O and Unix system calls which I skipped entirely (for now). By completely focusing on the first part, I learned quite some stuff and also relearned a few things from the past.
The only thing that bothered me about this book is that its quite boring. The book was originally published in 1984. Perhaps authors of technical books from back then were not supposed to have an entertaining writing style. I’m not sure. I was probably too busy playing with Legos at the time to notice ;-).
I now realize that I have quite a long journey ahead of me. Good thing that I started this path sooner than later.
Until next time.
PS: I recently switched from Shelfari to GoodReads and I’m quite liking it so far. Just let me know if you have some interesting books to share.