Hacker News new | past | comments | ask | show | jobs | submit login

I fail to see how the article you link to supports your opinion in any way, and neither you or Siracusa offer any arguments why Objective-C needs replacing. At all.

You can summarize Siracusa's piece as 'Objective-C needs automatic memory management, it needs automatic memory management, and all the other popular languages have automatic memory management, so yeah, Objective-C needs automatic memory management'. He then rejects the fact that Objective-C on OS X has had garbage collection for years because 'it is not a no-brainer because not every developer uses it' and because iOS doesn't support it. Guess what, ARC is now the default way of 'managing' memory on iOS and OS X, and it has some very clear advantages over garbage collection. I wrote 'managing' with quotes, because with ARC you don't actually have to do anything as a developer, and if you don't pay attention to anything it is just like writing code in a language that has GC.

So unless you have some actual arguments why Objective-C needs replacing or what important features it is missing that other languages do have, it is very hard to take your 'No and No' very serious.

Just out of curiosity: did you actually ever develop anything non-trivial with Objective-C, and if so, what part of that experience makes you think it people would not use it voluntarily?




"with ARC you don't actually have to do anything as a developer"

* With the caveat: if you're using blocks, you need to be careful about unintentional circular retains, and sometimes take extra steps to avoid them.


I'm an iOS developer at my 9-5, so it certainly could be a case of disliking the thing I am most familiar with.

You seem to be disputing my claim that "people don't like obj-c and wouldn't use it if they didn't have to" on the grounds that it is capable and getting better. I don't think that is enough. It's all just my opinion, I don't think C# has a bright future either.

As for my "No and No".

## My First No - "No it is not popular" - Purely anecdotal

I interpreted popular as "well liked". Those I have met and worked with all seem to view Objective-C as "what we use" not, "language of choice". I know those who have grown to appreciate and even like it, but not a soul who says "Obj-C is my favorite" outside of the context that it makes them the most money. I'm sure objective-c fans exist, but to qualify as "popular" to me, that would have to be the overwhelming majority. I've never met an objective-c person who talks about it with the same grin that a Ruby person wears when they tell you about "unless".

## Second No - "No, I don't think anyone would use it by choice" (stupid internet assumption, anyone == people who think exactly like me)

The reason for this, I think, has more to do with its lack of popularity than anything else (yup, some circular logic, I know). The fact that every mac developer I know already knows at least one other language that they can use everywhere else is I think why they aren't putting forth any effort into developing the community to use Obj-C for other jobs. Why bother? There's already overwhelming support other languages of similar merit, so why opt for the unpopular one?

## My own experience

ARC has been wonderful, and I think it greatly improves the process of getting things from idea to application. However, I still feel like I am writing - or rather tab-completing - too much code to accomplish trivial tasks. There is so much ritual that could be done away with completely. If the most common case is to @synthesize an @property, why am I forced to @type @it @out every time? I understand there are sound, logical, historical origins to many of my frustrations (like separate .h and .m files and having to wear out my 'n' and 's' keys). To be honest, much of my complaining is nothing more than trivial syntax whining, but to me, that is all friction. Here I must also admit that I am probably seeing Obj-C in a negative light because I have to interact with it through XCode. I've tried JetBrains AppCode, but there is so much switching back and forth to XCode for CoreData and Interface stuff that I now just keep it around for a few specific tasks. With Obj-C it's really hard for me to separate the language from the Apple APIs, XCode and the iOS development community, all of which I would consider "take it or leave it" quality. Every once in a while Apple throws you a bone like NSOperationQueue, which is a joy to work with, but again, that's conceptual, not syntactic, it's still a million characters to do anything with it.

I can't think of a reason I would pick it over C for low-level serious business or over $yourSciprtingLanguageOfChoice / (((your-functional-language-of-choice))) for everything else. It's got some cool features, but nothing that overpowers its awkwardness for me.




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

Search: