Friday, June 14, 2013

Google Dart Language Status / Popularity 2013

Google Dart Language Progress 2013

Time Flies: Dart, one year later...

In May of 2012, I wrote a blog about how Google's Dart Language ranking / usage was on the rise. I was watching the Github language-popularity rankings for Dart quickly move from 70th position to 55th ranking between May 2012 and October 2012. Now I just took another look today, and one year later Dart is showing up in 56th position on Github. So, Dart's Github rank has essentially gone nowhere since October of 2012. So, what does that mean?

Well, I believe some of the early excitement over Dart wore off as developers (including myself) have been waiting for the Dart language and APIs to stabilize. I switched from heavy-development mode to "just keep code working with latest Dart SDK / APIs" mode for much of the past year (not to mention the fact the Dart team destroyed my ability to have standalone SVG-docs using Dart for interactivity - which previously worked).  In addition, I think a lot of people are waiting for projects like the Dart Web UI (Web Components) stuff to mature so it can be put to use in projects without heavy re-working later.

It is worth noting that the free Dart Editor has come a long way since last year, if you use it.  I personally use JetBrains WebStorm / PHPStorm product (which has a nice Dart plugin), but I can certainly appreciate the effort Google is putting into creating a free editor.  Though, I cannot help thinking that some of the time spent working on the editor would be better spent getting the language features, APIs, and libraries completed and stabilized.

In addition, Dart's code execution-speed / performance is fantastic now!  This is certainly worth noting, and keeps my interest in Dart.  When Dart is running twice as fast as JS (in V8 engine, which is quite speedy JS to begin with), that is impressive, which is partly why...

Dart Language is Getting Noticed Yet

I just took a look at the TIOBE Programming Community Index (June 2013) site (FYI, the TIOBE Programming Community index is an indicator of the popularity of programming languages), were I encountered this (quoted material) in their monthly summary, which notes Dart's progress / presence:
...there are also some threats for JavaScript. The JavaScript language is generally regarded as a programming language in which it is easy to make mistakes. It is interpreted, so most errors show up only at run-time. That's why Google designed Dart (currently at position 80) as JavaScript's successor. But also other programming languages were designed to generate JavaScript code instead of writing it manually. Examples of this are CoffeeScript (position 139) and TypeScript (position 207).
Yes, Dart is more than holding its own compared to Microsoft's own Dart-like language, TypeScript.  But, it is nowhere near the well-entrenched JavaScript (which was in 10th place this month).  Google has done a decent job of talking Dart up at developer conferences and so froth, but much more will have to change before Dart truly threatens Javascript...

What is needed for Dart Language adoption to increase?

Now, that sure is an open question subject to all sorts of debate.  As I mentioned, I want/need the language features and APIs and libraries to stabilize before I commit much more heavy development time into Dart projects.  Furthermore, Google needs to really embrace Dart (internally) in such a way the shows us developers that we are not investing in something that is going to just fade away.  And, I mean more than just *talk*.

I find it frustrating that projects like the (native, not js-interop) Dart-based Google Visualization API / Google Charts projects have just stalled out and appear, essentially, abandoned (if anyone can even find these anymore).  What's up with that?  For a while, it looked like the Dart team was going to produce native Dart-language layer for products like Google Visualization, which I'd love to see.  I recently needed to use Google-Viz / Charts with some Google Table data, and I looked everywhere for native Dart stuff.  In the end, I just gave up and used JavaScript for the project, and hated every minute of it (I find Dart coding productivity to be much higher than JS, as I really enjoy class-based OOP as natively implemented in Dart).

There there is always the question about: when will Google's cloud (Google App Engine) support native Dart-based hosted web applications?  Seems like a very popular topic/question that remains as yet open. Or, how soon will the Dart VM be included in Chromium / Blink browser?

Until more "core" and "mainstream" libraries exist natively in Dart (starting with Google's own various public libraries and APIs), I just do not see how Dart's adoption will surge.  Sure, it will slowly grow, but it would grow a LOT faster if there were some substantial popular libraries and APIs out there that were written in native Dart.  Dart's execution speed is fantastic, but that alone is not quite enough for me to commit fully to Dart.  That's my opinion for now at least.  I remain a Dart developer, but a software developer that is also waiting for signs that I will not be investing my time into something that becomes the next Delphi (i.e., technically superior, fast, but low market adoption niche language/product).

Continue to read this Software Development and Technology Blog for computer programming articles (including useful free / OSS source-code and algorithms), software development insights, and technology Techniques, How-To's, Fixes, Reviews, and News — focused on Dart Language, SQL Server, Delphi, Nvidia CUDA, VMware, TypeScript, SVG, other technology tips and how-to's, plus my varied political and economic opinions.

1 comment:

Anonymous said...

delphi is a decent language, poorly maintained at the present time
vcl is a very good enterprise framework, especially when you know what you are doing (properly using rtl, (remote) data modules, master-details, dataware controls, not too many 3rd party components and a not too old ide)
clx is a joke so is fmx
the worst part is that current delphi jobs (if you happen to find one) are mostly very old code, without many coding standards (if any) with absolete design patterns and in teams generally managed by handy seasoned developers (without proper software engineering degrees)
professionally, at this moment, it would be simply suicidal to stick with this technology! period