satine.org

by Charles Ying

Archive for July, 2010

Dashing Xcode

Tuesday, July 6th, 2010

Jesper 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:

  1. JavaScript is already one of the iOS platform languages.
  2. JavaScriptCore Nitro is fast.
  3. JavaScriptCore already bridges with Objective-C.
  4. Apple uses JavaScript in deep, key areas: iAd, iTunes 9, Mobile Me
  5. DashCode (and PastryKit).

Apple is probably still sorting out:

  1. Security + sandboxes. I once asked Doug Crockford what he thought was in JavaScript’s future and this was it.
  2. 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.
  3. 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: , , , ,