Google today launched an "early preview" of Dart, a programming language the company hopes will help Web application programmers overcome shortcomings of JavaScript that Google itself feels acutely.
Programmer and project leader Lars Bak detailed the project in a talk today at the Goto conference in Denmark and in a blog post. Dart is geared for everything from small, unstructured projects to large, complicated efforts--Gmail and Google Docs, for example.
"If we want to focus on making the Web better over time, we have to innovate," including with new programming languages, Bak said in an interview today.
Google also unveiled a Dart language site that includes open-source tools for writing Dart programs, code samples, and tutorials; libraries of supporting software; the Dart language specification; and forums for discussion.
A month ago, details about Dart raised some hackles about Google's Web technology tactics when a 2010 internal memo about Dart, then called Dash, surfaced on a mailing list. One tidbit from that memo was that Dart was designed "to replace JavaScript as the lingua franca of Web development."
Google is a big company, though, and others within the company remain strong JavaScript adherents. And Bak, while not denying Google has big ambitions, was quick to proclaim JavaScript alive and well.
"It's not going to replace JavaScript," Bak said. "JavaScript is a cornerstone of the Web today, and it will continue to be for a long, long time."
Bak bristled at some of the complaints about Google's approach to creating Dart in-house and not through a more collaborative approach.
"I don't buy the argument that before writing any line of code or designing any features, you put it in a standards committee, because that would just be a lot of screaming," Bak said. "You have to have coherent design before you start adopting Dart as a standard."
Making a standard is a goal, though. "It will be fairly lonely to create a standards committee when there's only us in it. We first have to get the backing of other partners before we can make a standard that's useful," he said.
Google is releasing Dart now for the next step in its maturation: outside feedback and participation. "We hope the other browser vendors will be excited," Bak said, adding that today is the first that Google has shared details about Dart with them or others.
Google is evaluating the best way to integrate Dart directly into its Chrome browser, something Bak is keen on. One reason: it will enable a "snapshotting" technology that dramatically improves a Web app's startup time. Snapshotting involves taking an application and "serializing" it into a single block of data.
In one test of snapshotting, a 55,000-line Dart program loaded in 60 milliseconds compared to 640 milliseconds without it, Bak said. A conventional JavaScript program would load in comparable time as Dart without snapshotting, he said. "I can see a lot of optimizations that'll be applicable to Dart" when it's integrated directly into a browser, he added.
Here is Bak's quick description of Dart's design goals:
Programmer and project leader Lars Bak detailed the project in a talk today at the Goto conference in Denmark and in a blog post. Dart is geared for everything from small, unstructured projects to large, complicated efforts--Gmail and Google Docs, for example.
"If we want to focus on making the Web better over time, we have to innovate," including with new programming languages, Bak said in an interview today.
Google also unveiled a Dart language site that includes open-source tools for writing Dart programs, code samples, and tutorials; libraries of supporting software; the Dart language specification; and forums for discussion.
A month ago, details about Dart raised some hackles about Google's Web technology tactics when a 2010 internal memo about Dart, then called Dash, surfaced on a mailing list. One tidbit from that memo was that Dart was designed "to replace JavaScript as the lingua franca of Web development."
Google is a big company, though, and others within the company remain strong JavaScript adherents. And Bak, while not denying Google has big ambitions, was quick to proclaim JavaScript alive and well.
"It's not going to replace JavaScript," Bak said. "JavaScript is a cornerstone of the Web today, and it will continue to be for a long, long time."
Bak bristled at some of the complaints about Google's approach to creating Dart in-house and not through a more collaborative approach.
"I don't buy the argument that before writing any line of code or designing any features, you put it in a standards committee, because that would just be a lot of screaming," Bak said. "You have to have coherent design before you start adopting Dart as a standard."
Making a standard is a goal, though. "It will be fairly lonely to create a standards committee when there's only us in it. We first have to get the backing of other partners before we can make a standard that's useful," he said.
Google is releasing Dart now for the next step in its maturation: outside feedback and participation. "We hope the other browser vendors will be excited," Bak said, adding that today is the first that Google has shared details about Dart with them or others.
Google is evaluating the best way to integrate Dart directly into its Chrome browser, something Bak is keen on. One reason: it will enable a "snapshotting" technology that dramatically improves a Web app's startup time. Snapshotting involves taking an application and "serializing" it into a single block of data.
In one test of snapshotting, a 55,000-line Dart program loaded in 60 milliseconds compared to 640 milliseconds without it, Bak said. A conventional JavaScript program would load in comparable time as Dart without snapshotting, he said. "I can see a lot of optimizations that'll be applicable to Dart" when it's integrated directly into a browser, he added.
Here is Bak's quick description of Dart's design goals: