Showing posts with label office. Show all posts
Showing posts with label office. Show all posts

Monday, January 4, 2010

Living Mac, Working Windows

I spent most of my career working on Microsoft Windows-based PC's - programming superb Excel macros, but enduring the endless maintenance, system crashes and sketchy security that all PC owners must put up with.  I envied those with Macintosh laptops and their 6 hour batteries, complete lack of viruses, and beautiful hardware, with just about all the productivity software you could ever want pre-installed!  Unfortunately, the business world of which I was a part uses Excel on Windows.  I could not leave Windows because of the need to maintain file compatibility with my client base.

When Apple announced the Intel-based Macs, and the ability to run Windows through virtualization, I made the jump with enthusiasm.  Suddenly, my personal computing experience transformed from constant discomfort to effortless joy - no exaggeration!  For a while I thought I'd even be able to do my work in Excel for Mac, as the 2003 version supported VBA, but it was not really 100% compatible, and VBA has been removed from the latest Mac Office, to the dismay of switchers everywhere!  (Microsoft claimed that the new Mac Office 2008 required such a complete re-write that it would be impossible to update the VBA engine... Of course, if they had more that 3 programmers on the job it might be feasible, but we all know how much Mr. Balmer and Co. care about supporting the Apple platform.)

But using Parallels, (or VMWare Fusion, which I hear is also excellent) one can run Windows XP along side the usual Macintosh applications.   Now I can develop Excel macros in the latest version of Excel for Windows, knowing that my code will run on my clients' computers, while still enjoying the superior personal computing experience that only Macs can give.  Switching between the two OS's is instantaneous - no reboot is required.  If you run dual monitors, you can even show them both side-by-side.

My computer is the tool of my trade - it must be enjoyable to use every day, or else the trade becomes a painful chore.  Thanks Parallels (and Apple, and MS Office 2003 for Windows), for allowing me to have the best of both worlds.  Instead of quarterly OS re-installs, shoddy shareware, and Outlook viruses, I have Garage Band, bluetooth iPhone tethering, a mag-safe power cord, and a lighted keyboard!  If you have the option, I strongly recommend porting your life (if not your business software) to Mac.


Sunday, December 13, 2009

Why Excel?

When asked why I develop in Excel, the answer usually contains one or more of the following points:

1. It's the most powerful platform available
The spreadsheet as a design paradigm is incredibly powerful, which is why Excel has become THE standard business application - used throughout the world for the past 18 years with no signs of ever fading away. The cells, rows and columns provide a great scaffold for your data, charts and text. The spreadsheet provides an elegant data entry, data storage, calculation and transformation infrastructure, and contains everything you need to support just about any complex business functionality imaginable.

2. It's high-level
One of Excel's greatest features as a development environment is all the built-in functionality you get. The Excel object model is comprehensive and well-documented. Integration with other Office applications is seamless (well, since 2000 it's been pretty stable.) Want to generate a report? Just lay out the worksheet the way you want up front, drop the data in, and you're done. 10 lines of code in VBA, using Excel's standard interface, can take the place of several hundred lines of standard Visual Basic code (or several thousand lines of C++.)

3. Everybody's using it
There aren't very many Windows PC's in the business community that don't have Office installed. Kids are learning to use Excel in schools, and most people use it in some aspect of their work, from data entry clerks to CFOs. The XLS file format is viewable on every operating system that supports e-mail attachments, including most cell phones. In short, Excel is, without a doubt, the most popular application in the business world. It was Lotus 1-2-3 on the IBM PC which enabled the Business PC revolution, and Microsoft created Excel in Lotus' image.

4. It's a known entity
Along the lines of number 3 above, Excel is already on just about every business desktop, so you don't need to install anything on the corporate network when you deliver a solution to a company. It's easy to send an XLS file attachment to a customer by email, but asking them to download and install an executible file is another matter - probably won't be allowed at all in a major corporate environment like a bank.

5. It's well supported in the community
For developers, you can be reasonably sure someone else has already done what you're trying to do, and has worked out the tricky parts for you. Bugs in Excel are well known and workarounds abound. Forums, support groups and blogs such as this one provide an incredible wealth of knowledge for beginning and seasoned developers alike.

There are many other good reasons to develop in Excel - what are yours?