Warning, this is quite a geeky post.
I moved to the Mac platform a few years back after slumming it in Windows since I was about 8 years old. Before committing to OS X I fiddled with Linux for a few months, Ubuntu was my distro of choice. It was Ubuntu that opened my eyes to the *nix world and the OS below the GUI.
As a Windows user you don’t really think too much about the backend of Applications or the underlying OS because everything’s tightly bolted to the GUI. Its hard to imagine administering or using Windows from a CLI apart from dabbling around in Command Prompt or running Recovery mode to run CHKDSK on a corrupt volume that won’t boot.
With Windows the power balance is definitely weighted towards the GUI with 90% of the OS’s power being accessed graphically. When I switched to Ubuntu (7.10) it was no where near as mature as it is today. Lots of hacks were required to get it up and running properly, X failed to start upon a clean install due to my fruity graphics card and I spent a lot of time in front of a black and white screen with text scrolling away, typing cryptic commands from the internet that I didn’t understand one jot. It was hell, however I persisted until I got my brown themed Ubuntu Gnome desktop loaded.
With my nice new Microsoft free OS loaded I thought it was time to find some cool things from the net to install. A good 90% of the software I came across involved the terminal to install, it was all fairly painless just copying and pasting the text and watching the text whizz by and most of the time getting the result I wanted. However it was at this point that I realised that this was something very different to what I was used to, the power balance had changed, the CLI was king here.
I started to learn some of the common commands and programs used in the Terminal; CD, APT-GET, Touch and Cat. This clarified a lot of what was going on ‘Under the Hood’ for me, it was no longer just random text. This often lead to me achieving a lot of daily tasks quicker typing than I could in the GUI.
Then I made the switch to a Mac. This changed everything, again! I fell back in love the the GUI. Mac OS X had an elegance about it that Windows or Gnome (The Ubuntu GUI) could only dream of. At first sight it was GUI all the way, even the boot process is fully graphical thanks to the EFI. I knew OS X was Unix based but I didn’t feel the need touch the CLI for months being content with my intuitive UI. I had gotten into photography quite a bit at the time as well so graphical apps were a necessity for editing photos.
After a few months I was required to set up a headless Linux server at work for a project I was working on. Coming back to the CLI the second time round was a piece of cake, I didn’t feel like I was in a foreign world. This made me want to give it a go on OS X. I got home, launched Terminal.app and started typing. Since the terminal defaults to the BASH working environment I felt right at home. I had the best of both worlds, an awesome GUI and my reliable CLI.
There isn’t a wrong way or a right way to do things, I just decide CLI or GUI depending on the task and which feels like the most natural fit. Now I’m used to both I couldn’t drop one for the other, I feel a loyalty to both.



