HN user

fransiscoli

6 karma
Posts0
Comments9
View on HN
No posts found.

Also, not everything is trying to solve a problem.

True. I'm not "opposed" to anyone doing this, it looks like a really cool project. My issue is people rewriting things in Rust and presenting it as way better simply because of the language it was written it. I understand that rust brings strong compile-time guarantees, but I would use a mature and battle-tested C program over a new, hobbyist rust rewrite any day of the week.

What's up with this whole "Rust rewrite" craze? The coreutils are battle tested and mature as they are, and I don't see how rewriting thousands of lines of code in Rust will change anything. Isn't this solving a non-existent problem?

I think lifetimes are the part of Rust that people see as ugly. I recently wrote the following lines of code:

  struct Parser<'a, 'b, T> {
      value: &'a [T],
      inner: InnerParser<'a, 'b>
  }

  impl<'a, 'b, T> for Parser<'a, 'b, T> {
      fn parse<T: Into<String>>(value: T) -> &'static str {
          ...
      }
  }
and the equivalent code in Scala:
  class Parser[T] {
    var value: List[A] = Nil
    var inner: InnerParser = Nil

    def parse(value: String): String = ...
  }
of course, those programs are not semantically equivalent, but you can clearly see that the Scala version is the more elegant of the two. I can't think of any other way that you could syntactically express lifetimes, but I can see why people would see Rust as ugly.