by Charles Ying

Dashing Xcode

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

5 Responses to “Dashing Xcode”

  1. “It is my belief that Apple is definitely working on a new language” – Says:

    […] to complement Objective-C. Charles Ying from thinks that a language close to JavaScript would be a good fit, due in part to extensive use of the language in iOS, iAds & […]

  2. Ryan King Says:

    JQuery, Prototype, and other frameworks seem to play nice in IOS. Heard anything about how the move into something like Javascript could operate with extensibility and supporting other existing platforms? Similar to how Java, .Net, and others have been so molded by the community with still being centered around a basic framework.

  3. 餐具包装机 Says:


  4. 本草怡 Says:


  5. 依依 Says: