Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
ssokolow
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
13 ms
·
91.
▲
by
ssokolow
4y ago
Here are a couple of examples of the changes that were made in the two or three years before Rust 1.0 if anyone wants to read more: https://github.com/rust-lang/rfcs/blob/master/text/0230-remo... h
92.
▲
by
ssokolow
4y ago
The problem is, Go uses a concurrency model (stackful coroutines/fibers) that was all the rage in the 90s (to the point where the Windows APIs have vestigial support for it) and then got abandoned by everyone except them for reasons th
93.
▲
by
ssokolow
4y ago
Ahh, the dynamic linking thing. To some extent, I see that more as "Distros have ossified around the workflows and tooling that is essentially 'a third-party package manager like Conan for C++, but for C'". How do you de
94.
▲
by
ssokolow
4y ago
What is currently missing from https://github.com/cross-rs/cross ?
95.
▲
by
ssokolow
4y ago
Currently, it has two built-in ones for `cargo new` and `cargo init` (--bin and --lib) and there are third-party tools like `cargo generate` which provide for more, but they haven't accepted anything into the main distribution yet. ht
96.
▲
by
ssokolow
4y ago
That's Cargo's by-convention auto-discovery. You can manually specify the same information in Cargo.toml if you prefer to customize it. https://doc.rust-lang.org/cargo/reference/cargo-targets.html...
97.
▲
by
ssokolow
4y ago
For one thing, "liable" applies to both civil and criminal law, so equating it to "criminally prosecuted" is definitely wrong.
98.
▲
by
ssokolow
4y ago
What you're describing is reminding me of how Itanium tried to bring VLIW to non-embedded spaces and found "make the compiler smart enough to use this well" to be much easier said than done.
99.
▲
by
ssokolow
5y ago
Good point. It's probably fundamentally a cost-cutting measure in both cases, where Microsoft just found it cheaper and easier for similar reasons. (eg. Win32 isn't a convenient API, Qt has license fees while Electron does not, Mi
100.
▲
by
ssokolow
5y ago
Appealing in theory, but not necessarily attainable in practice. I use Rust to write CPython extensions... it's a well-known fact that GCs are solitary creatures and you're in for a lot of hassle if you want two different GCs to p
101.
▲
by
ssokolow
5y ago
Would you mind elaborating? It was removed from the standard library ages ago, but `crossbeam::scope` appears to still be there in the newest release of crossbeam and the git repo.
102.
▲
by
ssokolow
5y ago
I think that's more a function of "We want to access all demographics without paying to properly comply with the interface design guidelines of each platform individually. What 'write once, run everywhere including the brow
103.
▲
by
ssokolow
5y ago
Honestly, as a consumer of libraries, I much prefer when they're written in Rust (without gratuitous use of `unsafe`) compared to a language which doesn't make you think about these sorts of things as hard.
104.
▲
by
ssokolow
5y ago
> I'm not sure what the bookkeeping overhead is for tracing GCs, but I'm guessing it's not O(N)? I don't know about these days but, historically, the received wisdom was "Take the memory your algorithm should n
105.
▲
by
ssokolow
5y ago
As I remember, it uses an evolution of Objective-C's Automatic Reference Counting feature.
106.
▲
by
ssokolow
5y ago
There's The Unofficial Rust Design Patterns Book... https://rust-unofficial.github.io/patterns/ (More generally, there's the Little Book of Rust Books to find things like that: https://lborb.github
107.
▲
by
ssokolow
5y ago
Rust 1.0 was explicitly intended to be a Minimum Viable Product, containing only the work they felt they couldn't revise later without breaking their API stability promise. As such, they started with the versions of allocating APIs tha
108.
▲
by
ssokolow
5y ago
...and I'm saying that Rust is the only language where the benefit of using it for its type system has, for me and so far, outweighed the downsides of having to think about memory management. Java? Pain in the ass with all those non-in
109.
▲
by
ssokolow
5y ago
> I also have extensive experience of every language you mention and I have coded a fair bit of Rust too. I have over 20 years of experience in Python, C, C++, ELisp, Java, JavaScript, etc. Rust forces you to spend time and effort thinki
110.
▲
by
ssokolow
5y ago
As I understand it, it's because Cyclone's big advantage isn't what made Rust popular. It's that Rust combined a whole lot of attractive features in a single package, of which, memory safety without GC is only one.
111.
▲
by
ssokolow
5y ago
They've already responded that their use of "alloc", which is designed more for userspace, is just a temporary thing that they plan to replace before any serious submissions. See also https://github.com/Rust-f
112.
▲
by
ssokolow
5y ago
He also wrote a couple of blog posts called "Falling in love with Rust" and "Rust after the honeymoon": http://dtrace.org/blogs/bmc/2018/09/18/falling-in-love-with-... http:
113.
▲
by
ssokolow
5y ago
I came to Rust for things like sum types, lack of unexpected null values, monadic error handling (Result<T, E>), and the borrow checker's ability to enable the typestate pattern. ( https://cliffle.com/blog/rus
114.
▲
by
ssokolow
5y ago
> What does that even mean in the absence of a formal standard and competing compiler implementations? (Hint: nothing.) Undefined behaviour is stuff that you compiler's optimizers have been promised can never occur, so they are allo
115.
▲
by
ssokolow
5y ago
> The problem that exceptions solve involve control flow paths that aren't supposed to be handled. Exceptions are not for handling recoverable errors, they are for graceful aborts in a complex, layered and modular program. (E.g., an
116.
▲
by
ssokolow
6y ago
I don't think you can use "double standard" as a derogatory term when you're comparing the needs of kernelspace code and userspace code. ...plus, they're already planning to write their own `alloc` replacement if fo
117.
▲
by
ssokolow
6y ago
There's actually a lint specifically intended for that already. `float_arithmetic`: https://rust-lang.github.io/rust-clippy/master/#float_arithm... # What it does Checks for float arithmetic. # Why is this ba
118.
▲
by
ssokolow
6y ago
Of course C and C++ apps transitively pull in dependencies. First, pkg-config exists and most projects on Unixy OSes use it these days. It doesn't really make much sense to argue "it all has to be specified on the command-line&quo
119.
▲
by
ssokolow
6y ago
I was more referring to how it's standard practice on modern OSes to leave the zero page unmapped in a process's address space so that, if the compiler converts the NULL dereference into a dereference of address 0x0, it'll tr
120.
▲
by
ssokolow
6y ago
Speaking as someone who would love to see WebAssembly succeed as a cross-platform, cross-language way for me to write sandboxed plugins and CLI utilities, I do have to point out that, for out-of-browser use, WASM's MVP does regress v
More ›