Here's an extended list of Mac vs PC commercials. If your IT staff proves resistant to blatant advertising tricks you'll have to dig deeper, please read on.
The story behind the post
At work I've received a series of hand me downs after my windows xp system croaked a couple of years ago. Yeah I know what you may be thinking, Windows XP? If there's one thing my company can't be accused of, it's upgrading too often.
My first instinct for a replacement system in 2009 was a top end desktop running Ubuntu, but I discovered due to licensing and company compatibility it would be difficult. RedHat with a virtual machine would be more amenable to our corporate systems, but still a pain in the ass for our IT staff who's valuable time I respect (I have served on and off as a part time IT member during my time at the company).
Virtual machines such as Parallels, Virtual Box, or VMware for Mac OS X enable running windows applications to support compatibility with legacy systems (virtual machine comparison). It will require some planning on the part of IT to automate updates across company, native systems and virtual machines (they're likely already doing so). Implementing a cross platform/VM configuration process is an unavoidable cost, as I doubt that one uniform operating system will dominate enterprise computer networks in the coming decade the way windows has done so historically.
Linux and other unix variants (BSD) are ubiquitous for web development platforms. Mac OS X is the developer and design operating system of choice among many talented professionals. Often times windows support will come later (or never) compared to *nix alternatives. A strong advantage of compiling source and scripting tools on Mac OS X, is that the transition from OS X to other unix systems is usually simpler than from Windows to any flavor of *nix or vice versa (with cygwin/mingw).
This year I'm up for a replacement to my desktop system at work. After completing the conversion to Apple last year at home, I decided it would also serve as the ideal work system. I transitioned my home desktop from Ubuntu 10.04 to Mac OS X Snow Leopard and really enjoy the polished interface, system stability, and ease of installations for development and practical home software (Homebrew helped). My recent experience with Apple systems makes them far and away the best computers I've ever had the pleasure of using for a variety of applications (development, design, gaming, web browsing, and reading). For reference our current Apple systems include iPhones for my wife Michelle (3Gs) and I (4, without a plan), iMacs for both us (22" & 27" dual core standard systems), a MacMini (latest gen) and iPad in the living room, and a Macbook Air (fully loaded, configured identically to my iMac, and tuned for development).
What makes me an authority on personal computers
For starters, I've been using personal computers my entire life. After growing up with DOS and Basic, I continually worked with changing computer systems through school and on the job. I have always had at least one latest gen personal computer at home for practical use. I'm familiar with many shapes and forms of operating systems, popular software and programming languages. For me personal computers are not just a hobby or a career, they are part of who I am.
A stroll down memory lane, my first memory of personal computers
My personal computing experience began in December 1984 when I was 10 years old. I bugged my parents incessantly for months about wanting a home computer, but for the life of me I can't recall why I wanted one so badly. My folks acquiesced (thanks mom and pop) and gave my brother and I a TI 99/4a for Christmas. Back then I was just as picky with computer systems, when I opened the gift my immediate reaction was, "it's not a commodore 64".
The killer app for the TI99 wasn't the action game Alpiner nor the space shooter Parsec, and not even the mind bending text game Adventure (go ahead and play it online). It was the Basic editor. My brother and I transcribed text based ascii games into the system programming Basic, before either of us knew what coding was. We saved our work to an external cassette tape drive and really enjoyed modifying our own games based on what we could find in books.
The next system we had at home was an IBM PC clone from AT&T that my father brought home from work. I believe it was designed and patterned on the IBM PCjr (pc junior) format which is the image embedded above. This is my first experience running a pc with Microsoft OS, MS DOS 2.1. Our coding language of choice was GW Basic. The memory I have singed into my subconscious of this system is my first painful experience with data loss. After struggling with writing a long, boring paper for English in junior high school I left the 5.25" floppy where it was stored next to the chandelier in the dining room. Needless to say, the disk melted and early the next morning I had to rewrite the paper from memory.
Our next system was Tandy 1000HX running DOS 2.11, but we'd boot it up with 3.5" floppy into DOS 3.0.
I was simply blown away by the game Champions of Krynn along with it's hypnotic intro midi music after being a D&D geek for years and reading the Chronicles and Legends. Around this time PC gaming superseded my programming knowledge. Graphics were always a bit tricky but the combination of 8 bit graphics (OMG) and midi sound was too much for me to wrap my head around while busy being an adolescent.
Before graduating high school, I was fortunate to score several local scholarships. I decided the best way to invest the money was to buy an updated personal computer, and it was time for me to experience the joy of a hard drive. While the KLH 195 provided me with many hours of gaming joy (Warlords and Wing Commander), it was also the first Windows OS I ever ran. Windows (2.1/3.0) was a big shift in interface to the command line DOS formats I was familiar with, although I could swap to a DOS prompt as needed. I didn't use much in the way of business applications beyond the default word processor Notepad or Paintbrush, but they were certainly a big change. Programming on the KLH felt more disconnected than on earlier systems, although I did some light Basic coding.
College has a way of beginning the time warp that accelerates as you grow older. Years past and I got my first taste of Lynx and the Web at the University of Stony Brook. At Stony Brook in the early 1990s we used black green screened terminals connecting to a flavor of unix system, BSD. It was in the Library and Computer Science labs that I began my long courtship with c. My first c program was a summer project I picked out for myself. It was a 6 node neural network using back propagation. It mimicked a sine function pretty well but it was a big challenge to get past the picky compiler ;). A year earlier in the Physics department we used PCs with True Basic to support experiments in Junior and Senior Lab, which I found more user friendly.
My professional career started out with a terminal connected to an office SGI Indigo. It was in this environment that I really began learning c and c++ by working with simulations and designing libraries and applications. One of my first projects was a distributed simulation that leveraged thinly wrapped OS sockets to direct the simulation number crunching, analysis and display elements via a control panel.
Windows, Windows, Windows
From that point until very recently Windows desktops have dominated our work environment. My technical manager at the time was the first to push forward with a Micron PC and I was able to get a second identical system in our division. Our transition from SGIs then, reminds me how important it is for a tech company of any size to aggressively embrace the changing landscape of personal computers. It won't be long before our customers demand we deliver presentations and software compatible with Mac OS X (we've had several Linux software deliveries over the years). At the moment we simply aren't prepared to do so.
As always, I'd appreciate your comments and suggestions.