Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
Rusky
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
74 ms
·
691.
▲
by
Rusky
9y ago
But you can't ever turn it off if you rely on it for loops, which defeats the whole point.
692.
▲
by
Rusky
9y ago
How is it insane? It does a lot of things better than our current OSes. As long as we go into it knowing that's what we're doing it's an inherently better application and security model in a lot of ways.
693.
▲
by
Rusky
9y ago
IMO we would still need WebAssembly in such a world, because the JVM still enforces a heavyweight object model and GC. The "wasm is just the JVM all over again" meme needs to die.
694.
▲
by
Rusky
9y ago
Those can be disabled from the new tab page itself.
695.
▲
by
Rusky
9y ago
That's... not true at all. Even aside from the memory safety stuff steveklabnik mentioned in a sibling comment, C++ is struggling to get things like concepts, pattern matching, or modules, and had to do a lot of non-trivial work in the
696.
▲
by
Rusky
9y ago
I don't see how jQuery could have been anywhere near as ubiquitous if it had required a build step. It makes experimenting easier for beginners, for people considering switching to it, for people who are already using it and want to tr
697.
▲
by
Rusky
9y ago
As far as the actual libraries themselves go, if any of Vue/Angular/React are the new jQuery, it's Vue. It's the smallest of the three, but more importantly it's the easiest of the three to drop into a page without
698.
▲
by
Rusky
9y ago
In some ways, Rust fits that sort of ultra-tiny niche even better than C++. It doesn't have the POD/non-POD split that C++ has, it has a lot of built-in data layout optimizations, idiomatic code does far less copying, you can pack
699.
▲
by
Rusky
9y ago
The best examples would just be the implementations of yield/async/await in C#, Javascript, Kotlin, Rust, etc. The only novel thing I'm proposing here is a shift in the syntax from explicit suspension points and implicit init
700.
▲
by
Rusky
9y ago
Akaros looks pretty interesting- the M:N aspect is certainly where I think we need to go.
701.
▲
by
Rusky
9y ago
One way to do delimited continuations might be to build on the state machine transformation behind generators and async/await. You can drop the `await`/`yield` primitives that C#/Javascript use and introduce a `shift` primiti
702.
▲
by
Rusky
9y ago
> Java has scoped 'destruction' (called try-with-resources). This is nicer than manually writing `finally` blocks, but it's nowhere near as nice as RAII-style destructors, which you can't accidentally leave out.
703.
▲
by
Rusky
9y ago
If that were the problem, we would solve it by adding sleep() calls...
704.
▲
by
Rusky
9y ago
That's wrong- if the catch block runs without throwing any exceptions of its own then hideLoadSpinner will be called.
705.
▲
by
Rusky
9y ago
> So there wouldn't exist too much difference with a pure Rust application full of unsafe blocks. There would be a massive difference, unless you're proposing they write the kernel in a high level language with little bits of C
706.
▲
by
Rusky
9y ago
Those sound like relatively straightforward things to write safe and convenient wrappers for. Obviously not as barebones as C but certainly not constantly fighting the language.
707.
▲
by
Rusky
9y ago
Unfortunately even modern C++ brings none of the benefits described in the article, because it defaults to unsafe code. Most of the Rust code from the Fuchsia team is to support Rust in applications, not in any code that needs to be trusted
708.
▲
by
Rusky
9y ago
It shouldn't- they're not doing anything crazy in the pixel shaders, and they make excellent use of early Z culling.
709.
▲
by
Rusky
9y ago
WebRender does exactly the same thing.
710.
▲
by
Rusky
9y ago
Not pimeys, but VSCode with the RLS plugin has pretty good IDE functionality. Personally I tend to use Vim out of habit, and debug in Visual Studio. I might switch at some point for RLS (or try to hook it up to Vim).
711.
▲
by
Rusky
9y ago
As in "ouch," it's uncomfortable to reach there.
712.
▲
by
Rusky
9y ago
Those are probably what the parent means by "UI framework." The Rust toolchain does integrate seamlessly with those platforms' native toolchains, using the same binary and debug info formats. Perhaps this is perception is jus
713.
▲
by
Rusky
9y ago
That's all true, but the point was that it's an open source project (in governance as well as license) that supports console platforms.
714.
▲
by
Rusky
9y ago
The problems the Rust module system has and the changes being made to it are purely syntactic. Rust has already solved, and isn't changing its solution to, the kinds of problems Java is solving with Jigsaw. FWIW, I don't agree wit
715.
▲
by
Rusky
9y ago
That would actually be fantastic. We'd get to preserve all the old stuff built with them, while running it in the browser's sandbox rather than giving it full access to the machine.
716.
▲
by
Rusky
9y ago
That's... not Java or the JVM providing the security model. It's impressive but it's not a comparable solution to WebAssembly.
717.
▲
by
Rusky
9y ago
So far it doesn't look like it will: https://github.com/WebAssembly/gc/blob/master/proposals/gc/O... But either way, I'd still take "use this object model for host GC interop&quo
718.
▲
by
Rusky
9y ago
Java doesn't provide a sufficient security model for running arbitrary C/C++-like code, which is the entire purpose of WebAssembly. Drop that and all the new use cases will just go back to asm.js instead.
719.
▲
by
Rusky
9y ago
This wouldn't help at all. Kernels (micro or no) can only implement preemption with the help of hardware timers (and, if you want parallelism, hardware cores), which Webassembly cannot access. (The C library does not implement threads;
720.
▲
by
Rusky
9y ago
Along with the other responses, the JVM imposes its own object model on any language implemented on top of it. WebAssembly does not, so it is vastly simpler and more flexible. For example, you had to rewrite your apps to run as Java applets
More ›