R
RMZ
This may come across as a trolling message, it's not ment to be. It's
intended to share a recent experience I had with Mac OS in an
entertaining way. I'm doing this because I love technology in general
and most programmers I know are passionate about technology,
unfortunately many of them stay away from Mac. Some as if it's the
forbidden fruit (you know you're out there) and others because they
think it's OS for people who aren't intelligent enough "to use a real
computer" as someone recently put it to me. I admit I was one of these
people less than two years ago, but I've found Mac OS to be, frankly
the most power desktop OS I've played with or tried to develop for.
The word "Magic" isn't a perfect fit, bit it's the first word that
comes to mind (Chuck Palahniuk, that's for you).
So I recently had the opportunity to toy around with a Pystar System,
if you are not familiar with this company they produce a generic $399
bare-bones PC capable of running Mac OS retail version without
requiring an OS loader hack. (yes, I know about the legal issues with
their license agreement and doing this, i'm not promoting Pystar and
when I transition to Mac OS it will be on Apple branded hardware, bear
with me).
So having the opportunity to play with Mac OS, Windows XP and Vista on
a $399 Pystar my first observation was performance differences. Simply
put everything is faster- everything. From the apparent refresh rate
as you glide the mouse cursor. To the time it takes programs to
launch, to the response time when shutting programs down. On Mac OS
Leopard 10.5 I was able to open three QuickTime movie trailers at 720p
(HD resolution) and have a windowed Open GL 2.0 game going. With zero
slow down (not even a hiccup) as I clicked through to bring each of
these windows to the top there is no problem. So this leads to my
first of ten reasons I think .NET developers should consider switching
to Mac OS
1. Performance boost for day to day task.
You work on a PC, you play on your PC. While Mac OS won't make Visual
Studio.NET run any faster, it will boost the performance of many of
the other things you do on a computer. In my test on Windows XP and
Vista the results were about the same, after the 2nd 720p QuickTime
trailer got running things really got sluggish.
2. The current version of Mac OS comes with a program called Bootcamp
that makes running XP easy. That's the Apple marketing line, but the
thing of it is it really works and it's really easy. Essentially this
is partion manager, there is no emulation going on and you do need a
licensed copy of Windows to make this work, but support is built in.
So you can install Visual Studio.NET on a Mac through Bootcamp
3. Two different computing environments, one for work and one for
play.
This one will contract with a later point, but if you're a .NET only
developer, the addition of Mac OS to you life may be exactly what you
need to help separate work from play. Ideally most of you play time
would be away from a computer, but everyone does e-mail and everyone
browses the web, everyone makes a family DVD manges photos (the list
goes on). To say Mac OS does these sort of task better would be
subjective, but what I can tell is fact is that Apple provides
exceptional quality software for free to new Mac owners to handle
these task. These applications (e.g. iPhoto, iMovie, iChat, iDVD,
Garage Band) have no equal in the Windows world. The only one of these
apps to have crossed over is iTunes and chances are you're running
that in the background on Windows now. Imagine every application you
use for common task begin that well designed, power and simple to use.
That's what you get.
4. First class test environment for Mono development.
The Mono project (open source project aimed at bringing .NET cross
platform) has become a very serious effort to allow .C# .NET apps to
run on Unix platforms. The effort that's gone into Mono can really
only be appreciated when you bring a .NET .exe you compiled in Visual
Studio over to Mac OS and it just works on Mono unmodified. I have
several utility apps that I experienced this with.
5. First class Java 2 development with exceptional quality free tools
and OS support.
Java programming for Mac OS is a joy. Since Sun Microsystems and Apple
Corp get along rather well what you find on Mac OS is a large amout of
native API support available to Java. Java is as capable on Mac OS
as .NET is on Windows. In fact it's more capable because of the native
UI integration (Mac OS comes with a optimized Java virtual machine
that seems to run near native code speed, with plenty of native API
wrappers ready to go and well documented..... for example want to play
or capture video using QuickTime, you can do that on Mac OS using Java
in a few hours of coding. Want to take advantage of the nice look and
feel of native Apple/Mac OS apps, you don't have to do a thing, Apple
has made it so Java's Swing (their counterpart to WinForms) is mapped
to Mac OS UI components. So Java apps look like native apps on Mac.
6. Imagine this: all the best development tools for the Mac OS
platform are 100% free to use.
Apple's coutnerpart to Visual Studio.NET is XCode, this tool and all
compilers come included on the Mac OS DVD or can be downoaded free for
commercial and private use. With XCode you can develop native Mac OS
applications using Objective-C and Cocoa.
NetBeans 6.1 (Sun's open source Java IDE) seems to run at least twice
as fast on Mac OS and will make Visual Studio.NET developers feel at
home. When you install the Mac OS version of NetBeans all desktop apps
you build with Swing will maintain much of the look of native apps and
will run near (or at) native code speed. This is also free.
7. iPhone development tools are free
Last week it was reported that iPhone applications are expected to
boom to a $1 billion market in 2009. All the development tools you
need (including desktop iPhone emulator) are 100% free to download,
but they only run on Mac OS.
8. A true next generation operating system capable of running 64-bit
and 32-bit code side by side
Another little marketing spill that lives up to it's hype. You can use
the for mentioned FREE development tools to output 64-bit or 32-bit
binaries and test, run, debug them side by side on the current version
of Mac OS
9. It's Unix under the hood.
You can run many Linux applications on Mac OS because it's Unix based.
Every commercial OS except Windows it seems is based on Unix and
confirms to many Unix standards under the UI. Windows remains
isolated. That was fine and good 10 years ago when Windows 95 was all
the rage, but over the years the OS itself has become a bloated mess.
With no built in intelligence or corporate demands to stop poorly
designed device drivers (finally with Vista, but that's lead to
another mess) and more importantly a cluttered task manager and
background processes that do God knows what.
From an architecture stand point and user experience over time Windows
(yes, even Vista) seems archaic
10. Mac OS pampers its users and you deserve to be pampered.
In this industry chances are you're not doing too bad for yourself
when it comes to earning a living. Do you like the nice things in life
such as luxury cars and fine dining? Well then why wouldn't you want
a luxury OS? Yeah, you pay a bit of a premium for Apple branded
hardware, but they are constantly rated #1 in customer service and
that extreme attention to detail bleeds over in their software design
as well.
Silly tv commercials aside, why would you settle for less doing what
you do?
I originally started this post bashing Microsoft for doing such a
horrible job evolving Windows and it was apathy that led me to avoid
that path. I like Microsoft a great deal and their technologies have
helped me earn a good income, but the thing with technology is things
are always changing and it's in the nature of our line of work to
anticipate change and to stay current. Sadly, this company that has
put out so many great things for the corporate world has failed it's
desktop users and I believe at this point they are in danger of
letting everything slip away. That won't come next year or the year
after, but ten years down the road if Windows continues to try and
play catch up with other OS's (like Mac OS) they will be abandoned.
intended to share a recent experience I had with Mac OS in an
entertaining way. I'm doing this because I love technology in general
and most programmers I know are passionate about technology,
unfortunately many of them stay away from Mac. Some as if it's the
forbidden fruit (you know you're out there) and others because they
think it's OS for people who aren't intelligent enough "to use a real
computer" as someone recently put it to me. I admit I was one of these
people less than two years ago, but I've found Mac OS to be, frankly
the most power desktop OS I've played with or tried to develop for.
The word "Magic" isn't a perfect fit, bit it's the first word that
comes to mind (Chuck Palahniuk, that's for you).
So I recently had the opportunity to toy around with a Pystar System,
if you are not familiar with this company they produce a generic $399
bare-bones PC capable of running Mac OS retail version without
requiring an OS loader hack. (yes, I know about the legal issues with
their license agreement and doing this, i'm not promoting Pystar and
when I transition to Mac OS it will be on Apple branded hardware, bear
with me).
So having the opportunity to play with Mac OS, Windows XP and Vista on
a $399 Pystar my first observation was performance differences. Simply
put everything is faster- everything. From the apparent refresh rate
as you glide the mouse cursor. To the time it takes programs to
launch, to the response time when shutting programs down. On Mac OS
Leopard 10.5 I was able to open three QuickTime movie trailers at 720p
(HD resolution) and have a windowed Open GL 2.0 game going. With zero
slow down (not even a hiccup) as I clicked through to bring each of
these windows to the top there is no problem. So this leads to my
first of ten reasons I think .NET developers should consider switching
to Mac OS
1. Performance boost for day to day task.
You work on a PC, you play on your PC. While Mac OS won't make Visual
Studio.NET run any faster, it will boost the performance of many of
the other things you do on a computer. In my test on Windows XP and
Vista the results were about the same, after the 2nd 720p QuickTime
trailer got running things really got sluggish.
2. The current version of Mac OS comes with a program called Bootcamp
that makes running XP easy. That's the Apple marketing line, but the
thing of it is it really works and it's really easy. Essentially this
is partion manager, there is no emulation going on and you do need a
licensed copy of Windows to make this work, but support is built in.
So you can install Visual Studio.NET on a Mac through Bootcamp
3. Two different computing environments, one for work and one for
play.
This one will contract with a later point, but if you're a .NET only
developer, the addition of Mac OS to you life may be exactly what you
need to help separate work from play. Ideally most of you play time
would be away from a computer, but everyone does e-mail and everyone
browses the web, everyone makes a family DVD manges photos (the list
goes on). To say Mac OS does these sort of task better would be
subjective, but what I can tell is fact is that Apple provides
exceptional quality software for free to new Mac owners to handle
these task. These applications (e.g. iPhoto, iMovie, iChat, iDVD,
Garage Band) have no equal in the Windows world. The only one of these
apps to have crossed over is iTunes and chances are you're running
that in the background on Windows now. Imagine every application you
use for common task begin that well designed, power and simple to use.
That's what you get.
4. First class test environment for Mono development.
The Mono project (open source project aimed at bringing .NET cross
platform) has become a very serious effort to allow .C# .NET apps to
run on Unix platforms. The effort that's gone into Mono can really
only be appreciated when you bring a .NET .exe you compiled in Visual
Studio over to Mac OS and it just works on Mono unmodified. I have
several utility apps that I experienced this with.
5. First class Java 2 development with exceptional quality free tools
and OS support.
Java programming for Mac OS is a joy. Since Sun Microsystems and Apple
Corp get along rather well what you find on Mac OS is a large amout of
native API support available to Java. Java is as capable on Mac OS
as .NET is on Windows. In fact it's more capable because of the native
UI integration (Mac OS comes with a optimized Java virtual machine
that seems to run near native code speed, with plenty of native API
wrappers ready to go and well documented..... for example want to play
or capture video using QuickTime, you can do that on Mac OS using Java
in a few hours of coding. Want to take advantage of the nice look and
feel of native Apple/Mac OS apps, you don't have to do a thing, Apple
has made it so Java's Swing (their counterpart to WinForms) is mapped
to Mac OS UI components. So Java apps look like native apps on Mac.
6. Imagine this: all the best development tools for the Mac OS
platform are 100% free to use.
Apple's coutnerpart to Visual Studio.NET is XCode, this tool and all
compilers come included on the Mac OS DVD or can be downoaded free for
commercial and private use. With XCode you can develop native Mac OS
applications using Objective-C and Cocoa.
NetBeans 6.1 (Sun's open source Java IDE) seems to run at least twice
as fast on Mac OS and will make Visual Studio.NET developers feel at
home. When you install the Mac OS version of NetBeans all desktop apps
you build with Swing will maintain much of the look of native apps and
will run near (or at) native code speed. This is also free.
7. iPhone development tools are free
Last week it was reported that iPhone applications are expected to
boom to a $1 billion market in 2009. All the development tools you
need (including desktop iPhone emulator) are 100% free to download,
but they only run on Mac OS.
8. A true next generation operating system capable of running 64-bit
and 32-bit code side by side
Another little marketing spill that lives up to it's hype. You can use
the for mentioned FREE development tools to output 64-bit or 32-bit
binaries and test, run, debug them side by side on the current version
of Mac OS
9. It's Unix under the hood.
You can run many Linux applications on Mac OS because it's Unix based.
Every commercial OS except Windows it seems is based on Unix and
confirms to many Unix standards under the UI. Windows remains
isolated. That was fine and good 10 years ago when Windows 95 was all
the rage, but over the years the OS itself has become a bloated mess.
With no built in intelligence or corporate demands to stop poorly
designed device drivers (finally with Vista, but that's lead to
another mess) and more importantly a cluttered task manager and
background processes that do God knows what.
From an architecture stand point and user experience over time Windows
(yes, even Vista) seems archaic
10. Mac OS pampers its users and you deserve to be pampered.
In this industry chances are you're not doing too bad for yourself
when it comes to earning a living. Do you like the nice things in life
such as luxury cars and fine dining? Well then why wouldn't you want
a luxury OS? Yeah, you pay a bit of a premium for Apple branded
hardware, but they are constantly rated #1 in customer service and
that extreme attention to detail bleeds over in their software design
as well.
Silly tv commercials aside, why would you settle for less doing what
you do?
I originally started this post bashing Microsoft for doing such a
horrible job evolving Windows and it was apathy that led me to avoid
that path. I like Microsoft a great deal and their technologies have
helped me earn a good income, but the thing with technology is things
are always changing and it's in the nature of our line of work to
anticipate change and to stay current. Sadly, this company that has
put out so many great things for the corporate world has failed it's
desktop users and I believe at this point they are in danger of
letting everything slip away. That won't come next year or the year
after, but ten years down the road if Windows continues to try and
play catch up with other OS's (like Mac OS) they will be abandoned.