ponce | 5 years ago | on: Ask HN: Why do you use Rust, when D is available?
ponce's comments
ponce | 5 years ago | on: Ask HN: Why do you use Rust, when D is available?
Remarks:
- build times are worse in Rust, but not _that_ much worse
- with Rust error messages are plentiful and helpful to solve the error. It is a designed user experience, which is quite novel.
- the first Rust program I built downloaded no less than 146 packages, which seems to indicate the standard library is very barebones. This was an example program. So the granularity of package seems to be smaller there. I don't really like this.
- Rust has quite visibly a stronger open-source ecosystem, with lots of crates being built before a compiler release. Good.
- Rust documentation is more aimed at beginner programmers, and there is more of it.
- I just don't like to look at Rust code at all... the styling on the car is really bad
- it seems dub and cargo are very similar. Cargo download and installs a lot more cruft inside directories. Probably there is a way to have a shared directory for that.
- Rust libraries look a bit more systematically modular with the features tags ("configurations" in DUB parlance)
- it seems Rust has comparatively more C bindings than C-to-D translations in the ecosystem (vs D)
So... I'm not sure I would take Rust if starting a codebase today. It just doesn't add up for me versus D.
I try to be someone practical and need actual measurable improvements in the daily practice.
For me the key take-away is the very consistent experience when interfacing with Rust tools, since this experience has been designed and fine-tuned to be easy. I think D can learn some UX tricks from it.
ponce | 11 years ago | on: Rust 1.0: Status report and final timeline
ponce | 11 years ago | on: Why Go Is Not Good
ponce | 12 years ago | on: Intel Clang-based C++ Compiler [pdf]
ponce | 12 years ago | on: Intel Clang-based C++ Compiler [pdf]
In this case, the optimal thing to do was not to use these instructions despite the processors claiming support.
ponce | 13 years ago | on: The state of low-level system programming
ponce | 13 years ago | on: Mozilla Game On
ponce | 13 years ago | on: I am depressed and I need someone to talk to
ponce | 15 years ago | on: In praise of Go or "Why I moved from Python and C++ to Go"
ponce | 15 years ago | on: Ask HN: What do you think of the D language?
ponce | 15 years ago | on: Exercise More to Hack Better
ponce | 15 years ago | on: Exercise More to Hack Better
ponce | 15 years ago | on: Apple deprecates Java
ponce | 15 years ago | on: Apple deprecates Java
ponce | 15 years ago | on: Indie (Game) Fund is open for applications
ponce | 16 years ago | on: Writing a Lisp Interpreter in Go
ponce | 16 years ago | on: The Case for D
ponce | 16 years ago | on: The Case for D
ponce | 16 years ago | on: The Case for D
All this "template maelstrom" makes sense and is unavoidable to have powerful and expressive statically-typed languages.
I was writing a library and a contributor popped out of nowhere. He didn't knew D. The first patch it suggested was about parsing some JSON at compile-time.
It turned out std.json the stdlib parser was able to parse at compile-time in CTFE context. So, the contributor parsed JSON at compile-time without his knowledge, without really knowing D, and the fact it worked was accidental (since the parser was n't specially designed to do that, but could).