Try this in Java …

Objective-C is such a funky (dynamic) language.

Like Scott Stevenson showed on his blog in the last few days:

Dynamic Objective-C with NSInvocation
Forwarding NSInvocations in Objective-C
Replacing Objective-C Methods at Runtime

Stuff like that makes me think that Java as a language/runtime just sucks sometimes. Sure java’s got reflection and funky runtimestuff if you really want too. (As in cooking your own classloader and doing runtime code injection, now that’s a cool one.)

But it doesn’t come even close to what Objective-C can do. Not to mention what Ruby can do. While I’m not into the whole Ruby thing yet (chronic time shortage). It does seem like a hell of a dynamic language. On the other hand, all this dynamic stuff makes me feel wary, feels like a big gun capable of shooting big holes in things. Which can be a good and/or bad. Imagine pointing at your own feet, or better yet, a pointy haired boss.

Also, for those who know Lisp, it must feel a bit like “Been there, seen it, done that. Anything new today?” Just for the record, I also think Lisp ownes each and every language out there. Every new feature a language hauls along on “yet another band wagon” is either allready available in Lisp, or is just around the corner with one or two macro‘s.