133 comments

[ 3.7 ms ] story [ 221 ms ] thread
It doesn't show how much Rust inproved in usage compared to last year.
Probably because it's failing and is mismanaged.

Don't get me wrong, I hate dart almost as much as rust, but Gilad is a powerhouse and there's some interesting projects. All rust has is servo, a bunch of cucked-out communists, no standardization, etc.

Why the downvote? Rust is on 41th place on the linked TIOBE index and I would expect it to be growing faster than Dart from the HN articles that were popular last year. Dart was compared to last year on the index, but Rust wasn't, so I don't think saying that Dart was the second fastest growing language is fair.
It did say that, "Rust kept its top 50 position (from 47 to 41)."

But also, Rust and Dart are very different languages, so bringing Rust up here feels very offtopic.

Thanks, I didn't see it..I thought it's interesting because every few days there's a new library ported to Rust shown on HN, which gave the impression to me that it's the fastest growing language.
Rust people are very good at marketing and community building and you have experienced it yourself. Which is a great thing, it would be sad for such a promising language to fail because "people just didn't get it".
> Rust people are very good at marketing and community building and you have experienced it yourself.

This is why languages succeed and fail, not technical merits.

At HN, we're a very small community in a very large profession. Viewing what that larger profession is doing based principally on what you see here is likely to be misleading.
And yet, I very very rarely hear anyone talking about it? I assume it's pushed heavily internally at Google, but anecdotally it seems nigh-unused outside of Google.

Am I totally off?

Absolutely. Reading HN is not a barometer for the real world.
Yeah, this is my impression too. This is the first mention of it I think I've heard in the last year, and I'm in the web development scene. Meanwhile I seemingly can't get away from rust mentions, which seems to have people really excited.
I have the impression that Dart's lunch got eaten by TypeScript. The latter is the preferred "improved" compile-to-JS language now, and the efforts to push a Dart VM didn't get any traction outside Google, whereas WebAssembly looks like it will be the new VM standard.

Doesn't leave much for Dart.

If this turns out like you say, it's interesting that both TypeScript and WebAssembly grew out of efforts to extend King JavaScript while not rocking the boat enough to scare away developers.
I think WASM rocks the boat quite a bit, in a good way.
Apparently there is at least one reddit moderator that doesn't like Dart and actively bans users when they try to post legitimate articles in webdev forums:

https://plus.google.com/+MontyRasmussen/posts/UWyjF5S14Uo

I'm not saying that this is general to moderators, but some people try to deny it exists or is relevant (probably because they have invested in other toolchains), and if your filter-bubble is controlled by them, you will miss out.

Equally possible: the user was posting so many dart articles it was crowding out higher quality non dart stuff from the 'new' queue.

Assuming the moderation action was due to "not liking dart" when we've nothing except the complaining of the newly-banned to substantiate it doesn't strike me as particularly fair.

(comment deleted)
I think that's a bit conspiratoralist.

If dart was popular you'd see the flag being flown in multiple places; you dont. Its not. Even the /r/dart subreddit is dead.

It's not because of some conspiracy to bury dart news; people just don't care.

Community is important.

> Even the /r/dart subreddit is dead.

/r/dartlang is the main Dart subreddit.

In Hungary I know about a few teams that are developing in Dart both server- and client side. Mostly under-the-radar because of the nature of their products, but still, choosing Dart over TS, Go, whatever your hype is...

(If locals are listening in: we are planning to organize a meetup in Budapest, contact me if interested.)

Maybe not. OTOH, if it continues to grow at Google, that can power development for quite a while and provide plenty of opportunity to hit the key use case that drives outside adoption (e.g., the equivalent of Rails for Ruby.) With web front-end (compile-to-JS), server (DartVM), and early-stage mobile (Flutter) stacks, there's a lot of places that key win could come.
All it needs to gain traction is a popular open source project just like docker and kubernetes did with go
I honestly thought the project was either dead or terminal. I tried to adopt it for a pet project 3 years ago and never followed through, and I haven't heard much about it since.

Given that what I liked about it most was types and web components, which are pretty robust now with well established tools (Typescript and React), I wonder what's the real allure in Dart as opposed to those seemingly more popular options?

Regarding Typescript vs Dart. For me, the allure in Dart is that it's a very clean and nicely designed language, as opposed to a superset of a horrible one.
I believe it has a lot to do with internal Google politics.

Back in 2004, Google hired Lars Bak and his team (who had previously created the HotSpot VM for Sun) to create the V8 JS engine for Chrome. Their work was a spectacular success. Overnight, JS became one of the fastest dynamic languages in existence, and this ushered in an arms-race for better JS performance across competing browsers.

However, after a few years of wringing ever more speed out of JS, Bak and co. were totally fed up with it. In particular, how its various quirks prevented a lot of the optimisations they wanted to do. Afraid that Bak would quit, and maybe go work for a competitor, Google schemed to keep him. They let him design his own new language (originally called Dash, later Dart) that would be more amenable to optimisation, and planned to ship a separate Dart VM within Chrome.

However, these plans got leaked, and caused a bit of a furore back in 2011. The feeling was that Google were attempting something of an Microsoft-style takeover of a big chunk of the web platform. When other browser vendors said they wouldn't ship a Dart VM, they plan was dead, sort of. Google still wanted to keep Bak and his team on-board, so they let them continue working, and they developed a Dart-to-JS compiler so Dart could run on the web without a separate VM.

Google's big enough and rich enough that they can afford to run plenty of these strange projects. And if Dart is popular internally, and delivering value, why kill it? It is ironic though that of all the big web platform technology plays that Google have made — GWT, Dart, Polymer — the one that went stratospheric was Angular, a random, minor open-source project without any place in the grand strategy.

Incidentally, one side effect of all this was that Chrome's V8 engine lost most of its key developers, and so its progress stalled for quite a while. Eventually Google formed a new team V8, based in Munich, to pick up the ball. That's why there's been so much more progress on stuff like ES6+ features and better JIT compilation in the past year or so.

Thanks for the retrospect. I always think Dart has lots of potentials. It could be a great general-purpose programming language, as versatile as perl/python/ruby while tens of times faster than them all. Unfortunately, the dart developers are too obsessed about web programming and reluctant to embrace the bigger world. It is really a pity.

PS: when dart came out, javascript was already blazingly fast (as a dynamic language) and largely usable. Dart is indeed better but not that better to revolutionize web programming. On the other hand, most general-purpose programming languages are very slow even nowadays. Pypy is faster than CPython, but not to the level of V8, dart, julia or luajit. A capable JIT compiled dynamic language may change how we program. Dart was the closest, but missed the target.

Julia is a general purpose language
Julia focuses too much on numerical programming, which makes it great for matlab users, but awkward for other purposes.
> A capable JIT compiled dynamic language may change how we program.

You mean Lisp? AOT/JIT available since the 70's.

Seems like nim and crystal would fill that void better, maybe even rust.
Yes, especially considering that Nim can compile to JS too. It truly is general purpose in that regard.
> Seems like nim and crystal would fill that void better

Having seen a talk on Nim at the Bris.tech conference [1], I can't think of any void it would fill better than an alternative. My takeaway was it was a very flexible but poorly designed language with too many ways to do anything.

1. Video coming soon; keep an eye on https://www.youtube.com/user/bristechmeetup/videos

That's sad to hear. But I want to learn more. Can you give some specific examples of what gave you that impression?
It's a really weird story. stupidcar's post basically describes the early history. It was always kind of an ugly stepchild with the Chrome management when I was at Google - had some incredibly talented engineers working on it, but little executive buy-in.

But then sometime while Chrome was ignoring it, some ads engineers (who are also incredibly talented) decided that Dart would be a core language in their new ads platform. Which meant that when the Chrome team decided to kill it, Ads piped up and said "No, you can't do that, it's a key part of our infrastructure, making $75B/year and paying all of your salaries." As a result, the whole Dart team was moved over to Ads, where they continue to improve the language & tooling so that Google can continue to make money.

Ironically, this probably means that Dart is right up there behind COBOL, C, C++, and Java in terms of the amount of money it makes for its users, and well ahead of more popular languages like Python, Ruby, Perl, PHP, Go, Rust, etc.

How long will it be before Google's Angular becomes popular, and the company decides it isn't economical to have two javascript-ish languages? My money is on Typescript.
Google has rarely shied away from having 2 (or 5, or 12) of anything:

Angular vs. Polymer.

GWT vs. Angular vs. Closure vs. Polymer.

YouTube vs. Google Video (the latter was still a thing up through 2011, 5 years after the YouTube acquisition).

ChromeOS vs. Android.

Google Toolbar vs. Chrome Frame.

Chrome vs. Android Browser.

GTalk vs. Messenger vs. Hangouts vs. Allo vs. Duo

Google Toolbar and Google Frame are different projects with different purposes.

Same for Angular / Polymer. It seems you added them to your list just so that it would be longer.

But a lot of those alternatives you counted have been or are about to shut down
Actually aforementioned ads frontend that uses Dart is also using Angular.
Are you saying Angular is not already popular?
Indeed.com has 0 Dart jobs by title and TIOBE is a joke. Given that Google uses about 4 languages routinely (Go, Java, Python & Dart) this is nothing more than internal back-patting with no relevance outside the Googleplex.
(..., Javascript, C++)
ObjC (probably a little Swift just to test if its ready yet), C, and probably tons more like most huge tech companies :P
I don't want to dog on anyone's language, but any list that purports that Typescript is significantly less popular than Scheme, Haskell, Alice, Lisp, COBOL, Ada, Logo, and a few dozen other languages you probably haven't ever heard of, is a complete waste of time.

I don't even use Typescript and even I know that especially with Angular 2 Typescript is gaining a lot of popularity and it was already doing well before they picked it too. I mean it isn't even on their list in the top 100. How is that possible?

It says that VB.net is more popular than Javascript too. Like that is even possible.

> I mean it isn't even on their list in the top 100. How is that possible?

I'm guessing that most people would google "angular ..." instead of "typescript ...", that's why it doesn't show up in tiobe.

Pascal is still top 20 on TIOBE and growing in popularity ... ok.
In Germany and Netherlands there are quite a few companies using Delphi, to the point there are conferences organized, just like any other mainstream language.

This was the last one in Germany.

https://entwickler-konferenz.de/de/

Dart's fascinating. It feels high level and object-oriented like Python, and can be used both web server- and client-side. Check it out!
If somebody has an interest on what's new with Dart, I'd suggest to peek into the Dart Developer Summit 2016 videos. Previous HN link and discussion here: https://news.ycombinator.com/item?id=12838749

TL;DR: great developer tooling, hyper-focus on web and mobile.

We are writing spa frontend for email marketing service in dart. No angular, react, just lots of plain dart. Strong analyzer mode is used and dartium is always in checked mode. Dart shined most when we created drag and drop html editor. We like using it anl if anyone wants to know why we used dart ask for details. Check our app at listshine.com
Yea I found just using plane Dart to work really well. I preferred it over Angular. I had an entire functioning web app in about 80kbs, including all images, html, css, and JS. That was a while back, I'm sure its only gotten better.
What i personally liked is that we write once and in 99.9% cases generated js is compatible with all browsers. Also type checking and strong analyzer mode helped catch ton of bugs. Im sure if you bet your next project on this tech you wont be sorry. Fast code and fast development with webdev batteries included.
Yea actually I forgot about how slow it was to compile to JS. They are saying it should around 100MS now to do a dev compile. So its feasible to use other browsers actively during development. That is probably the biggest thing for me they announced at the Dart Con.
You don't always have to jump to the hype train! Yes, you don't hear much about Dart here on HN, but the project is far from dead. The most important thing is that Dart works, it's stable and production ready and it's being used in production not only by Google but also by other companies.

Dart is a very refreshing change for front-end development. No fatigue! Great tooling, nice language without surprises and optional static typing.

On the backend you get probably the fastests dynamic language out there, maybe competing only with LuaGIT.

The new Flutter for high performance mobile app development looks seriously awesome. I specially love the instant live reloading.

Dart's package ecosystem (pub.dartlang.org) seems healthy with constant updates and new packages.

I have no idea how TIOBE works, but I find weird that people accuse Google of manipulating it to promote Dart. I believe it's the opposite, Google has done very little to promote Dart, and that's why you don't hear about it very often. I believe the project deserves more promotion because it's seriously good. Give it a try one of these days!

EDIT: I do not work for Google

The one issue I had with Dart, was typing was optional. But at the last DartCon they announced they are creating a strong typed mode, which forces typing and type correctness and it generates higher preforming code. Yay!
i think strong typing generates same code as optional typing if you are not using dart dev compiler.
I think they mentioned some gains in the size of the compiled JS. I don't remember tho.
When you say the "dev compiler" are you referring to the DartVM? While (embedded in Dartium browser) that's used for dev convenience for front-end, it's also (without the browser, obviously) the main target for back end Dart.
The dev compiler translates Dart code into human readable JS code. So you can write a library in Dart and still provide JS code someone could realistically adapt to their environment or if Dart were to go away it would allow you an easy path of escape.
That's true today, but we're integrating strong mode into the VM and dart2js right now. Soon, the whole platform will have full support for it and all of the benefits you get from a sound type system.
I've looked into Dart a few times and thought it looked interesting, but never really dug much into it. I've also really only heard of it being used in Google. Oh, and I remember hearing Notch was using it in a game jam a few years back.

I saw Flutter when it was first announced, and something that caught my eye back then was that it looked like it took some inspiration from React. I'm a big fan of React. Their home page [0] says: "Note: Flutter is an early-stage open-source project. We hope you try Flutter out and send us feedback." Would you say it's ready for production?

Could you provide other examples of use-cases for which you'd use Dart? Does it have good editor integration for autocompletion and linting? Is debugging painful? One of my favorite things about JS is Chrome Dev Tools.

I don't mean for this to come off as rude or negative, but I'd be interested in hearing a bit about where you consider the language or ecosystem falls short. I find discussing the downsides, limitations, and problems helps in understanding the tool and setting expectations. Nobody expects a magic wand solution, of course.

One of my pain points from working with a large SPA is architecting the application so it's easy to lazily views as needed. By itself it's not very difficult, but getting the whole build / development / test environment workflows setup is more challenging to get right. Does Dart have good tooling for generating builds? I use Webpack with the large JS SPA I work on, and one of its killer feature is that it'll crawl the dependency graph, copying assets to the output folder, and updating references. Unfortunately, the default behavior makes it most easy to generate a single large JS bundle.

[0] https://flutter.io/

I haven't used Flutter yet, and I think it's probably not production ready yet, but I think it has a lot of potential.

Regarding editor support, it's been great from the very beginning. A few years ago, the Dart Editor was a pleasure to use and nothing else in frontend development was even close, this was before vscode existed. It had integrated debugger and code completion worked really well, it's a bit sad that they decided to discontinue the editor, but these days WebStorm has all the features and more. There are also Atom and vscode plugins but I haven't tried them.

Debugging experience I think it's one of the highlights of Dart tooling. The observatory tool is great and it not only helps with debugging but also with profiling. I seriously recommend it.

More good tooling in Dart includes the package manager which is very well designed and easy to use, and the code formatter which just does the right thing.

Where it falls short: JavaScript interoperation. There is some, but very limited. They are working on it, but it's not quite there yet.

I'm missing autocompletion for vim.
> Does it have good editor integration for autocompletion and linting?

Yes, we have full IDE support in IntelliJ with auto-complete, go to definition, find references, and all the other navigation stuff you expect from a modern typed language.

Similar features are integrated into most other editors too, though I'm not as personally familiar with them. I know we have a lot of people using Dart with Sublime, Atom, Emacs, and Vim.

> Is debugging painful? One of my favorite things about JS is Chrome Dev Tools.

There's debugger integration into IntelliJ and Atom. If you're using the dev_compiler[1], it generates human-friendly JS that you can step through, and also generates full source maps[2]. That all works really nicely with Chrome Dev Tools.

The VM also includes a really powerful profiler/debugger[3] that you can connect to with a browser to poke around and see what's going on in your running program.

[1]: https://github.com/dart-lang/sdk/tree/master/pkg/dev_compile...

[2]: https://www.html5rocks.com/en/tutorials/developertools/sourc...

[3]: https://dart-lang.github.io/observatory/

As noted in http://www.tiobe.com/tiobe-index/ the changes in google's indexing algorithms caused massive swings in their index. If you search google for "Java programming" and "C programming" you'll note approximately the same ratio of the "Java ratings" to "C ratings".

The results of the toibe index are heavily influenced by google's search.

People working on Dart working at google would likely be familiar with how to create a page that has improved google visibility compared to say... the R or objective C communities. This isn't a "ohh, nefarious!" type thing but rather a "how to make a web page that conforms to everything that google search would want" is part of the way one would think.

It is possible to game tiobe given that its strongly influenced by google's search results. If you go glance at delphi's history in 2008, you'll see gamification of it - http://web.archive.org/web/20120312021442/http://delphi.org/... http://web.archive.org/web/20120312021416/http://delphi.org/... http://web.archive.org/web/20120312021435/http://delphi.org/... - and then you go look at the graph for delphi, and you'll see http://www.tiobe.com/tiobe-index/delphi-object-pascal/ .

Simply having well crafted pages that get indexed well for Dart would be sufficient to bump a language on Tiobe. And that's why its all a load of marketing.

>The results of the toibe index are heavily influenced by google's search.

From TIOBE:

The ratings are based on the number of skilled engineers world-wide, courses and third party vendors. Popular search engines such as Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube and Baidu are used to calculate the ratings. It is important to note that the TIOBE index is not about the best programming language or the language in which most lines of code have been written.

Hi, I'm on the Dart team.

The people who work on dartlang.org do try to make it search friendly, of course, but I don't think anyone on the team takes TIOBE very seriously.

According to their chart, C lost half of its popularity in 2016, and Delphi is more popular than Go and Objective-C.

I could be wrong, but I think the spike in Dart's popularity recently is mostly because there was a world championship in "dart" (the pub game) recently.

The primary goal of the TIOBE index is not to accurately measure language popularity, it's to increase the popularity of tiobe.com. And, at that, they're doing a great job.

For me the project died when Google decided it wasn't worth it to support it any longer in Chrome and Angular team decided to use TypeScript instead.

Regarding Flutter, I watched the conference where it was presented and none of the devices I own was able to launch the application.

https://play.google.com/store/apps/details?id=io.flutter.gal...

Unless Google does actually use the language to the point a few well known companies think it is valuable to use in their own products and talk about it, e.g. "X rewrote Z in Dart", I don't see much of a future to the language.

> Regarding Flutter [...] none of the devices I own was able to launch the application.

Is it still the case that none of your devices are able to launch Flutter Galler App? In an unfortunate coincidence the build that was published to Play Store right before the Dart Summit was flawed and declared that it is incompatible with most of the devices except for latest generation ones. This was rapidly fixed - but fixed build did not get into the Play Store on time.

I didn't bother to test it again.

Just tried it now on a Samsung S3 (Android 4.3).

It does launch now, just the rendering is a bit wrong.

The Android Application bar overlaps with the one generated by Flutter, thus only showing the lower half.

> For me the project died when Google decided it wasn't worth it to support it any longer in Chrome and Angular team decided to use TypeScript instead.

For me too. I have spent 3-4 hours looking through the samples etc. But even with TypeScript being so popular, it's hard to find quick samples for tasks one wants to do. So investing in one more new language didn't seem that attractive.

I feel your sentiment. But I always thought getting browsers to adopt Dart was a crazy and impossible idea. I was actually glad when I heard they had abandoned that plan.

Flutter confuses me. Its annoying you have to use their DSL for layouts rather than HTML and what about native widgets, like WebViews or VideoPlayers?

With them drastically speeding up the Dart2JS compiler and implementing a strong typed mode, I am quite pleased with Dart's direction.

I do still fear for its future. It would be really to sad to see Dart die. The last web app I made, I was able to make the entire thing in under 90kbs, including HTML, CSS, SVGs, and JS. Dart allows me to write desktop like applications for the web with any extra overhead.

> I feel your sentiment. But I always thought getting browsers to adopt Dart was a crazy and impossible idea. I was actually glad when I heard they had abandoned that plan.

I agree; a saner approach than adding one particular language at a time to browsers is to give browsers support/hooks which arbitrary language implementors can target, without having to perform gymnastics like compiling to JS.

It looks like WebAssembly is (at least the first step) in that direction, so Dart and others can use that as and when it matures, without creating a legacy of language-specific issues for future generations of Web implementors and archivists do deal with.

> But I always thought getting browsers to adopt Dart was a crazy and impossible idea.

I don't know — browsers are already planning to adopt a non-JavaScript language (WebAssembly); it's entirely possible that maybe, just maybe they might start to support more than just the late-90s mistake which is JavaScript.

As someone that enjoys more developing native apps than web ones, I imagine Web Assembly will eventually be the revenge of plugins.

How long it will take for Canvas/WebGL + WebAssembly frameworks to appear?

Eventually someones going to create a XML based layout language to use to construct views in the Canvas, we could even call it HTML ;)

I'm not a web developer either and I look forward to WASM and its potential. But I really like HTML, I've used lots of layout languages before and I think HTML is the best I've used. The only thing I find HTML to be obtuse about is complex animations.

>"X rewrote Z in Dart"

I don't believe I has any chance to happen this way.

I work on a big mobile app, I can see us adopt Kotlin, since we can mixup java and kotlin naturally (it outputs bytecode, so it is very interop). Flutter ? Even if you fix the runtime (and that's a big if), it means rewriting the whole app from scratch.

What I can see happen is google releasing Fuchsia as the future of Android and flutter on Android as a way to bridge the gap.

TIOBE goes to Alexa goes down the list and gets the top 25 sites that have a search box on the front page, and will tell you how many results come back from a search(this means odd choices like ebay are in the mix). 15 of the 25 are Google owned ie google.com, google.fr, youtube.com. They then search for "X programming" and use the reported number of results.

Therefore it would be very easy for someone at google to manipulate the index. I am not sure why they would bother since the index means nothing. There are much easier ways for Google to make Dart a thing if they wanted it to be a thing.

Dart is also the 41st largest language on GitHub, growing slower than the average. http://githut.info/
Looks like that data hasn't been updated in over 2 years
Hah, take that, FORTRAN!
What are the lines in that chart meant to be? At first glance it looks like it should be a time series.
OK, so I started dabbling with Dart and wanted I've been wanting to do this for 3 years. Please bear in mind, I want to use Dart because coding in JS directly is not something I thoroughly enjoyed the last time I built a 'real' Web App. This is not a critique of Dart, it's just my recent experience ... if any of the points I make here make no sense, please correct me (I really don't want to use JS anymore!)

So I start by installing the Dart SDK on my Windows PC. First surprise, I noticed they no longer package the Dart-IDE when you install Dart SDK, a minor disappointment. But I get it, the Dart team explains they want to focus on core tools and let you use any editor (Web Storm is suggested but costs $$$, and remember I'm only scouting at this point). So decided to use the plugin for Dart in Sublime Text 3. Not perfect, but it works fairly well.

Other surprise, Polymer seems to be fading away. What Widget framework shall I choose? I chose React for it's one way binding which seems to make sense to a web n00b like me, since it will simplify the flow of data. The Dart team pushes Angular really hard, but I still install the Dart-react modules. Adding dependencies to a Dart project is fairly straight forward so far.

Using Dart-React does not bring the happy unicorns knocking at my door. Dart React does not (yet?) process JSX, which is a pretty big feature I intended to use with Dart. JSX allows you to define your components and reuse them. Oh well, no JSX, but I'll just have to resort to coding React components in Dart (which turns out to be a bit of a mess ...)

Now my shiney new Dart app needs to display some huge lists of Data in tables/grids. I could build my own, but surely some smart dev has done this before me! Found Slick Grid, but it's for JS (the Dart port is not as performant). Dart tools mentions that there is a JS Interop 'shortcut': If a JS component has been annotated (Typescript) you can use the annotated files to generate Dart Modules!

So I run the tool on the annotated Slick Grid typescript files. Success! It does generate the Dart libs! Ouuups, my boiler plate Dart project does not compile anymore since adding the Slick grid modules. Dig some more, fix the compilation issues (some obscure option was missing when converting from TS to Dart).

We're back on track, my project compiles but... no grid ever show up. Looks like it's time to test the debugging features for Dart. I get Dart to generate .map files for my project. This basically allows you to debug Dart code in browser (FF for me), and the debugging begins. I can spot exactly on which line of my Dart code the grid is supposed to be instantiated, but this requires me to move through the Dart to JS interop code and try to understand why there is a JS exception thrown somewhere.

So, maybe for some Dart gurus out there this is simple and run of the mill stuff. I would like to hear from you. So far I still don't have any data grids to show my huge data set ... and am still wondering if I'm going to install Typescript which seems more tightly coupled (in a good way) to JS.

Calling all Dart gurus, give me your thoughts on this, I want to use Dart and have it succeed.

Dart Noob

I don't develop on Windows, but I thought the community edition of IntelliJ supported Dart. There is also atom + the dart plugins.

In terms of web frameworks, consider having a look at Angular Dart, and the spiffy new Angular2 components https://github.com/dart-lang/angular2_components

This is the framework used by Google for Adwords, so you know it is going to be well tested and supported.

what we do at listshine is run code on dartium in checked mode. when it works 100% then we build js version in staging and after that is confirmed to work then we do production build. debugging dart code is faster and better in dartium
OK, but what if I am using JS interop code? Dartium still won't help me, because I still need to go through the layer which allows to 'glue' my Dart code to the JS code.
That is true but part that is in dart will be easier to debug
I think officially recommended web framework for Dart is angular and not react.
I use VSCode Dart plugin, although you can also install the Dart plugin for IntelliJ community edition.
if you do the build with "pub build --mode=debug" you can use sourcemaps to debug either in chrome devtools or firefox
Soundtrap used dart to build the first webaudio/webmidi DAW in the browser pretty impressive haven't seen anyone build anything that complex without dart.
Soundtrap used dart to build the first webaudio/webmidi DAW in the browser pretty impressive haven't seen anyone build anything that complex without dart.
Dev lead here for a tiny startup. I selected Dart for front and back end, sharing code between them. It has been a great experience and I don't have many complaints. One of the designer's goals was familiarity. I believe they definitely nailed that goal. We've had experienced devs contributing to the codebase in 3 days without ever seeing a line of Dart code before. And they absolutely love working with Dart. Here's some nice features to those who aren't familiar with the language:

- Class-based, object-oriented

- Static typing

- Generics

- Async/await that makes your asynchronous code look like synchronous code - (avoids callback hell)

- Generators

- Future-based, non-blocking APIs

- Positional, named, optional parameters with default values

- Arrow syntax for brevity

- Type inference

- Packages facilitate modularity

- Named constructors

- Functional programming features (map, fold, reduce, where, take, forEach, etc...)

- Cascade operator

- String interpolation

- Implicit interfaces

- Mixins (Code re-use without complex inheritance hiearchies)

- Reflection

- Streams

- Operator overloading

- Metadata annotations

- Concurrency through Isolates

- SIMD

- Call into JavaScript code and vice/versa

- Generate nice documentation with /// dart comments

- Built-in testing facilites - pub run test

- Open source

- Open standard

I've never even considered Dart. If I'm going to choose a foreign (to me) stack, I'd prefer it was in a functional language. I'm curious to hear a few things from your experience: how fast/slow are the builds? What cons do you have now that you've been using it a while?
How many of these aren't available in ES2015 or TypeScript?
I have been exposed to TS a bit, so this list may not be exhaustive, but to name a few that I use on a regular basis:

- Consistent async API (incl. Future, Streams, async* for Streams, async/await support everywhere). async.js is nowhere near to this.

- Type inference and analyzer toolchain that works and don't need to fall back on grep. The moment you start using anything like lodash or similar you will lose your ability to explore the code reliably.

- Isolates and Zones as higher-level constructs for dealing with complex concurrency and parallelism constructs. Nothing comparable in the JS world.

- Cascade operator.

- 1 != "1" (have been burnt by JS several times, and TypeScript won't provide a break from it)

I hope to use soon:

- SIMD

> - Consistent async API (incl. Future, Streams, async* for Streams, async/await support everywhere). async.js is nowhere near to this.

There now are Promises and Promise-based async/await keywords. Sure, there are some legacy APIs, but this is no longer as true as it used to be.

> - Type inference and analyzer toolchain that works and don't need to fall back on grep. The moment you start using anything like lodash or similar you will lose your ability to explore the code reliably.

TypeScript has introduced mapped and lookup types in its latest version, that solves this problem.

We have a disagreement on the definition of "solves the problem". Having tried to refactor a codebase with heavy lodash use, that battle seems to be lost.

Also, take a look at the async* construct here: https://www.dartlang.org/articles/language/beyond-async

Nothing similar is in TypeScript, and this is roughly a two-years old feature in Dart, not a fancy-new hype. I have used it couple of times, it is useful, and again: consistent across the board.

Of course if you are happy with the limited promise support in TypeScript, go ahead with it. However saying that they are on-par is far from the truth.

How is fastest growing defined?

By percentage? That is easy for niche languages with small markets. By lines of code? That is impressive.

Looking at HN's Who is hiring job posts there is zero interest in it. Typescript , Elm on the other hand are going up. http://www.ryan-williams.net/hacker-news-hiring-trends/2017/...

Yeah, you can say HN is startup echo chamber etc.. Well StackOverflow's job board has more mature companies and again zero interest in Dart. Here is the latest scraped data. https://github.com/aparij/soCareers-Data/blob/master/result/...

Thanks for those two links. Great stuff.
If you join my religion, it will be the fastest growing with at least 100% per day!
The absolute LAST thing the world needed in 2016 was another programming language. Google did with Dart precisely what Microsoft tried to do when they (MSFT) created a proprietary JavaScript back in 1997(ish). Big tech companies just have a lot of hubris and want to "own" everything they touch. Any large software company, given enough time and success, will eventually create it's own programming language. It's just in their nature. It's the natural progression of market domination.

They COULD contribute their efforts to improving EXISTING languages (like MSFT finally did to their credit with TypeScript, building on non-Proprietary JS, which is great) but there is a seemingly irresistible allure to the thought of owning the design and molding a language to perfectly fit your own company's desires. You never have to deal with standards, when you're just making it up as you go along. PLUS the massive benefit of the anti-competitive foot-hold (monopolistic foot-hold) that having its own language gives to a company, is just too tempting. They cannot resist.

However most developers are sick of the lanuage-Thrash. 99% of it is not innovative in the slightest, but just somebody reinventing and resolving problems that have already been invented and solved countless times before. I really really hope dart dies (and GO can also go). In my opinion there are three languages that need to still exist: Java, JavaScript/TypesScript, and C++. Those fill EVERY need, and if the innovators would ADD TO THOSE rather than starting from scratch and pushing the reset button the software world would be a MUCH better place, and so would overall software quality.

You are aware that Dart was not released in 2016, yes? The first public release was in 2011.

Feel free to stick only to your company's Recommended Best Practices Industry Standard Languages and Libraries. But, there are lots of languages out there, and many of us have good reasons for using them. Deal with it.

Well if you jump from language to language, you'll never build a strong resume. Keep that in mind. I'm nearly 50yrs old now and have stayed on course with either C++ or Java, and never needed or wanted any of the "Flavor of the Week" crap the script kiddies love piddling in. Personally I think not being able to stick to something is a form of A.D.D. but that's just me. Deal with that. And no I didn't give a shit about nor claim I knew when Dart was invented.
> In my opinion there are three languages that need to still exist: Java, JavaScript/TypesScript, and C++

How many languages do you know well and which are they? How many years have you been programming? Do you know Haskell and Lisp? Have you done any work in econometrics or bioinformatics?

My main point was this: Before creating a NEW language, a person or organization should have a firm reason that no existing language will fit their needs. I think creating new languages has become a bit of a hobby for a lot of developers, and whenever a new one gains any traction, it damages the entire industry by fragmenting it. Sorry, not interested in the rest of your interrogation.
Dart is also a first class language in Google's new OS codenamed Fuchsia.
I haven't heard about it since the repos went public, do you have any more info?
Okay so a naive and stupid question, why do I use Dart? what does it replace? does it have any frameworks other than angular? can I use it with Vue.JS (since I have spent considerable time learning Vue)

I tried reading their website multiple times, each of the time I was left confused as to where the language fit

I think the original idea of dart was to replace JavaScript, back when the language looked stale and had no future. Now that the JS community/committee have sorted themselves out and we have ES6 etc, there's not much need for dart now.
I'm more than a little skeptical of a rating scheme that puts JavaScript use at 2.85% and Assembly Language at 2.7%. Clearly JS programmers outnumber assembly programmers 1000 to 1.

http://www.tiobe.com/tiobe-index/

If you want to see an amazing demo of what can be done with Dart, look at soundtrap.com, a full DAW running on webaudio/webmidi built with Dart.
Don't want to be the jerk here. The problem with languages is that it's not enough to be just great, feature-rich or thought-trough. At some point they must create their own ecosystem, the bigger the better. The more open, the better.

I see other languages which could create bigger ecosystems in less time and as a result attract more influential contributors than Dart did.

Just based on its specs, Dart is a wonderful language but again, this is just one part of the story.

So AdWords is implemented on Dart. Well, that certainly moved my understanding of the positioning of the language from the large zoo of obscure experimentations to the rare class of industrial and production ready in a single bang.

In the classification of computer languages, this is like a new nova burst in the night sky.

Year after year, I've never found the TIOBE index to reflect what I personally experienced in reality. By far.

But I'm not in the US. Can somebody comment about their perception on this index?

Mostly meaningless garbage. The top of the list kind of follows my general awareness of language popularity, but it goes off the rails pretty quickly. Python above VB and JasvaScript seems off in particular. Below that it just gets wacky, Dart above Objective-C for instance.