Dashing Xcode
Tuesday, July 6th, 2010Jesper thinks that Apple is working on a new language. I’ve posted something similar in 2007, but a lot has happened in 3 years.
I believe Apple’s new runtime language successor to be (or very close to) JavaScript with an Objective-C bridge. Here’s why:
- JavaScript is already one of the iOS platform languages.
- JavaScriptCore Nitro is fast.
- JavaScriptCore already bridges with Objective-C.
- Apple uses JavaScript in deep, key areas: iAd, iTunes 9, Mobile Me
- DashCode (and PastryKit).
Apple is probably still sorting out:
- Security + sandboxes. I once asked Doug Crockford what he thought was in JavaScript’s future and this was it.
- LLVM compilation. For Apple, it makes sense to have a compiled language story that improves JavaScript performance even further via compile-time analysis and optimization, courtesy of LLVM. It’s great for iOS code validation too.
- Framework design. Apple is known for taking time to try out features and APIs to get them right before publishing them.
Update To Jesper’s point about replacing Objective-C. I believe this successor adds a new level to the Apple language family and doesn’t replace Objective-C. Use JavaScript where appropriate: high level memory safe, dynamic, functional code with a productive, concise syntax. Drop into Objective-C to do performant, memory efficient, or security-privileged things. Drop into C for more speed, more efficiency. It’s turtles all the way down, and in many ways, we’re already there.
Technorati Tags: Apple, LLVM, JavaScript, WebKit, Objective-C