4 ms·
I think Rust and Haskell, due to their irrelevance in industry and general "nerdiness", attract a certain type of hacker. Specifically I've noticed that there a
by anchpop 6y ago
I think Rust and Haskell, due to their irrelevance in industry and general "nerdiness", attract a certain type of hacker. Specifically I've noticed that there are some libraries for both languages that are just so good that they make you never want to use anything else. One example in Haskell is Megaparsec [0], by far the best point in the parser framework design-space I'm aware of. An example in Rust is wgpu-rs, which maybe isn't "all the way there" yet but is already turning into a very ergonomic low-level rendering API. Although I haven't used them, I think piet-gpu and pathfinder may be in this category also. I don't have a link handy but I remember seeing a tweet from the developer of Pathfinder where he was reverse-engineering MacOS's idiosyncratic font rendering so he could generate identical-looking output as the native renderer. That's going above-and-beyond what any reasonable library developer would do and I love it.
I'm not saying there aren't any great libraries for other languages (there certainly are, like Halide for C++) but that I'm more often pleasantly surprised by the library quality in Haskell and Rust than I am in other languages (when there are libraries available, anyway).
[0]: https://hackage.haskell.org/package/megaparsec https://hackage.haskell.org/package/megaparsec
[1]: https://github.com/gfx-rs/wgpu-rs https://github.com/gfx-rs/wgpu-rs
- nicoburns 6y agoI'm not sure you can really characterise Rust as irrelevant to industry anymore (with some of the most widely used software written in Rust and FAANG companies hiring core developers), but I do agree that it has an unusually high quality standard for libraries (I'm unfamiliar with the Haskell ecosystem but I hear good things). However, I think that while some of it is certainly cultural, a lot of it is due to the type systems in these languages being a lot more powerful which allows for more expressive APIs and more robust error handling, etc.
- sudosysgen 6y agoI was working on a decentralized website backend with a few people and while Rust has some really good libraries, damn does Diesel suck. Because of that we moved to Typescript.
- nicoburns 6y agoAgreed that Diesel isn't great. I think it trie to be too ambitious with the type safety and shot itself in the foot. SQLx is decent, although I'm sure someone will come up with a better "Full ORM" in time.
- adamnemecek 6y agoRust is gaining traction like nothing else.
- kvark 6y agoWgpu-rs is also going down the rabbit hole of re-inventing the world: in addition to implementing WebGPU and targeting all the GPU APIs that are available, we are also trying to do all the shader translation ourselves now (project Naga). I hope to not be burned by this. Pathfinder future is unclear. It's not ready to be integrated into WebRender yet, and Patrick no longer works for Mozilla. I see no activity on their projects. Would appreciate if they show up here and clarity.
- the_duke 6y agoRust is tiny compared to C and C++. But with Amazon and Microsoft hiring core developers, Amazon and Dropbox using it for production services, Microsoft developing official bindings, Google using it for core components in their new Fuchsia OS and Facebook writing their whole Libra/Diem/whatever currency project in Rust, it can hardly be called irrelevant to the industry. Rust is gaining traction very quickly, even with the big players.
- IshKebab 6y ago> Rust is tiny compared to C and C++. It's definitely smaller than C++. C? Doubtful. And in no way is it "tiny" compared to anything. C++ might feel enormously bigger but that's because everything is actually specified. Imagine how big the borrow checker specification would be if it existed! Or the specification for the requirements for writing safe `unsafe` code - last time I checked nobody was really sure what the precise answer to that even is.
- deleted 6y ago[deleted]