News for hackers. Stuff that matters.
Re:Ask HN: What do you think of Objective-C? by jrockway on Thursday December 18, 2008 @04:20AM (#401975)
Well, I think the real issue is that C++, C, and Objective C are all bad.

If you want OOP, slapping it on top of assembly language isn't a great idea. Use CL or Smalltalk instead; or any of the dynamic languages. Those are much closer to being good than anything in the C family.

Re:Ask HN: What do you think of Objective-C? by tlrobinson on Thursday December 18, 2008 @04:45AM (#401987)
Objective-C is a dynamic language.

Check out MacRuby, which is Ruby implemented on top of the Objective-C runtime: http://www.macruby.org/

The key difference between this and other "bridges" is Ruby classes are implemented as Objective-C classes. This couldn't have been done if Objective-C weren't as dynamic as it is. Objective-C is basically Ruby in C's clothing (which leads to a very different "feel", but in terms of "dynamicism" they're approximately the same).

And "slapping it on top of assembly language"? I'm not sure what that has to do with anything. C compilers are usually written in C. V8 (Chrome's JavaScript engine) generates machine code. What exactly is your argument?

Re:Ask HN: What do you think of Objective-C? by jrockway on Thursday December 18, 2008 @06:52PM (#402786)
C is "portable assembly". If you add some OO keywords on top of that, then you have "OO slapped on top of assembly".

The implementation language of the compiler is completely irrelevant.

Re:Ask HN: What do you think of Objective-C? by Tichy on Thursday December 18, 2008 @11:03AM (#402209)
If it is so dynamic, why does it have header files and interfaces?
Re:Ask HN: What do you think of Objective-C? by cthulha on Thursday December 18, 2008 @11:24AM (#402228)
You consider those three languages bad compared to Lisp/Smalltalk, without asking why C and C++ were vastly more popular.

I see your point about OOP, by the way: I don't think I really got C until I learned assembly language, and then it all fell into place.

Looking only at language aesthetics, Lisp/Smalltalk are excellent at OOP. We now have the benefit of computers that are insanely fast by the standards of the history of computing.

Go back a decade, and you want to get the best performance for a system by taking that awareness of the underlying assembly code. If you're dealing with pointers and structs then you can write sections of your program that you know will convert to a handful of assembly instructions.

You do have a point: trying to do OOP in a fancy version of assembly language is not going to be as seamless as a language with different core concepts. There are some ugly weld marks in C++ and ObjC, although I have come to appreciate the ObjC design approach after some time with it.

I just think it is meaningless to talk about good or bad languages without reference to the goals of the programmer.

Re:Ask HN: What do you think of Objective-C? by jawngee on Thursday December 18, 2008 @04:44AM (#401985)
You make zero sense.