1. 11
  1.  

  2. 10

    We have deployed this detector in Uber’s 46 million lines of Go codebase hosting 2100 distinct microservice

    Holy shit. What the hell is happening inside of uber that requires 46 million lines of code?

    1. 6

      What the hell is happening inside of uber that requires 46 million lines of code?

      Joke 1: A lot of promotions.

      Joke 2: The law isn’t going to break itself.

      1. 4

        Go does encourage code generation. Much of it could just be serde.

        1. 1

          Go is also verbose. A simple loop to filter values out of a list would take about five lines of code, compared to one in Python and other languages. I’m hoping generics will finally introduce more idiomatic ways to compact such trivial tasks.

      2. 2

        Am I right that this is what Rust eliminates at compile time with its borrow checker?

        1. 2

          I haven’t read the whole paper linked. rustc would catch a lot of those, but necessarily all of them.

          https://doc.rust-lang.org/nomicon/races.html

          And this is not only the result of the borrow checker, but also the combination of Rust general semantics and the Send and Sync traits.