Earlier quoted context omitted.
I think what killed Dart is that they emphasized their plans to make Dart a first-class scripting language of Chrome, so that you could use instead of JavaScript. This had a lot of backlash from literally everyone, I think mostly because they were bit too hard by IE doing the exact same thing just a few years before. Only after a few years the Dart team changed courses and said "never mind about that VM-inside-Chrome…
> I think mostly because they were bit too hard by IE doing the exact same thing just a few years before. It's pretty simple, in my view: JS developers were happy with the language and didn't want a browser vendor trying to replace it. Remember that it was announced around the time that the new ES6 ("Harmony") features were generating a lot of excitement about the future of JS.
Announcing Dart 2 Stable and the Dart Web Platform
191–200 of 259 posts
Re: Announcing Dart 2 Stable and the Dart Web Platform
#192Earlier quoted context omitted.
I could be wrong, but I don't believe the existence of Go was much of a problem. Go and Dart are very different languages aimed for very different use cases. If anything, I think Go helped us because we could point to it as a successful language that Google hasn't cancelled. > not that far from Java This is something that hurt us, I think. You can write Dart code that looks a lot like Java, and many of our early publ…
The thing is, this is almost identical to well written JavaScript. In fact you could do almost all of this in JS even before ES5. So the non-Java-like features you're using here were already present, which again suggests that Dart isn't really getting past the "Good Enough" problem. It's also something you could do in Java, with the exception of having to wrap main with the obligatory EntryPoint class. I think this j…
Well you do get static type checking if you write it in Dart, but I see your point. :)
Re: Announcing Dart 2 Stable and the Dart Web Platform
#193Earlier quoted context omitted.
I think Dart started internal development around the same time CoffeeScript gained major popularity and brought attention to JS's desperate need to evolve, but they released at a bad time: when JS finally did start to evolve (as Harmony) which was a reaction to CoffeeScript in the first place. So CoffeeScript served its purpose of pushing JS forward, and most other compile-to-JS languages had no more purpose. I say m…
If Google had paved some cowpaths: - CoffeeScript was hugely popular at the time - it was even mandatory at GitHub to make new applications in CS not JS - Typescript was immediately well recieved. JS folk liked optional typing. - Ruby was popular amongst the web community Google would have done a lot better than making a new road and wondering why there's nobody on it.
We'd probably really be regretting that choice since CoffeeScript use is dwindling and the programmer ecosystem has generally turned towards static types.
> - Typescript was immediately well recieved. JS folk liked optional typing.
Dart was an optionally typed language and is actually older than TypeScript.
But, the original creators were very focused on getting a native Dart VM in browsers and were willing to sacrifice seamless JS interop to get that. There's good arguments for that since great interop often means adding ugly features to your language in order to play nice with the existing one. Dart was intended to be a bigger leap forward from JS.
If the VM wasn't part of the plan, then Dart probably would have hewed much closer to JS and been very similar to TypeScript. That probably would have been good for us then, but it might have been a limitation long-term. TypeScript is a really nice language, but it's got a lot of baggage that it inherits from JS.
Dart is, I think, a much nicer language if you don't need to reuse and interop with a big corpus of existing JS code.
> - Ruby was popular amongst the web community
Is the "was" part of that intentional? I like Ruby a lot, but it's luster seems to have faded some in the past couple of years.
I think what all of your points show is that if you pave cowpaths when doing language work, you end up optimizing for what users did several years ago. Languages take a long time to develop, so I think you have to aim for where you think users will be, otherwise you end up irrelevant by the time you launch.
Re: Announcing Dart 2 Stable and the Dart Web Platform
#194What soured me towards Dart is its continued history of ignoring community input. I remember when it was announced--the original "Hello World" transpiled to JS was around 70kb. 8-years later, and after all the user feedback (and shock in the original HN announcement), it's now around ~80kb.
Why do this? Why continue to play so poorly with JavaScript? Dart2js is an indefensible Rube Goldberg machine that no human being can reasonably understand or debug.
Re: Announcing Dart 2 Stable and the Dart Web Platform
#195Earlier quoted context omitted.
Rust doesn't have such type. And type annotations in Dart are optional - when programmers are not obliged to use them, guess what will happen? They do NOT use them. People are lazy. Dart's types exist only on compilation step. You can try to use "strong mode" in theory, in practice you will never compile it with third-party libraries.
Dart isn’t statically typed, at least not in the times i’ve used it; it’s gradually typed.
Re: Announcing Dart 2 Stable and the Dart Web Platform
#196Earlier quoted context omitted.
I could be wrong, but I don't believe the existence of Go was much of a problem. Go and Dart are very different languages aimed for very different use cases. If anything, I think Go helped us because we could point to it as a successful language that Google hasn't cancelled. > not that far from Java This is something that hurt us, I think. You can write Dart code that looks a lot like Java, and many of our early publ…
> I do think it's a good bit simpler and cleaner than it would be in Java. Is it really? My Java is rusty, but now that Java has type inference it looks nearly exactly like what you'd type in Java (minus `public static void`, `new`, etc.)
Re: Announcing Dart 2 Stable and the Dart Web Platform
#197Re: Announcing Dart 2 Stable and the Dart Web Platform
#198Earlier quoted context omitted.
With Google’s history of abandoning efforts like this, I wouldn’t spend too much effort using any language developed by them.
> With Google’s history of abandoning efforts like this, I wouldn’t spend too much effort using any language developed by them. Well , to be fair Go is becoming a major server side language and I don't see Google abandoning it any time soon. That being said , Dart is basically on "life support" has of now , there is no SDK what so ever beside Google + Firebase , and I haven't heard anything from AWS / Azure or others…
Re: Announcing Dart 2 Stable and the Dart Web Platform
#199Earlier quoted context omitted.
> I think mostly because they were bit too hard by IE doing the exact same thing just a few years before. It's pretty simple, in my view: JS developers were happy with the language and didn't want a browser vendor trying to replace it. Remember that it was announced around the time that the new ES6 ("Harmony") features were generating a lot of excitement about the future of JS.
What I don’t understand is why people are excited about the new features of JavaScript. The problem with JavaScript has never been that it doesn’t have enough features or syntactic sugar. The problem with JavaScript is that it has a rotten, unsafe core. Its very nature is antithetical to writing robust software, yet we need it to create dynamic UI applications.
They're excited because new features are useful to lots of people.
Re: Announcing Dart 2 Stable and the Dart Web Platform
#200Flutter seems like the killer app that could revive Dart. In comparison: Javascript For mobile with React: no AOT compile. Relies on loading the entire JS VM which adds startup time and can require bundling a large library on Android. Cannot easily author customized components that render at native speeds. C# For mobile with Xamarin: No hot reload. Dart having its origin as a JS interpreted language had the foundatio…
Depending on how far you want to stretch it Kotlin is cross-platform-ish. You can write Kotlin that compiles to both JVM and JS, and KotlinNative claims to be able to then also compile that to native. It's hard to do, and there's a major lack of abstractions even within the standard library, but technically possible. I could easily see a future where your business logic is portable kotlin and then you have platform-s…