Download the new Switched app for your iPhone

Skip to Content

Free Switched iPhone app - try it now!
AOL Tech

Filed under: Developer, Windows, Macintosh, Apple

Dev Chair : My love-hate relationship with Apple development

First, let me start with the full disclaimer: I develop Windows .NET application by day (and by night too for ecto) and use Mac OS X at home for everything else. Before getting my Mac Pro last December I used to work on ecto using a second Windows machine, but since then I have been using Visual Studio 2005 in an XP virtual machine using Parallels.

Whether you love or hate Microsoft, you have to give them credit for popularising programming on Windows. While I was a junior programmer fresh out of college learning C++ and working on train control software, truckloads of CS/Engineering graduates were learning to program in Visual Basic. Whatever faults VB has, the way it allows even beginner or causal programmers to learn the craft and produce quick and dirty applications means that programming for Windows was no longer the eminent domain of the traditional CS/Engineering graduates, where FORTRAN and C/C++ rules. Microsoft continues this trend with C#/VB.NET and the .NET Framework, providing a lot of built-in functionality that used to require hand-crafted code or expensive third-party libraries, freeing up developers' time to concentrate on problem solving instead of mechanics.

With OS X, Apple began with Objective-C and Java as the programming languages of choice but ever since version OS X 10.3 Java had been put onto the back burner and is expected to be phased out eventually. Unfortunately, making Objective-C the sole language of the platform also makes it difficult and 'expensive' for Windows programmers, such as yours truly, to join the party. The difference in syntax (despite the 'C' in the name it does not have much resemblance to C or C++), difference in framework and API, difference in IDE philosophy, and the lack of refactoring tools (ReSharper, CodeRush, etc.) and unit testing tools (NUnit, JUnit, etc.) mean that some of the more open-minded programmers (mostly Java and .NET) will not take an active interest in Apple software development.

The upcoming Xcode 3 looks like it would make a big step in closing the gap, but the IDE still lacks the tools mentioned above to attract the time-constrained, less hard core developers from the Windows side of the world. The dark horse may be the combination of Eclipse IDE and Mono project. The Eclipse IDE is mature and has a flexible plug-in architecture so refactoring and unit testing tools can be integrated into the IDE by third party developers. Meanwhile the Mono project has been making lots of progress as far as compatibility with Microsoft's implementation is concerned. And the ability to take code written in Windows and runs it in Linux or OS X (with some limitation, of course) will appeal to Windows developers, at least as a starting point.

In fact, Eclipse/Mono may actually achieve what Sun tried to do with Java all those years ago. Remember 'Write once, run anywhere'?
jobs & resumes
iPhone / Android Developer

Bump Technologies, Inc. - Mountain View, CA (2 weeks ago)

See More Relevant Jobs ›

Reader Comments (Page 1 of 2)

Featured Time Waster

Level Up! A platform-hopping RPG Time-Waster

I don't know if this is a labor of love or merely the brainchild of four very gifted games designers, but Level Up is a really weird mash-up of gaming elements that you have probably never seen in a Flash game before. Let's start with the premise itself: Groundhog Day meets Memento. The game experience revolves around 'days': you explore the world and the clock slowly ticks towards the evening. You bounce around picking up gems and talking to the denizens of 'Level Upland'. Eventually you feel tired and head back to ...

View more Time Wasters


Follow us on Twitter!

More Tech Coverage

Joystiq

TUAW

DailyFinance

Autoblog

Urlesque

Engadget

WoW

Switched.com

FanHouse