Become a fan of Slashdot on Facebook


Forgot your password?

Video Will Google's Dart Language Replace Javascript? (Video) 180

Seth Ladd, Google Web engineer and Chrome Developer Advocate, is today's interviewee. He's talking about Dart, which Wikipedia says is 'an open-source Web programming language developed by Google.' The Wikipedia article goes on to say Dart was unveiled at the GOTO conference in Aarhus, October 10–12, 2011, and that the goal of Dart is 'ultimately to replace JavaScript as the lingua franca of web development on the open web platform.' A bold aim, indeed. Last month (June, 2014), InfoWorld ran an article by Paul Krill headlined, Google's Go language on the rise, but Dart is stalling. Seth Ladd, unlike Paul Krill, is obviously rah-rah about Dart -- which is as it should be, since that's his job -- and seems to think it has a growing community and a strong place in the future of Web programming. For more about Dart, scroll down to watch Tim Lord's video interview with Seth -- or read the transcript, if you prefer. (Alternate Video Link)

Tim: Seth, what is so awesome about Dart? Seth Ladd: Well, thanks for asking. Dart is a really productive language that runs on the client and the server. It’s open source, it’s from Google and you can use it today. If you’re familiar with Java and JavaScript, it’s a great middle ground of structured programming and dynamic programming. And if you’re familiar with a wide variety languages you can get started about in an hour. It’s all open source and you can download it for free. Tim: Open source can mean a lot of things, can you talk about licensing, what is Dart about? What does it take to download and use it? And what if you want to extend it? Seth Ladd: Dart is under the BSD License. We’re hosted on Google Code. So you can just download it anytime, you get the source, you can get our binary packages. To get started, we have a holistic package with the editor our SDK and the program we call Dartium which is a build of Chromium with the Dart VM. That gives you real fantastic developer productivity because you can write Dart code and just hit reload in that development browser. Just the same productivity you have with JavaScript yet you get to use a language that has classes, libraries, types, and great new features like method cascades which is new to web programming and other nice features. Tim: Like a lot of other languages, Dart can be compiled into JavaScript. Can you help us understand how it is that it differs and how is that it is in its own language—why isn’t it JavaScript, why isn’t it Coffeescript? What makes it such a different kind of language? Seth Ladd: Sure yes. Dart is its own language with its own semantics. We looked at popular languages out there, and took some cues and inspiration and we have a Dart to JS compiler. Now that compiler doesn’t just translate into JavaScript, but it actually compiles. So we have real compiler engineers building a complier that says, “Okay, I’m going to inline this, I’m going to move this code around” instead of optimized minified concatenated output file, much like how GCC might take your C code now put really optimized inline assembly. So as a developer you sit in Dart and you compile out essentially JavaScript as assembly. Tim: I understand that at this point with the V8 engine which is actually faster than some hand written JavaScript code? Seth Ladd: Yeah, sometimes that happens. Because we have the ability to statically analyze the entire program Dart to JS that compiler turned out Dart to JavaScript, it can look and say “Okay, I don’t need this code,” or “I can actually put this here and make that faster for you”, and now put code that’s more optimized than maybe you would write by hand. Of course you could probably do it by hand if you wanted to, but that code wouldn’t be readable by humans. So let the tools do that for you. Tim: You are a developer advocate, can you talk about what that means in relation to Dart? What kind of community is there out there that you help to write programming? Seth Ladd: Yeah, developing apps gets a really cool position. We get to interface with a wide variety of customers and communities and end users. Now being the public face for Google’s developer product services and APIs. So, any day, I could be writing docs or running a training class or interacting on forums or Stack Overflow. Specifically with Dart I’ve had the real honor to work with a new community growing up, so I worked with package authors or helped answered questions or join the mailing list and help just bootstrap this growing community. Tim: You mentioned that it is growing, it’s only been around publicly for a couple of years now, what’s the momentum like with Dart? What sort of numbers do we see? How many apps are out there? What does it take for someone to add an app to the worldwide collections of them out there? Seth Ladd: Sure, yeah, we open sourced in October in 2011. We had a 1.0 release last November. Today at Google I/O in 2014, we’re happy to talk about a sneak preview of Dart as a service side application running in app engine as a custom run-time. We’ve also talked about Adwords frontend a large and important application to Google starting to transition to write into Dart. We also talked about how you can use the new polymer elements that you saw in the beautiful new material elements, you can also use those in Dart as well. Tim: The release schedule for Dart seems to be pretty aggressive Seth Ladd: Yes. Tim: You have had incremental numbers coming out pretty fast. Seth Ladd: That’s right. Tim: You said once a month releases? Seth Ladd: Well, Dart comes from Chrome, and we know that successful open source projects release early and release often. You want to get that feedback and just roll it into average release cycle. You don’t want to give end-users too long of a wait there. And so Dart said “If that worked great for Chrome, let’s do the same thing.” So we’re on a six-week release cycle, and we just have a train, we have a developer channel and we get early feedback from early adopters. They found the bugs. We fix them and push them out for the next release. And that auto updates, so every six weeks we get to push out the new awesome. Tim: Speaking of both development and Chrome, I wonder if you could just take a minute and talk about the new development environment that’s coming up with Chrome? Seth Ladd: Yeah, the other thing that we talked about here was Chrome Dev Editor—that’s a great example what you can build on the Chrome platform. The Chrome platform of course is the open web platform they HTML5 APIs, but also Chrome Apps which extend that and give you access to things like Serial or Bluetooth and some of the more hardware capabilities. With the programming power of Dart and the modularity of Polymer and the capability of the Chrome Apps, we’ve challenged ourselves to build a great editing experience. So today you can go to the Chrome WebStore and download the Chrome Dev Editor and see an example of what that Chrome platform is all about. Tim: So one final question: Who do you see using Dart either ideally or realistically right now? Is it a good language for students to pick up, as they go into education in general? Is it a good language for Javascript developers for instance? What is the ideal... that Dart programmer need to be? Seth Ladd: Yeah. Well, early this year, we ran a global series of hackathons around the world with our Google developer group communities. And the ones that I personally attended and the feedback that I heard—we had high school students, college students, experienced programmers, people that came back to development after a long time—that was really great. Because one thing we made sure is that Dart was an easily approachable language. If you’re familiar with any other languages you should be able to learn it in about an hour. If you’re new to programming we have tutorials that walk you through step-by-step. Because Dart has been designed recently we’ve learned the lessons that other languages have learned. We’re able to sort of fix the problems to make things easier so we’d definitely recommend it as a first language. Tim: One last thing I should have asked before I guess, are there new features that you are excited about in upcoming builds? Seth Ladd: Well, I think the thing that’s really exciting for me is our collaboration with Polymer, and letting you build the web components with the Dart ecosystem. Web components are great new set of specs that hit the web platform that allow you to build encapsulated, custom elements, so imagine being able to extend HTML itself, and create your own elements, you can now do that with Dart and be a first-class citizen in this new world that we’re building.

This discussion has been archived. No new comments can be posted.

Will Google's Dart Language Replace Javascript? (Video)

Comments Filter:

Evolution is a million line computer program falling into place by accident.