Fresh off his success on VMs, the idea for Dart was a simple idea - to improve the state of the art of client-side web development. “We just want to improve the web platform... so that it’s easier to write bigger apps,” Bak tells The Reg during a recent interview as Dart marked its M1 delivery.
He's grown up a lot since then.
“I have learned it’s much harder to do a language than a virtual machine,” Bak confesses. “People are extremely opinionated when doing a language,” he says, before the Dane adds: “But this is great – I see that people care. I have learned that you have to do it properly.”
The problem is the curly-bracket heads just don’t accept your work as happily as most of them would accept any VM that's handed to them.
“The initial reaction to doing another programming language is people say: 'We have one that’s sufficient'. Change can be hard for some people. The other reaction is when you design the programming language [Dart] you [try] to make it simple so people can use it in an hour, so the other category of comments is: 'It’s a bit simple for me'."
“Some from the academic world expect more complex constructs but my view is if you don’t make it easy for ordinary programmers you don’t have a chance of success. That’s why the land has curly brace syntax and single inheritance.”
'I have learned it’s much harder to do a language than a virtual machine... People are extremely opinionated when doing a language' - Lars Bak
That’s meant a lot of heavy lifting so Bak hired an engineer to work on Dart’s semantics. When we spoke there had been 12,000 revisions with a new version every six to eight weeks. Since we chatted there's been an M2 release with more revisions. Dart 1.0 is now due this summer, Bak tells us, when the language should be finished and delivered along with a “good” set of libraries and a “good community of people using Dart.”
Google itself is the first domino that Bak needs to tumble - and it's a heavy one. “If we do not to prove ourselves the obvious benefit of using dart then Google will not convince other browser makers. My plan is to demonstrate better performance,” Bak admits.
No Googley magic wand
Just because Dart is Google's baby, that doesn't mean Dart is a shoo-in.
“Google is a big company and people are deciding what tools are most effective. I have to walk around and make sure people can see the advantage in using Dart,” Bak says. “So far so good, but no - there’s no magic wand inside the Googleplex. I don’t expect that everything to flip over next summer and that’s fine. It takes time to get a language popular inside and outside the company.”