Can Google's Dart successfully replace JavaScript?
Google is developing a programming language called Dart that is ultimately intended to replace JavaScript that has fundamental problems which cannot be fixed. Also, Dart is designed to make a clean break away from JavaScript, so it is not backwards compatible with JavaScript. Can such a radical technology shift succeed on the Web?
Will Dart's radical shift break the Web?
For years, browser vendors have told us that Web technology must evolve smoothly. If not the Web could break. This was the argument that killed development of XHTML2, a markup language meant to replace HTML that has fundamental problems that cannot be fixed. Dart will be the same type of radical departure from JavaScript that XHTML2 was from HTML. So will Dart break the Web in the same way that XHTML2 was predicted to do? Or have we accepted that backwards compatibility must be built into browsers, not into programming/markup languages?
Does JavaScript have problems?
In the last few years, JavaScript has received a lot of praise for its massive performance improvements, new libraries and new APIs. So if JavaScript is so wonderful, why do we need to replace it?
The most serious problem is that JavaScript applications are inherently insecure and are vulnerable to mischief, attacks and data theft. JavaScript lacks the rich class libraries for features such as advanced drawing, encoding, encryption, network communication, etc. found in Java and .NET.
JavaScript applications are built from loosely coupled technologies, often by non-traditional programmers. The inevitable result is spaghetti code - code is complex, tangled, and full of workarounds for browser versions/bugs or shortcomings in the technology.
Most of the time (and so most of the money) spent developing applications is consumed by debugging. It is not possible to create an Integrated Development Environment (IDE) on par with Visual Studio or Xcode for JavaScript apps. This makes debugging such JavaScript applications far more difficult than comparable desktop applications. Also, JavaScript is an interpreted and loosely-typed language, which also increases the complexity of debugging. This means that the development of sophisticated JavaScript applications requires larger development teams, more time, and more money.
Is Dart's future shaped by technology or politics?
Assuming that Google Dart is technologically superior to JavaScript, can this fact alone make it successful, or will Google's hopes for this technology be dashed? Will Google Dart suffer the same fate as W3C's XHTML2?
Google Dart is off to a really bad start. The main problem is that Dart is being developed by a single vendor. Google's intentions would not have been put into question had they partnered with other vendors to develop this technology. Granted, Google does recognize that support from other browser vendors is important, since it plans to "sweet talk" them into supporting the new programming language. But do they have any plans to sweet talk us, the application developers, who are after all the ones that will have to learn a new language and new associated tools?
Conclusion
Google Dart aims to replace JavaScript in the same way that XHTML2 was designed to replace HTML. JavaScript does have technology problems that cannot be fixed, so there is a genuine need to replace it. But Google's unilateral, non-consultative approach presents it with some real challenges when it comes to convincing application developers to embrace Dart.
Comments are closed for this article.