Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

iTunes runs on Mac/PC, so yes. But you'll need a Mac to program iOS devices (for Xcode).


Ah, thanks, I didn't know I could get it on iTunes, even though I avoid installing it... I know I'll need XCode, I just wanted to see what ObjC is like.


I believe there's a free (as in freedom) version of Objective-C out there, I think it runs on Windows and Linux.

Check out the book by Stephen G. Kochan

The caveat of course, is that Cocoa (an Objective-C API used for making interfaces) is very Mac/iOS specific.

So you may not be able to write Cocoa code on Windows/Linux even of you download... (it might be) OpenStep?

But your gcc should compile Objective-C sans Cocoa.

As for XCode, like most Apple side-projects it tends to gather dust in darkness, until one day they come in and change everything around, just because they can. In 2007 it was pretty good if you wanted a stripped down lean and mean coding IDE which still had access to a lot of features.

Contrast that to the Java IDEs of the time which seemed to be saying "FEATURES! WE HAVE FEATURES! GET YER FEATURES HERE! Never mind about that coding crap, have you seen our FEATURES!!!???".

Eclipse was a particular offender, cramming your interface so full of buttons and tabs and tabs of tabs and templates of tabs of tabs and views of tabs, and buttons that the actual coding area on a normal monitor was like unto a postage stamp. (It got better, but vestiges of the feature-mindset-disease remain)

Anyway, I'm less impressed with the current version of XCode than I was with the one from 5 years ago.

Primary attractions of Objective-C

Memory management Message passing (which is what all those square braces are about) Long method names which increase readability at the expense of not being able to remember what the heck the function you wanted to call is named so you have to keep referring back to the documentation Did I mention the squirrelly syntax?

From a pattern point of view they use the delegate pattern a lot, e.g. The Window handles the Windowy stuff, but for those things you are most likely to want to customise it passes them to its delegate.

That way you 'never' need to actually subclass anything, you just plug delegates in everywhere.


That's very interesting, thank you. I might have to plug in my disk with the backup OS X install and have a play, then...


Today I remembered what was the most tantalisingly interesting thing about XCode back then - the distributed compilation. The idea that you could have a team of people and my computer would steal spare cycles from yours (and vice versa) when mine was compiling and yours was sitting there waiting for you to hit the next key...

I never had anything large enough on XCode for it to actually matter enough to me to get it working though.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: