I buy macs for two reasons. They are 1) Cocoa and 2) AltiVec. Aqua is nice, but I do not care enough about the GUI to install a specific OS or window manager for the GUI. I only use Linux on x86 boxes when I need a POSIX environment on which to run a server on which I must use Java. This usually means that I am running Tomcat and apache. Otherwise, I run Darwin or BeOS.
I have somewhere in the area of 20 PCs, with speeds from 333 MHz to 1.2 GHz single processor configurations and several multiprocessor machines ranging from Dual PIII 550 MHz to Quad Xeon boxes with several GB RAM. I use these machines for very processor intensive computational mathematics and data processing on a distributed architecture. I write the code mostly in Java and C++ on Intel boxes, UltraSparc machines, etc.
Many years ago, I had the chance to develop some early versions of my architecture on a NeXT box. NeXT stopped producing hardware, and NeXTStep became available for use on my UltraSparc boxes and on my (hated) NT systems. I purchased a copy of NeXTStep and WebObjects, and installed it on one of my NT boxes. Once I got used to writing Objective-C code on a Windows box, I was amazed at how productive I was. The Enterprise connectivity from WebObjects to SQL Server was incredible.
Last year, I purchased a copy of OS X to run on my iMac DV 400. I was excited to try out the Cocoa development environment, and to find out if Project Builder and Interface Builder were still as elegant as they had been in the past. I was amazed. Programming in Cocoa was fantastic. I could write and compile my Java code and then transfer it to my Windows, Linux, and Solaris machines without modification. I could also write Objective-C, C, or C++ code to optimize the bottlenecks in my Java code and from within one project, I could build to a second target and build Java/Objective-C projects to run on my iMac. There were a few bumps in the road at first, but I soon learned how to develop these hybrid projects very quickly.
I spent $3,500 on a Dual G4 533 DA with 1.25 GB RAM. I did not intend to use this as a production server, but soon found that the C++ and Objective-C portions of my projects ran incredibly fast on my new mac. The IO code in Java was quite slow, but I found that the rest of my Java code ran quite well on the mac as well.
I have now completely replaced my x86 machines for development with Macs. I now have five Macs, four of which run OS X. I will soon sell my Proliant boxes and purchase XServe machines. Before I start my next major project, I will rewrite my core C code to use AltiVec instructions, and expect to have even better performance.
My contracts are billed based on development time and also based on the hardware my clients have to purchase to process a given set of data in a given period of time. When given the choice, some of them choose to keep their x86 hardware. This does not bother me. The development cost difference is minimal. I write the UI and presentation side of these projects in Java, either as applications or as servlets. The network client and server sockets are usually Java based. When they migrate to Macs, both the network infrastructure and the UI code will move over quite nicely. The hardcore number crunching code is usually a combination of ANSI C, C++, and Objective C compiled using gcc 3.x. Once again, this moves over quite well, as OS X uses a fairly standard gcc build. This being said, 10% of my development cost is usually included so that when clients migrate, I have already been paid to make the small number of modifications needed to move their code over to cocoa.
The hardware cost savings are usually what convinces a client to choose deployment on macs, rather than PCs. I do not require that my clients select the hardware for deployment until after the software bid has been accepted, the project has been designed, and the initial test harness has been built. It is an incredible experience to run a few hundred sample calculations on a year old desktop box purchased in the last two years for $3500 and substantially outperform a quad Xeon box which was purchased within the same time frame for $65,000. Now that the XServe is available, my clients can actually have even better performance (L3 cache!!!!) for about the same price as my desktop Dual G4, and have that machine in the Rack (1U) with the rest of their IT investment.
I am sorry to be so verbose. I care passionately about this.
Feel free to send your friend a copy of this post. He should also read a few articles on the scientific computing projects out there being done for a fraction of their previous cost after being ported to run on a G4 desktop or laptop. These articles can be easily found on the apple website.
Good luck.