Wednesday, October 05, 2005

John Siracusa on C# and Java

John, of course, writes the OS X reviews for ars technica. (If you haven't read these, you need to. His level of detail should make lesser reviewers think hard about finding another career.)

In his blog, he's been talking about what Apple needs to do to avoid another Copland scenario, i.e., avoid resting on their OS X achievments only to wake up in 2010 and realize, "Oh crap! It's WAY easier to write apps for Windows than for OS X!"

Which is a rather long introduction to the quote I liked so much:

My instincts tell me that both C# and Java are too low-level. Yes, they both have fully automatic memory management, and both eschew C-style pointers for the sake of safety and security, which is more than can be said for Objective-C. But the runtime that Objective-C uses to do its "object stuff" is arguably higher-level than either C# or Java, both of which still seem to cling to charmingly retro notions of compile-time optimizations and "efficiency through bondage."

Bondage. That's what non-dynamic languages feel like to me now. No duck typing? No freedom to modify and create classes at runtime? Bondage.

1 comment:

Anonymous said...

You can use the JVM and CLR with languages other than java and C#. There are VB.NET, Groovy, Rhino, Jython, Boo... All of which are easier than objective C.