LWN: Comments on "A look at Dart" https://lwn.net/Articles/826315/ This is a special feed containing comments posted to the individual LWN article titled "A look at Dart". en-us Thu, 18 Sep 2025 10:45:53 +0000 Thu, 18 Sep 2025 10:45:53 +0000 https://www.rssboard.org/rss-specification lwn@lwn.net A look at Dart https://lwn.net/Articles/829122/ https://lwn.net/Articles/829122/ Cyberax <div class="FormattedComment"> The early UWP required basically full rewrite of applications and was hard to use from C++. It&#x27;s been changed recently by allowing better interoperation with legacy Win32 code (UWP islands) and by untying UWP from the Windows Store.<br> <p> But this is a bit too late. I can&#x27;t fathom NOT using Electron these days instead of UWP. It <br> </div> Wed, 19 Aug 2020 22:21:27 +0000 A look at Dart https://lwn.net/Articles/829121/ https://lwn.net/Articles/829121/ zlynx <div class="FormattedComment"> Windows 7 installs are dying away so resistance to UWP will also.<br> <p> I prefer UWP to using the old Windows APIs. The problem was not losing support for older Windows versions. And soon no one will care.<br> </div> Wed, 19 Aug 2020 22:17:22 +0000 A look at Dart https://lwn.net/Articles/828986/ https://lwn.net/Articles/828986/ nybble41 <div class="FormattedComment"> You joke, but I&#x27;ve actually *done* that. With QEMU user mode emulation thrown into the mix to support 32-bit Linux binaries under WSL on 64-bit Windows. Binfmt support was a bit of a pain since WSL skips the usual startup sequence, but it worked (more or less) once I configured it manually.<br> <p> A better solution, however, is OTVDM[1], which provides a WineVDM-based alternative to the Virtual DOS Machine (VDM) subsystem which was not implemented natively for 64-bit Windows. (This is still a work in progress; I&#x27;ve had better luck with the development version than the latest formal release.)<br> <p> [1] <a href="http://www.columbia.edu/~em36/otvdm.html">http://www.columbia.edu/~em36/otvdm.html</a><br> </div> Tue, 18 Aug 2020 12:53:38 +0000 A look at Dart https://lwn.net/Articles/828979/ https://lwn.net/Articles/828979/ Wol <div class="FormattedComment"> I&#x27;ve got a working XP vm, but of course the other problem is that Microsoft has shut down the validation servers, so it&#x27;s impossible (without cracking it) to get a new working copy of XP.<br> <p> And iirc a decent chunk of software either doesn&#x27;t work, or doesn&#x27;t work properly, on XP. For example I have the Terry Pratchett game (which was notoriously buggy :-( and doesn&#x27;t even work properly on 98!<br> <p> At some point I need to get a copy of WP6.1 for Windows working again (that, or WP8 for linux, which requires libc5 ...) - unless of course I get a copy of the latest WordPerfect which I bet has had most of the WPisms replaced with Wordisms and is crap as a result...<br> <p> My wife has some artist program (converts photos into paintings) which again was buggy on 98/2000 and iirc broke completely on XP ...<br> <p> Cheers,<br> Wol<br> </div> Tue, 18 Aug 2020 11:12:40 +0000 A look at Dart https://lwn.net/Articles/828974/ https://lwn.net/Articles/828974/ farnz <p>The problem Microsoft has is different to IBM's problem. WoW works just fine for allowing the OS to be updated without requiring legacy apps to be updated; however, people still write apps for the Win32 API, which is full of design decisions from Win16, which in turn has a certain amount of MS-DOS legacy, and of course DOS has CP/M legacy. <p>IBM has no direct equivalent - people did write code for CPF as well as for MVS, and they moved from MVS to PC-DOS and/or AIX. Microsoft can't get people to do the equivalent of moving MVS to CPF - when they attempt it, people come up with ways to use CPF stuff from MVS (stubs etc) so that you don't need to migrate. <p>Now, I'm not saying this is a bad problem to have, but it's a problem for Microsoft nonetheless; they cannot persuade developers onto APIs that replace the misdesigns in Win32, because developers don't move from the Win32 platform onto the new platform. Worse, they include escape hatches like <a href="https://docs.microsoft.com/en-us/dotnet/standard/native-interop/pinvoke">P/Invoke</a>, which developers latch onto and use for core functionality. <p>It's notable that Microsoft was only able to kill off Win16 entirely by refusing to support it on modern hardware (AMD64), despite it having been deprecated for 10 years by that point. And even then, they had to include a set of compat shims that replaced common Win16 code with Win32 equivalents. Had they not done that, there would be new Win16 code being shipped now, 25 years after Win32 was supposed to replace it. Tue, 18 Aug 2020 09:28:12 +0000 A look at Dart https://lwn.net/Articles/828976/ https://lwn.net/Articles/828976/ james The rate things are going, we might be able to run 16-bit Windows programs on Wine on Linux inside WSL on 64-bit Windows. And yes, I can imagine that some people might find that useful. <p> (We can already run 16-bit Windows programs on Wine on x86-64 Linux. It was only Microsoft that took out <em>all</em> 16-bit support on x86-64: the hardware still supports 16-bit protected mode in long mode, just not v86.) <p> And, of course, there are virtual machines. Tue, 18 Aug 2020 08:40:36 +0000 A look at Dart https://lwn.net/Articles/828975/ https://lwn.net/Articles/828975/ rschroev <div class="FormattedComment"> <font class="QuotedText">&gt; It would be nice if I could run 16-bit Windows on top of 32-bit Windows on top of 64-bit Windows 10, so all my old applications would run. I&#x27;ve got a fair few Win95/8 (and even earlier) programs which it would be nice still to be able to run</font><br> <p> I regularly run some old 16-bit software in a 32-bit Windows XP VM (VirtualBox) running on 64-bit Windows. It&#x27;s not a perfect solution (not as seamless as native support would be, and it requires a copy of Windows XP) , but it works.<br> </div> Tue, 18 Aug 2020 08:36:51 +0000 A look at Dart https://lwn.net/Articles/828967/ https://lwn.net/Articles/828967/ Wol <div class="FormattedComment"> <font class="QuotedText">&gt; This means it&#x27;s hard to replace Windows, because you need to handle all that legacy, but it&#x27;s also hard for Microsoft to evolve the Windows platform, because that runs the risk of breaking legacy stuff. </font><br> <p> Didn&#x27;t IBM solve that problem 50 years ago? Or was MS&#x27;s attempt at WoW (Windows on Windows) a failure?<br> <p> As I understand it, IBM CICS runs on OS/360, which runs on OS/370, which runs on ...., which runs on the latest z900 hardware ...<br> <p> It would be nice if I could run 16-bit Windows on top of 32-bit Windows on top of 64-bit Windows 10, so all my old applications would run. I&#x27;ve got a fair few Win95/8 (and even earlier) programs which it would be nice still to be able to run.<br> <p> Cheers,<br> Wol<br> </div> Mon, 17 Aug 2020 22:02:59 +0000 A look at Dart https://lwn.net/Articles/828956/ https://lwn.net/Articles/828956/ Cyberax <div class="FormattedComment"> UWP is kinda in a zombie state. It was not successful in moving existing applications off the Win32 API and for some unfathomable reason nobody wanted to create new applications targeting UWP.<br> <p> Microsoft has shifted strategy last year, and they are pushing UWP across multiple platforms (including iOS and Android). But it&#x27;s too little too late.<br> </div> Mon, 17 Aug 2020 17:49:19 +0000 A look at Dart https://lwn.net/Articles/828955/ https://lwn.net/Articles/828955/ jem <div class="FormattedComment"> <font class="QuotedText">&gt;It looks like they&#x27;ve finally succeeded in separating &quot;legacy&quot; from &quot;modern&quot; with Universal Windows Platform, and are now in a position to evolve UWP ignoring the legacy Windows side, but it&#x27;s something they&#x27;ve been trying to do for a long, long time. </font><br> <p> Or did they succeed? Googling for &quot;UWP dead&quot; gives 1.5 million hits. Apparently it wasn&#x27;t that popular among developers. Sometimes I get the feeling Microsoft doesn&#x27;t even care about Windows anymore. Look at YouTube videos from Microsoft&#x27;s *own* events, where their *own* people are doing presentations using Macs. Even high-profile apps like Microsoft Teams are built using Electron, not .NET.<br> </div> Mon, 17 Aug 2020 17:25:05 +0000 A look at Dart https://lwn.net/Articles/828901/ https://lwn.net/Articles/828901/ farnz <p>Microsoft has a platform problem of its own; Windows is only the foremost platform because it's the one where all your legacy stuff will run. This means it's hard to replace Windows, because you need to handle all that legacy, but it's <em>also</em> hard for Microsoft to evolve the Windows platform, because that runs the risk of breaking legacy stuff. <p>Remember that the legacy platform has design decisions embedded into it that are now hard to change, dating all the way back to Windows 1.0 atop the 8086/8088 in 1985; they know that some of those decisions are now hurting, but they can't fix the legacy platform without breaking legacy apps, which gives them problems. .NET was one attempt to have a new platform for "modern" code, while letting the legacy work as-is, with the added bonus for Microsoft that it's easier to port .NET apps from x86 to IA64/ARM/other ISA. It looks like they've finally succeeded in separating "legacy" from "modern" with <a href="https://en.wikipedia.org/wiki/Universal_Windows_Platform">Universal Windows Platform</a>, and are now in a position to evolve UWP ignoring the legacy Windows side, but it's something they've been trying to do for a long, long time. Mon, 17 Aug 2020 12:26:22 +0000 A look at Dart https://lwn.net/Articles/828900/ https://lwn.net/Articles/828900/ jem <div class="FormattedComment"> Pot calling the kettle black? C# is the mother of all NIH languages.<br> <p> I have always wondered why C# wasn&#x27;t an AOT language from the start. MS copied the VM idea from Java, but why? Sun wanted to control the platform, but their Solaris was losing to Windows, so they created a platform on top of the existing operating systems. But Microsoft already controlled the platform (Windows).<br> </div> Mon, 17 Aug 2020 10:58:01 +0000 A look at Dart https://lwn.net/Articles/828721/ https://lwn.net/Articles/828721/ re:fi.64 <div class="FormattedComment"> Worth noting that Dart&#x27;s type system is strict and provably sound, with null-safe types in public preview.<br> <p> Personally, I like it a lot because it has a lot of nice features without being incredibly complex or awkward. It&#x27;s a bit hard to describe, but I personally see it as a &quot;greater than the sum of its parts&quot; scenario: stuff like having a sound type system, solid stdlib, sane package manager, incremental and reproducible build system with easy source generation, JIT for development, AOT for deployment, a graphical memory observer, ... These are all things other languages can do, but few can do them *all*. In other words, it&#x27;s relatively unexciting at a glance, but is super easy to pick up and plain works well in practice.<br> </div> Thu, 13 Aug 2020 07:46:52 +0000 Why Dart? https://lwn.net/Articles/827833/ https://lwn.net/Articles/827833/ saadk <div class="FormattedComment"> While I enjoyed seeing some examples and the overview of some of its features, the article falls short of explaining why readers should look at Dart and what makes it really stand out in the overcrowded programming language landscape. If you use Flutter, Dart is a must. But apart from this, how and why Dart is a better or interesting alternative for other languages?<br> </div> Mon, 03 Aug 2020 05:29:50 +0000 I'm sure it has its niche https://lwn.net/Articles/827630/ https://lwn.net/Articles/827630/ gus3 <div class="FormattedComment"> The syntax is generally C-like, but it has Python-inspired things like iterators and scoped exceptions. To my un-informed eyes, it really looks like a mix of the best features of each language.<br> </div> Fri, 31 Jul 2020 02:13:46 +0000 A look at Dart https://lwn.net/Articles/827625/ https://lwn.net/Articles/827625/ koh <div class="FormattedComment"> What does strong typing mean? Are the &quot;primitive conversions&quot; still allowed to be implicit, e.g. int &lt;-&gt; double? I read that at least strings need to be .parse()&#x27;d.<br> </div> Fri, 31 Jul 2020 00:31:17 +0000 A look at Dart https://lwn.net/Articles/827587/ https://lwn.net/Articles/827587/ Cyberax <div class="FormattedComment"> How does it compare with TypeScript?<br> </div> Thu, 30 Jul 2020 18:20:23 +0000 A look at Dart https://lwn.net/Articles/827583/ https://lwn.net/Articles/827583/ pjbrooke <div class="FormattedComment"> I&#x27;ve found it a useful language for web and mobile development. I particularly like the strong typing and the compiler messages on error. I&#x27;m far more productive in Dart than just writing plain JavaScript.<br> </div> Thu, 30 Jul 2020 17:55:01 +0000 A look at Dart https://lwn.net/Articles/827507/ https://lwn.net/Articles/827507/ evgeny <div class="FormattedComment"> This would not be a general answer, but in my case, I learned Dart because of Flutter - which is among very few choices if you want to build an opensource app that works both in Android and iOS.<br> <p> Admittedly, learning (or better say, getting familiarized with) Dart is only a small part of that route...<br> </div> Thu, 30 Jul 2020 15:24:06 +0000 A look at Dart https://lwn.net/Articles/827476/ https://lwn.net/Articles/827476/ kjp <div class="FormattedComment"> Well, the article showed me that I&#x27;m never going to care about yet another Google NIH language. C#/mono can compile full AOT or partial AOT.<br> </div> Thu, 30 Jul 2020 13:51:16 +0000 A look at Dart https://lwn.net/Articles/827470/ https://lwn.net/Articles/827470/ ncm <div class="FormattedComment"> Agreed, it is hard to understand where learning and using this language would benefit anyone.<br> </div> Thu, 30 Jul 2020 09:55:41 +0000 A look at Dart https://lwn.net/Articles/827438/ https://lwn.net/Articles/827438/ koh <div class="FormattedComment"> Sorry to start with a negative comment; however, the article itself seems to rather onesidedly focus on promoting the language without indeed informing the reader about it. Sure, examples are nice and specific domains are nice, but is it bringing any benefit to the current landscape of programming languages? Are there features that make Dart stand out? Byte-code compilation is old, the non-executable &quot;ahead-of-time&quot; binary seems quite useless if there&#x27;s byte-code / the requirement of a runtime, LLVM can compile everything it has a frontend for to JavaScript, it brings an own package manager (like quite a few languages before)...<br> <p> What about downsides of Dart? Isn&#x27;t runtime dependence and (seemingly, since the comparison with C came up quite often) non-strict typedness the combination of the worst features of the languages we currently have? Does it include features not found elsewhere or is it really about its standard library mix providing stuff &quot;around the needs of user interface creation&quot;?<br> </div> Thu, 30 Jul 2020 00:11:09 +0000