3 ms·
Yes, because Obj-C is truly just Smalltalk with C-style control structures. Maybe I'm damaged, because I've used Smalltalk in a previous existence, and loved it
by cpr 17y ago
Yes, because Obj-C is truly just Smalltalk with C-style control structures. Maybe I'm damaged, because I've used Smalltalk in a previous existence, and loved it.
Java is not a dynamic language.
- ajross 17y agoFor what definition of "dynamic language" is that statement true? Both languages do late binding of methods to objects, Java merely happens to smear on a layer of typesafety above it. Frankly, the two languages are semantically all but identical, modulo the ability of Obj-C to fall back to a "bare memory" data model when you want to.
- astrange 17y agoThey certainly don't bind methods to objects at the same time - Obj-C does it when you send the message. You can send and catch messages with no methods attached to them, or that weren't even declared in the first place (at the expense of a compiler warning). Of course there are other differences, but the most important one is just that the class library is much better - UI doesn't rely on inheritance, there's no class named LinkedHashMap (see http://ridiculousfish.com/blog/archives/2005/12/23/array/ http://ridiculousfish.com/blog/archives/2005/12/23/array/), and there _is_ a class named NSMutableArray.
- deleted 17y ago[deleted]
- catch23 17y agoYou can do mixins fairly easily in ObjC, but in Java, you'd essentially have to resort to runtime bytecode rewriting. Take a look at what popular libraries like Hibernate, Spring, AspectJ use under the covers to perform their magic.