Skip to main content

I Will Not Learn Dart

I don't want to learn Dart, at least for now. I hope to explain in this post how I think, so begin.

Dart want to be next big language of the Web, but this really doesn't matter. JavaScript will be with us for years from now, and other Browser vendors do not implement it, at least if Google do not pay them to.

It will have at best all Chrome users, and this probably be about 20-30% even in a couple of years, so only a couple of developers will really use it for real. Just now how GWT now is used. 
GWT and Dart will be used only by people that use Java, but they not WebDevelopers most of the time. Most of WebDevelopers write JavaScript, not Java or even PHP. 

What are benefits of Dart rally?
  • classes
And that's pretty all of it. 

Really, there is nothing really impressive in this new language. This is mix of some other OOP languages. Nothing new. I can tell that this is boring. 

Even getters na setters are available in JavaScript, just nobody use them because they are slower. 
Types - JSEngines guesses types, and if only programmer stick to one type in one variable it will work really fast on new VM, this isn't really a issue here. In optimization faze it can be easily done without types in language. 

As I see It now, Dart will probably end like Go for servers. Anyone really use it for real. Somebody on the whole world for sure, but it don't catch up. 

Consider running the same code on server and client. Node has done that, nothing new. It would be nice but not really that important. 

"at least for now" - time to explain this.

Oracle is not happy seeing Java on Android, especially because they get Java and make it only for them. Java was supposed to work pretty the same on all platforms, Google ignored it and implement only a subset of it. In my opinion Oracle should win it. 

What Google want is really new language that is very similar to Java, to be familiar to Java developers. Language bring all sweet sugar to developers from Java. This is all they want from at least a couple of years, and now are waiting to see in Java 8. 

Read the post from conference:
09.13LarsBak: the competition is not JavaScript … We’re up against the fragmented mobile platforms
Do You all get it now? 

Dart is not new JavaScript, and it rather never will be. Instead it will be new language for Android, just like ObjectiveC for iPhone. Chrome will support Dart, but probably only chrome. There will be tools compiling Dart to JavaScript just like now they are for Java (GWT) but this is nothing new. It wouldn't be really standard. Nobody that has at least some knowledge about the web would not consider Dart as the main language, at least I think and hope not. 

After about year or two I can think about learning Dart, for now I prefer to Learn better JavaScript. It will be for years from now with us. Dart would be interesting when it will be available in Android (maybe I finally buy one ;). Dart would be in my opinion better than Java, easier, more powerful. 

I can be wrong, many times I was, so If You like Dart use it, make it better, but please do not tell me that it will be new language of the web, JavaScript has done this and it will be for at least a couple of years from now. 


Popular posts from this blog

How to simulate slow connection (developer proxy in Node.js)

Update: If you use Chrome then you can use "Throttling" so simulate slow network for all your assets. This should be easier than proxy.

Toggle device modeChoose Network type.Refresh the page 


For some time I wanted to use some proxy for development and testing of eg. slow internet connection, but it was hard to find something useful and free. I know there is Charles but buy it to use it at most one in a month is not for me.

I started thinking about Node.js, maybe I can write proxy for me? But fortunately I found one.

With this module I can write really short code to create slow server:

var http = require('http'), httpProxy = require('http-proxy'); httpProxy.createServer(function (req, res, proxy) { var buffer = httpProxy.buffer(req); setTimeout(function () { proxy.proxyRequest(req, res, { host: 'localhost', port: 8080, …

How to use NPM packages from private repositories on bitbucket

Using Node.js you want to use NPM packages for reusable parts of the apps you create, that is a common sense. At the same time not everything makes sense as a public module unfortunately. Right now we are using Bitbucket at work for private repositories but there is a problem. How to use them as NPM modules? We do not want to publish them to the public but still want to have an ability to install them easily.

After googling and experimenting I have found simple solution.
First create new user in your organization with obscure password and give it read access to the repo. It is best to assign really obscure password but do not fool yourself. This is convenient but you must sacrifice security a bit. You should always consider how in your context that would be important.

Change example from below to:
user - username
PASS - password of the user
organization - owner of the project (you can find it in bitbucket url to your project)
project - your project name