Live data from Hacker News

Stop the Hate: Obj-C Deserves Your Love

intridea.com

61–70 of 91 posts

Re: Stop the Hate: Obj-C Deserves Your Love

#61
post #57

Earlier quoted context omitted.

You can easily get unpredictable delays in responsiveness with reference counting too. How can you be sure releasing that reference isn't going to unleash the teardown of some huge data structure?

If it does than you are doing something incredibly wrong. I'm really starting to doubt the intelligence of HN.

[deleted]

Re: Stop the Hate: Obj-C Deserves Your Love

#62
post #57

Earlier quoted context omitted.

If it does than you are doing something incredibly wrong. I'm really starting to doubt the intelligence of HN.

s/than/then/g

@cageface really? you can't refute my point, so you instead try to correct my spelling to make yourself look smarter?

Re: Stop the Hate: Obj-C Deserves Your Love

#63
post #48

Earlier quoted context omitted.

Obj-C does not have a similar performance profile to C/C++. Method dispatch is far slower than vtables. I've personally witnessed a huge Obj-C dev project fall apart when the team couldn't get performance up to snuff, even with dedicated help from Apple's UI team. The rewrite in C++ is progressing nicely.

And as someone who is currently writing high-performance ObjC code, and who has written internet-scale packets-per-second-metered code in C and C++, I call bullshit on this. I have no doubt that method dispatch is significantly slower than vtables, but you're ignoring the fact that for performant code, plenty of C++ devs believe that vtables are far too slow as well. Large high-performance C-style projects are always…

Worth reviewing:

http://www.mikeash.com/pyblog/performance-comparisons-of-com...

Re: Stop the Hate: Obj-C Deserves Your Love

#64
post #49
post #33

Earlier quoted context omitted.

As someone who does a ton of Objective-C, I challenge the notion that namespaces are even remotely necessary. I've also done development in nearly everything under the sun, in nearly every "popular" language under the sun, which challenges your other assumption that anyone who thinks Objective-C is good hasn't spent time outside of C/C++/Objective-C. I'm guessing you've never written a Windows app with C++ and MFC. O…

As someone who does a ton of Objective-C, I challenge the notion that namespaces are even remotely necessary ... Apple is now suggesting that you use three-character class name prefixes, since they claim all the two character ones. I had my two character prefix claimed by a new private framework Apple added to iOS, and now one of my class names conflict with one of theirs. Kaboom. If you go the no-prefix route, your…

Apple is now suggesting that you use three-character class name prefixes, since they claim all the two character ones.

So you saw that talk at WWDC as well? Every engineer from Apple that I've spoken to and asked about this has gone "What?! Did he really say that? Ignore it. We don't recommend that. Not at all."

Seeing as you're writing ObjC using a compiler I've worked on, I think that probably understand the "low level shit" better than you do.

You work on LLVM? Props to you, if so. Thats an awesome project. However, if you work on gcc, I haven't used that in over a year :-)

(I kid. Props to you, either way. I can't do what I do without what you do.)

Re: Stop the Hate: Obj-C Deserves Your Love

#65
post #48

Earlier quoted context omitted.

Obj-C does not have a similar performance profile to C/C++. Method dispatch is far slower than vtables. I've personally witnessed a huge Obj-C dev project fall apart when the team couldn't get performance up to snuff, even with dedicated help from Apple's UI team. The rewrite in C++ is progressing nicely.

And as someone who is currently writing high-performance ObjC code, and who has written internet-scale packets-per-second-metered code in C and C++, I call bullshit on this. I have no doubt that method dispatch is significantly slower than vtables, but you're ignoring the fact that for performant code, plenty of C++ devs believe that vtables are far too slow as well. Large high-performance C-style projects are always…

There's a huge difference between the overhead of a dynamic function call and a vtable lookup. No doubt there are some cases where even a vtable lookup is too expensive but there are millions upon millions of lines of production C++ in high-performance apps that use C++'s vtable dispatch.

What language would you choose to write something like Protools, Photoshop, Maya, Visual Studio etc in? Definitely not C and definitely not Obj-C.

Re: Stop the Hate: Obj-C Deserves Your Love

#66
post #62

Earlier quoted context omitted.

s/than/then/g

@cageface really? you can't refute my point, so you instead try to correct my spelling to make yourself look smarter?

If you choose to attack someone's intelligence instead of presenting a factual counterargument then it behooves you to get your spelling right.

So again, how can you be sure that the reference you just released isn't the last live pointer to some huge datastructure that now has to be torn down reference-by-reference?

Re: Stop the Hate: Obj-C Deserves Your Love

#67
post #64
post #49

Earlier quoted context omitted.

As someone who does a ton of Objective-C, I challenge the notion that namespaces are even remotely necessary ... Apple is now suggesting that you use three-character class name prefixes, since they claim all the two character ones. I had my two character prefix claimed by a new private framework Apple added to iOS, and now one of my class names conflict with one of theirs. Kaboom. If you go the no-prefix route, your…

Apple is now suggesting that you use three-character class name prefixes, since they claim all the two character ones. So you saw that talk at WWDC as well? Every engineer from Apple that I've spoken to and asked about this has gone "What?! Did he really say that? Ignore it. We don't recommend that. Not at all." Seeing as you're writing ObjC using a compiler I've worked on, I think that probably understand the "low l…

So you saw that talk at WWDC as well? Every engineer from Apple that I've spoken to and asked about this has gone "What?! Did he really say that? Ignore it. We don't recommend that. Not at all."

Regardless of what they say, Apple is still claiming new two-character prefixes, including the one I've been using for years.

You work on LLVM? Props to you, if so. Thats an awesome project. However, if you work on gcc, I haven't used that in over a year :-)

I'm a big fan of LLVM, but no, I've done nothing with it. That said, if you're using clang for your production builds, you're a much braver soul than me.

There are still plenty of codegen issues, especially in the new iPhone/ARM support. There's a reason Apple is still using GCC.

Re: Stop the Hate: Obj-C Deserves Your Love

#68
post #67
post #64

Earlier quoted context omitted.

Apple is now suggesting that you use three-character class name prefixes, since they claim all the two character ones. So you saw that talk at WWDC as well? Every engineer from Apple that I've spoken to and asked about this has gone "What?! Did he really say that? Ignore it. We don't recommend that. Not at all." Seeing as you're writing ObjC using a compiler I've worked on, I think that probably understand the "low l…

So you saw that talk at WWDC as well? Every engineer from Apple that I've spoken to and asked about this has gone "What?! Did he really say that? Ignore it. We don't recommend that. Not at all." Regardless of what they say, Apple is still claiming new two-character prefixes, including the one I've been using for years. You work on LLVM? Props to you, if so. Thats an awesome project. However, if you work on gcc, I hav…

That said, if you're using clang for your production builds, you're a much braver soul than me.

Hardly brave; I only use it personal projects (which target 10.6/64-bit Mac) and debug builds. Release/Ad Hoc/Distribution builds for what I work on uses llvm-gcc. But, I'm not responsible for those builds.

Re: Stop the Hate: Obj-C Deserves Your Love

#69

The discussion for another article on the front page discusses why, even today, many developers prefer C-family languages over Java for developing user interfaces, because of unpredictable delays in responsiveness with garbage controlled languages. In that context, Objective C is the closest you will find to a best of both worlds language for responsive user interfaces. Being a strict superset of C, you can control t…

You can easily get unpredictable delays in responsiveness with reference counting too. How can you be sure releasing that reference isn't going to unleash the teardown of some huge data structure?

I think the idea is that, if you're careful, you can avoid situations like this with a reference counting scheme.

With a garbage collector, there are more things that are out of the developer's control, like when exactly the garbage collector will run and for how long.

C languages don't magically always perform better than other languages, but they do give you a greater level of control over what happens when. Whether that's a good or a bad thing is up to you.

Re: Stop the Hate: Obj-C Deserves Your Love

#70
post #53
post #49

Earlier quoted context omitted.

As someone who does a ton of Objective-C, I challenge the notion that namespaces are even remotely necessary ... Apple is now suggesting that you use three-character class name prefixes, since they claim all the two character ones. I had my two character prefix claimed by a new private framework Apple added to iOS, and now one of my class names conflict with one of theirs. Kaboom. If you go the no-prefix route, your…

So you work on GCC and are complaining about mostly legacy C things? What?

The best way to hate a language is to implement it. It forces you to learn all the ins and outs of the language, every nook and obscure corner that something, somewhere, depends on.
Post reply on HN