6 ms·
This was ultimately my problem with Rust, and I am really glad this is being addressed directly. At the end of the day, the primary thing I want from my PL is
by JoelMcCracken 10y ago
This was ultimately my problem with Rust, and I am really glad this is being addressed directly.
At the end of the day, the primary thing I want from my PL is to boost my productivity. In the kinds of software that I write, I can tolerate bugs and GC. Does Rust actually make me more productive?
- ainar-g 10y ago>I can tolerate bugs You might want to rewrite that statement. Or at least clarify, what kind of software that you write that can "tolerate bugs" and what kind of bugs you're talking about.
- JoelMcCracken 10y agoObviously, I do things to minimize bugs, and not all bugs are "tolerable". 1. I write many kinds of software, but specifically at that moment I was talking about web applications. 2. "Tolerating bugs" is true of literally every software, except maybe things that are proven to be correct in the mathematical sense. Web applications often have parts that may cause inconvenience if there is a bug, but data is not lost, productivity is not lost, and certainly no lives are lost.
- jamwt 10y agoIf your primary goal is productivity, I don't think rust will ever be the right language for you. If you want to remain relatively productive while building things that are one or more of (large, fast, safe), it's an excellent choice.
- gcp 10y agoI'm not sure. I'm tempted to say I'm about as productive (in orders of magnitude) in any language that I'm very familiar with and has a large enough "batteries included" component (yes, crates would count, as does npm). Even C++ as long as the extras from boost are there. I can type reasonably correct code much faster than I can reason about how the program should work.
- jamwt 10y agoI'm not saying unproductive. I'm saying, we need to be realistic. Compared to, say, Python, it's nowhere close. Compared to C++, Java, or even Go, it's anywhere from competitive to significantly better.
- flukus 10y agoYou may be using a different definition of productive. I wouldn't consider python or any dynamic language productive on a large project.
- vertex-four 10y agoAdd maintainable to that list. A program where its developers have a fuzzy idea of ownership of data is not in any way maintainable.
- jamwt 10y agoYep, that's what I meant about "large". If you have a large project, with many developers you're going to want types + generics to maintain it over the many-years and 100,000s to millions of SLOC life.
- JoelMcCracken 10y agoRust is hardly the only language to have a type system that supports generics.
- jamwt 10y agoI didn't say it was! I said it was an "excellent choice". Right?
- JoelMcCracken 10y agoRight. But, what I'm saying is, generics does not make Rust unique. There are many other good languages that I think may be a better choice.
- JoelMcCracken 10y agoThis is one of those things that seem plausible, but I have no idea if its really true. I'm not disagreeing, I just can't see it as being obviously true. Can you give me an example of how a fuzzy idea of ownership causes, ideally, a real problem, or a less ideally a simplified example problem? I'm 100% genuinely interested in this.
- isaacaggrey 10y agoI can't speak to personal experience since I've only dabbled in Rust, but I have followed it for quite a while and lately I have read more and more how how Rust forces you to structure your data and program in such a way that is more maintainable.