They should write this prominently on their website. It doesn’t radiate trustworthiness/substance/reputation. Also performance and resource requirements should be prominent when targets are MCUs.
Very happy to hear that! I don't work in embedded but really like the language design of Toit. Hope it'll get a second chance, it feels like it flew under the radar a bit when it came out.
Yeah, but Lars Bak isn't exactly a nobody when it comes to computer science either. Although I guess Bak is more famous for the implementation of programming languages than their design.
Aside: funny how Dart and TS both have Danish creators.
I may be misremembering, but my recollection is that Dart was written off in large part because of Google. Distrust with them was already high as they were abusing their dominance with things like AMP, and people felt it was a bad idea to give them even more control over the web.
TypeScript is however a plain JavaScript linter, you remove the type annotations and have JavaScript, which was a consequence of the learnings versus other JavaScript wannabe replacements.
Also why after namespaces and enums, the team never introduced any other feature that wasn't also part of JavaScript standardisation process, and has since then discouraged their use.
A fundamental choice you have to make with a new programming language is how compatible you want it to be with existing languages and their ecosystems. Hewing closely to another language allows you to reuse and build on top of all of the code already written in that language. But it also means that you can be forced to recapitulate features from that language that aren't great. Building a new language and ecosystem from scratch lets you make a clean break from those but at the very large expense of having to build a universe from scratch.
TypeScript took the former approach. All of the world's existing JavaScript code is TypeScript too. You can freely interoperate between TypeScript and JavaScript, keep using your existing JavaScript libraries, and incrementally migrate your JS codebase to TS one file at a time.
At the same time, TypeScript inherits much of the dumb stuff about JavaScript. No real integer type, funny scoping semantics (though strict mode mostly addresses this), extreme dynamism that is hard to fit into static types. The latter is particularly important. TypeScript's type system is deliberately not sound in order to be able to mostly statically type JavaScript while allowing many of the weird and complex design patterns from that language. That in turn means that even fully typed TypeScript programs don't get the fully performance benefits of static types. That's the main reason that the TypeScript compiler itself is no longer written in TypeScript: JS is simply too slow because of dynamic typing.
Dart took a much larger step away from JavaScript. It has its own object model and runtime semantics. With Dart 2.0, it has a fully sound static type system and in 2.12 we shipped sound handling of null. Because these static semantics are fully sound, the compiler can take advantage of types to generate smaller, faster code. Performance is complex, but Dart's runtime performance is in the same bucket as Java and C#, which is about as good as a GC language can get.
The cost is that migrating an existing web application to Dart is pretty much a rewrite. It was really hard for us to get any real traction until Flutter came out. With Flutter, users are already accepting that they are writing a new app for that framework, so the hop to a new language was more manageable.
I don't know how AI affects this calculus. AI can make it much faster to automatically migrate a program from one language to another. But I think it also makes human users more conservative about which language they use. Since they aren't writing as much of the code anyway, they may have less incentive to care about using a "better" language.
I agree completely that Hejlsberg is a star and very tough to compete with. I've always thought of programming languages more as offering different ways to solve problems and less about one trying to win at the expense of another. I don't want Dart to beat TypeScript, I just want Dart to be the best it can be for what it is.
> Since they aren't writing as much of the code anyway, they may have less incentive to care about using a "better" language.
I wonder if it's the opposite (in fact blog posts to that tune were posted here more than once): if LLMs are supposed to be writing most of the code, and taking away the friction of actually writing the code, I guess it means one should pick the language based on project requirements and performance since any language is the exact same to work with.
It should come with a flight attendant and an obligatory five minute safety instruction before each ride. I've ridden in multiple Teslas, including many Ubers, and no one has even given me the manual to read or shown me how to escape in case of a fire.
"A little plague will be good for your natural immunity, by my favorite Danish team of crackpot researchers have just received $10M in express funding to test in African children whether the GCB vaccine helps, when we expose them to the bacterium"
Even this week following new mediocre PISA results for Danish pupils, I see organizations like the Danish Industry Association and the Danish Chamber of Commerce posting calls for more computers in classrooms, to combat the problems caused by computers in classrooms. They say kids just need to be tought better “technology understanding”.
I prefer to wirelessly charge my phone because the charging port is the part that typically wears out before the rest of the phone. My first EV's charging cable also wore about after around seven years of use, so I had to replace the entire charger. Charging port doors on some EVs also also known to develop faults in the locking motor, and the ports and/or its cover tends to fall of, which is is costly to repair as you need to repaint the new part. And then come the issues with having to choose EV models to suit the layout of your garage, as well as issues with the cable getting in the way when trying to pass the charging car with your bike, etc.
I cannot afford the Cayenne, but once this gets to cheaper models this will be an option I would be willing to pay for.
reply