greenhouse_gas
Joined 9 years ago
Joined 9 years ago
How big of a deal is this IRL? Assuming you have 1000 modules, how long should it take to solve the graph?
It would be interesting to see what would happen with linux after that, as they are one of the biggest (if not the biggest) donors to Linux, and while you'll still find Enterprise Linux for the Server (whether it's them or some successor), they are also responsible for things like Linux on the Desktop and FOSS in general, so projects which don't directly make money like Cygwin, gtk, gnome, gcc, and PulseAudio may be in danger.
What do they rewrite? To the best of my knowledge, they have no problem using BSD licensed software, they just won't develop BSD license software[1] (mostly, though they do approve it here and there for new projects).
[1]. More accurately, they won't approve it for new projects. But the projects are fine.
For example:
1. JS is single-threaded, with extremely heavy threads only recently made available. So Dart is single threaded, with extremely heavy threads available.
2. JS is weak-typed, so Dart was made optional typed. Remember, it was made before typescript, so they probably didn't expect that such type-heavy features as ADT would interest people.
Kotlin does the same (for example, internal immutability would be much nicer, but since the JVM doesn't support that, neither does Kotlin).
[1]. Although it'll be a pity. JS is stuck as a compilation target because it's a standard, and it's old, and even then wasm may one day take over JS. Flutter could have been a library, and one could have written in Go or Rust or Java with Flutter bindings. As it is now, I don't know if its possible.
I wish there was:
1. A good Kotlin language server (unlikely, as the company behind the language is an IDE company).
2. A good reactive Kotlin GUI library (meaning, with the ergonomics of Flutter (as in, I don't have to work with Fragments and their lifecycles, just use views)).
3. A good JVM interpreter (to speed up Kotlin/Java compilation)
[1]. No I don't use Flutter to "write two apps for the price of one", as most (of my) apps are just a front-end over a back-end server, so they don't have any special logic worth saving between iOS and Android. I just find Flutter easier to work with relative to Android.
Not everything is fixable with rust. JS, for one, is JIT compiled, so Rust wouldn't help much there (it's one of the reasons it's not being oxidized).
"Also, Rust’s memory safety only applies to code written in Rust, but a JIT compiler also generates machine code and then jumps to it. That generated code does not benefit from rustc’s static analysis."[1]
[1]. https://www.reddit.com/r/rust/comments/8ptnfr/servo_to_upgra...
So if I go to Google docs, I can toggle spidermonkey (or whatever Firefox's JS compiler is called nowadays), but if I go to $randomwebsite, I'll get a secure and usable web.