Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
Rusky
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
77 ms
·
811.
▲
by
Rusky
10y ago
Rust can totally compile on console platforms- it's been done, e.g. on PS4 ( https://twitter.com/wickerwaka/status/479842553831776257 ), as I'm sure you've seen, Steve :) The problem (speaking as some
812.
▲
by
Rusky
10y ago
I'm not saying this makes Rust as easy as Java or C#, but I don't think `Rc`/`RefCell` types are the cause, nor for that matter the solution to the cause. Idiomatic Rust makes single-threaded interior mutability very, very ra
813.
▲
by
Rusky
10y ago
Yes, it's the same line of logic because it's correct . The claim that Rust's memory safety is sound while C++'s is not is... not really the question. The question is whether that matters in practice . C++ has certainl
814.
▲
by
Rusky
10y ago
It is all a matter of mindset, but you are blindly ignoring the fact that it takes effort to learn a new mindset. Maybe it went smoothly for you and that's fine (though I suspect you're just not remembering it, perhaps willfully).
815.
▲
by
Rusky
10y ago
> - Move semantics - we've had this since C++11. C++11 move semantics and Rust move semantics are not equivalent. C++ requires every movable type to have a null state, and a (perhaps derived) move constructor that can potentially th
816.
▲
by
Rusky
10y ago
Rust has benefits for writing and maintaining correct code, sure. But your claim here is absolutely absurd. Rust is quite difficult to learn- anecdotally, empirically, and by nature. Being dishonest about Rust is not going to help anyone no
817.
▲
by
Rusky
10y ago
You have no data at all to back this up. The vulnerabilities you speak of are, far more often than not, written in old-style C and C++. That doesn't make Rust a bad idea, but it does mean your claim is completely unsubstantiated. Advoc
818.
▲
by
Rusky
10y ago
Right, I understand that it effectively eliminates GC usage, I'm just wondering how much of an impact that has on what tools you have. In the extreme, I can imagine it degenerating into basically writing C, for example.
819.
▲
by
Rusky
10y ago
I haven't used D much- how much of an impact does that have when using the standard library or other libraries? Is there a good way to use things that assume a GC even when it's disabled?
820.
▲
by
Rusky
10y ago
D has been around longer, has powerful compile-time metaprogramming tools, and has a very fast compiler. However, it has a garbage collector, and is not entirely memory-safe by default (though is beginning to optionally incorporate some ide
821.
▲
by
Rusky
10y ago
You can definitely do systems programming with a GC, but it does get in the way sometimes. Drivers will most likely need to bypass it entirely; more importantly, libraries to be embedded in other programs (including scripting languages) now
822.
▲
by
Rusky
10y ago
That kind of optimization is well outside the bounds of "sufficiently smart." It happens routinely.
823.
▲
by
Rusky
10y ago
This article is mostly a list of ways not to do entity/component- the sequel (linked at the bottom of the post: http://piemaster.net/2011/07/entity-component-artemis/ ) actually talks about how to do
824.
▲
by
Rusky
10y ago
> Just try and re-write some parts of curl in Rust I don't doubt that some suggestions have come from backseat drivers... but I also don't believe that's relevant. First, people are implementing curl's functionality
825.
▲
by
Rusky
10y ago
Rustc did recently get a "x86-interrupt" calling convention, but that's unrelated to #[no_std], and only works on x86. Either way, "#pragma interrupt" should work just as well in C++ as in C, since C++ doesn't
826.
▲
by
Rusky
10y ago
Not wyldfire, and I think that claim is a mischaracterization, but the main obstacle to using C++ in the kernel is that some of its language features require runtime support (new/delete, globals/statics with constructors, exceptio
827.
▲
by
Rusky
10y ago
What's to stop someone reverse engineering the blob before it's loaded into an SGX enclave? I don't understand it very well so I could be missing something, but wouldn't that at least let someone document how the DRM wor
828.
▲
by
Rusky
10y ago
Lower-end GPUs like Intel's integrated graphics and console hardware are doing this, but high-end desktop GPUs do not- they still have separate memory spaces (though they may share some memory).
829.
▲
by
Rusky
10y ago
I am well aware of managed C++ and C++/CLI. They are not the same language as native C++, in the sense that matters for WebAssembly's target audience. C++/CX is closer, but a) also still not the same language and b) doesn
830.
▲
by
Rusky
10y ago
Two reasons, beyond the sibling comment's notes that it's currently impossible: 1) You can't integrate it with the Javascript GC for interacting with the DOM and other JS-side objects 2) Now you have to distribute the GC with
831.
▲
by
Rusky
10y ago
WebAssembly also lacks Javascript's problems with its tool ecosystem, syntax, and exception handling system.
832.
▲
by
Rusky
10y ago
But they don't support the primary reason for asm.js and thus wasm- C and C++. They also, as you note in another comment, do not have the appropriate security model for web apps.
833.
▲
by
Rusky
10y ago
This has been brought up several times in this thread, but none of those bytecodes is sufficient. LLVM is not platform-agnostic, JVM/IL are sub-optimal for languages like C++. None of those platforms' security models are as good a
834.
▲
by
Rusky
10y ago
That's not at all relevant.
835.
▲
by
Rusky
10y ago
It makes complete sense to ask for GC support. Even if it's never used to implement GC-d languages targeting WebAssembly, it's still important for integration with the Javascript GC. (I imagine the threat here is that the more thi
836.
▲
by
Rusky
10y ago
A fair criticism of a lot of web tech, but not of WebAssembly, which is doing many things JVM/CLR/Flash/etc. never did.
837.
▲
by
Rusky
10y ago
How so? LLVM is used to implement language features, performance-hostile ones included. asm.js is a codified way to avoid language features. You may be confusing layers here. asm.js as a compilation target is used the same way as LLVM-
838.
▲
by
Rusky
10y ago
> asm.js But then you're no longer using the language . The performance-hostile semantics are still there, you're just not using that part of the language, and thus losing out on all their benefits.
839.
▲
by
Rusky
10y ago
This is wrong. There absolutely are technical reasons why implementations of different languages perform differently- no amount of static or runtime analysis can entirely save you from performance-hostile semantics baked into the language s
840.
▲
by
Rusky
10y ago
Alternatively, "free will" is just a name for some part of those physical processes.
More ›