Making a fruit do a trick

This is better known as my first impressions with programming an Apple.

I just finished going through this introduction and tutorial for programming with cocoa. It was using Objective-C. For those non-Apple programmers (of which I would still consider myself), it’s kind of like a minor upgrade to C to incorporate OOP. I like Java and C# syntax the most personally, so I didn’t really enjoy how everything must be written.  It isn’t bad really.

It’s good framework.  That really is what it all comes down to.  I was so happy with the integration of all of the XCode tools.  It suprised me that I felt like I was setting up more of the code and less of the interface even when declaring instance variables and the like.  It felt more like setting up the GUI as something different than your class, rather than your class contains the GUI.

The interface builder is set up nicer and has more features than Visual Studio (at least features that I care about).  It just was more enjoyable to work with independant windows when designing the window.  It feels better to keep the interface design separte from the code.  I still believe that the best applications run from command lines and have an interface to be nice. This felt like that.

Now for the coding experience.  This is where it all makes a difference.  Let me itterate again: I don’t like Objective-C syntax.  The methods and all the like with their messages seem like slow ways to reference everything.  That made my experience worse.  But that won’t influence how I consider it overall.

I like the tabs of Visual Studio.  It works very well for getting around.  As far as I can tell, there is NO code completion for Objective-C if anything.  This means that not only do I have to keep track of all these floating windows, but I have to keep finding the correct one whenever I want to go and check what I called a method of another class.  Not nearly as enjoyable as it could be. There is also no on-the-fly error checking.  I can’t tell any preformance drops from VS doing this, so I find it to be depressing that it is lacking here.  The error reporting on build is pretty nice, but I wouldn’t call it better than VS by any means.  Documentation also seems limited in immediate reach.

So what does it do better than VS?  Well…. uh…. it is free.  I do have to say that it does pretty well for a free program. VS is better for developers though. It is very nice for designing interfaces, but it sucks for the coding.  I’ll have to try it with Java (which is supported by XCode) so I can see how it does with something like C#.  That would be a better comparison. It needs a better help system, on-the-fly error checking, code completion, code folding, and tabbed windows for source files to expect to be on par with Visual Studio.  It is lighter though.  Microsoft wins this one for me.  I like the help with the interfaces since i’m no artist, but it is my code that I put my love into.  Don’t make it more difficult.

Oh and for those of you who want to call .Net God (which I may or may not agree with you…), just realize that Cocoa has almost if not all of the features as well as really easy ways to implement printing, undo, and plugins among others. I would have to give Apple that one at the moment.  Maybe .Net for Vista will make Microsoft king of the hill once again.

1 Comment

Sorry, the comment form is closed at this time.