It is very difficult to forcast when it comes to technologies. Nevertheless, as of today I have every reason to believe that Dart might become one of the most popular programming languages in the world. In this post I will try to explain this bombastic conclusion.

It is fairly clear that more and more applications for all platforms are been developed using web technologies. Whether you develop for mobile platforms (such as iPhone, Android, Windows Phone or any other platform) or for desktop platforms (Windows, Linux, Mac or any other platform) using JavaScript and HTML5 APIs specifically (when feasible) is the only practical way for developing for all platforms. Some platforms alrady assist us with using JavaScript in the development process. Windows 8 allows you to write the entire application in JavaScript without been required to use any other specific application. JavaScript is a powerful programming language. Yet, it doesn’t belong to the main stream. It feels different comparing with the classic programming languages, such as C++\C#\PHP and Java. For most developers, coding in JavaScript directly is a nightmare. When coding in Dart, a programming language that feels like the classic programming languages, we automatically get our code compiled into JavaScript. None of the alternative programming languages (e.g. CoffeeScript) we can convert their code to JavaScript is powered by a strong player as Google. None of the alternatives includes a complete eco system that includes development tools and rich user interface libraries. The porting of GWT these days into Dart will be the first step in turning Dart into an highly popular programming language.

The code developed in Dart can be executed either on a Dart VM or convered into JavaScript and executed on a standard web browser. Unlike the Java Applets model that was based on Virtual Machine that is already installed on the web browser or the Silverlight model that requires a Silverlight execution environment tailored for each platofm or the Adobe Flash model that was based on a Flash plugin, this time the competitors won’t be able to interfere. Disabling the option to install a Dart VM on the platform will hardly mean anything as the code written in Dart can be compiled into JavaScript. Apple won’t be able to stop Dart as they did when preventing Adobe from having Flash player on the iOS platform. The same with Microsoft and any other company. Developers who write their code in Dart will simply have it compiled into JavaScript. Competitor won’t be able to develop an alternative technology that will interfere with Dart as Microsoft did during the 90’s when developing Visual J++, their version for Java VM in Internet Explorer (in the beginning Visual J++ was similar to Java… at some point it started to evolve differently.. which forced applets developers to develop two versions for their applets). At some point in the future we can even expect Google’s competitors to embed the open source Dart VM in their web browsers (and as a result of that in their platform). It will be the only option to prevent a massive move of users to the chrome web browser (Dart runs much faster when using a Dart VM… and it is enough to have one or two popular web applications that runs smoothly on Dart VM only).

Given the similarity with the Java programming language, it is certainly possible that at some point Google will choose to migrate the Java layer of the android platform into Dart, just as they are doing these days migrating GWT from Java into Dart. When that happens, the most popular platform will no longer be mainly programmed using Java. It will be Dart that will take its place. On the other hand, it is also possible that Google chooses to leave the Java layer in its place. It is after all well known that the software development focus is moving to the higher layers  (using JavaScript and HTML5).

Learning Dart is very simple. The optional typing makes it comfortable for eveyone. Those who have background in Python, PHP and JavaScript feels at home. Those with background in Java and .NET can continue with their strictly typing spirit. Unlike the mistake Google did with Android, when waiting with having one bundle (available in one single download) that includes everything the developer needs, this time we can already find an IDE (based on the Eclipse) bundled with everything we need ready for us in one single download. One download and you get everything you need (Dart Editor, Dart VM, Chromium already configured with the Dart Editor). In addition, the IDE itself is polished and intuitive. Google doesn’t repeat its mistake with Android when leaving the Eclipse IDE unchanged during the years (only recently they started polishing the Eclipse IDE for Android). Bottom line, doing the first steps with Dart is very simple. Coding in Dart is real fun.

The last main reason for my conclusions is Google’s need in their own programming language. Microsoft has .NET. Oracle has Java. Apple has ObjectiveC. Looking into the future it is clear that at some point Google will try to expand into the enterprise market. Google cannot move forward in that direction without having their own OOP structured programming language. Google has the money and the developers. They are moving forward with Dart. It is just a matter of time till the open source community will adopt Dart. Together with this community, as Google did with Android, we can expect them to succeed.

Maybe I am wrong with my conclusions. Maybe I am right. In any case, it will surely be very interesting to wait and watch the evolvement of this new programming language.

Leave a Reply

Your email address will not be published. Required fields are marked *