11 ms·
Can anyone explain why he called Dart a complete failure? https://youtu.be/M3BM9TB-8yA?t=19m55s https://youtu.be/M3BM9TB-8yA?t=19m55s ps: I am a junior develo
by pvsukale3 8y ago
Can anyone explain why he called Dart a complete failure?
https://youtu.be/M3BM9TB-8yA?t=19m55s https://youtu.be/M3BM9TB-8yA?t=19m55s
ps: I am a junior developer. I am taking up Dart to learn Mobile apps development using Flutter.
- jenscow 8y agoFUD. He's a fan of JS, and probably has no experience with Dart.
- thosakwe 8y agoI wouldn't say Dart is a failure at all. That being said, the Dart project has long abandoned the goal of replacing JavaScript in the browser, and instead provides a VM, Flutter, and a to-JS compiler. Many people do not know this, and have written the language off entirely. Hence a lot of the negative reaction to Flutter. (Though, if I'm quite honest, this is a bit off-topic from the OP)
- hajile 8y agoDon't forget that dart now has an AOT compiler and is strongly typed. It is close to Java in performance in a lot of stuff (faster in some). Syntactically, Swift is almost identical (dart being older) aside from GC vs ref counting. I think it has more of a future in the Java managed language area (but with better typing, better syntax, and first class functions with closures)
- Scarbutt 8y agoFlutter is relatively new compared to when Dart was created, Dart initial goal was to be a language for web programming, outside of google, I think almost everyone agrees it failed at that. They have change their mind many times about the design/future of the language, the churn is still experienced today, see Dart 2.0 (not released as stable yet), which some would say its a new language from Dart 1.0.
- TheDong 8y agoIn terms of mindshare, ecosystem, and real usage, it's a failure (when compared to popular languages). Regardless of how good a language it is, typescript fits in a similar space and is much more popular, has a more vibrant ecosystem, and is easier to migrate to.
- lern_too_spel 8y agoOne thing that allowed TypeScript to succeed is that it was never proposed as a native browser language and was a transpiled language from the start. Once it came out that Google wanted to make Dart a native browser language where it would likely displace the warty Ecmascript, Eich immediately railed against it and said Mozilla wouldn't support it, limiting what could be done in Dart without resulting in code bloat during transpilation.
- BrendanEich 8y agoYes, I alone on my Skull Island stopped Dart! HAHAHAHA!!!! Google never sent me kickbacks to provide for foolish and doomed DartVM-in-Firefox work, so I laugh once again from Skull Island at such idiocy.
- PedroBatista 8y agoInitially Dart was ( another ) wet dream from Google that would take over the world by overthrowing Javascript and conquer the Web. It would do what TypeScript does and much more, so by that metric is a complete failure. They gave it another life with Flutter and it looks like it can be a big deal this time.
- munificent 8y agoI'm on the Dart team (but I don't speak for the entire team here). Dart had two initial goals: 1. Get a native Dart VM into Chrome and eventually other browsers. 2. Get a significant number of client-side web developers that were using JavaScript to move to Dart. It's probably not obvious, but these goals are in tension with each other. In order to motivate adding a giant new VM to a browser, you need to make the language pretty different from JS. Likewise, you need to make your implementation much faster than JS. Both of those push you down a path where interop with JS is difficult. You don't want your language's semantics too close to JS because that reduces the value proposition of the language. And you don't want JS interop requirements to limit how you implement the VM around things like garbage collection. But for (2), to get people to move, you need the absolute smoothest migration path you can get. You'll make all sorts of compromises and edge cases in your new language to reduce friction when getting developers to migrate to yours and you'll do anything to make interop seamless to support heterogeneous projects. (For example, TypeScript pokes quite large holes in its type system in order to play nicer with JS idioms.) The Dart leads prioritized (1) over (2). The idea was that the VM would be so great users would flock to it giving us (2). That didn't work out, unfortunately. In practice, I think it's very hard to create a language implementation so much better that it trumps the value of existing code. So you really do need to win at (2) at all costs, if you want to a successful web-only client-side language. That's the approach TypeScript has taken, and they did a fantastic job at it. Having one of the world's best language designers doesn't hurt. In the past couple of years, in response to this and other changes in the landscape, we pivoted Dart. We now aim to be a multi-platform client-side language. In particular, we're the application language of Flutter, a cross-platform mobile framework. Flutter is a very different platform than the web -- there isn't an existing entrenched corpus of billions of lines of code. Performance and memory usage matters more. You can't JIT on all platforms. Developers coming to Flutter are equally likely to be coming from Android (Java) and iOS (Objective-C, Swift) as they are the web. Those different constraints play well to Dart's strengths. And, in particular, they align nicely with Dart's move to a full, sound static type system. Dart 2 is more "C# with less boilerplate" than "JS with more types". Dart is still also a web language, and the better static type system really helps with static compilation to JS, but it's not our only path to success.
- 8y ago
- sametmax 8y agoThere is only one metrics in programming language: popularity. Not quality. Not elegance. Not features. Not performance. The Dart community is ridiculously small compared to anything to the competition, despite the heavy investment in it.
- goatlover 8y agoIt's kind of sad this is so often the case in tech.
- isoos 8y agoI have got to know a few small teams in my local area, developing in niche languages (including Haxe and Dart), and they do not talk about it on forums or on meetups. They are busy developing their product, and the platform's the quality and features help them, the performance is good, and they don't care what the rest of the world thinks with the current hype trends that would fade soon anyway. I lost track how many times I've heard my friends cursing JS and even TypeScript, and telling me they wish they could use a sane language instead. Well, you actually can, and I believe should.
- pjmlp 8y agoDart was supposed to replace JavaScript and was head-to-head with Typescript, CoffeScript and many others in that goal. Obviously it failed at that as was rescued by the Google AdWords team that adopted it. Now they are trying the 2nd coming of Dart via Flutter, it remains to be seen if it will ever take off, or how much Google is committed to release an productive version of Fuchsia. Personally I am not bothering with it, until I see Flutter listed here https://developer.android.com/guide/components/fundamentals https://developer.android.com/guide/components/fundamentals