> At the end of it, he made a comment like, "Of course none of this will happen to Google. You're too innovative."
Yes, but how did everyone listening fail to notice that he winked 3 times in a row, paused silently for 30 seconds and looked disappointed when no one seemed to catch on?
Unrelated to this article specifically, but the biggest thing I'm looking forward to with the Pixel 6 is the improved updates timeline, as Google has said they will provide updates for at least 5 years, which puts them more in-line with Apple.
Previous Pixels worked great but then inexplicably lost OS updates after only a few years.
That's certainly reasonable, but I think it seems harder to keep up with when people compare it to languages like Go (first appeared November 2009) and Kotlin (first appeared July 2011). Those languages both seem really easy to keep up with by comparison. Of course, both of those languages are going along much more well trodden paths.
I think the "Rust is changing too much" feeling comes from people really wanting to use Rust because it has a cool new way of managing memory and zero-cost abstractions, but also feeling like it just keeps moving a little too much on them. Languages like Go and Kotlin just aren't moving much on them.
I think that another part of that feeling comes from the fact that Rust has two different pieces: a) the new way of dealing with memory and abstraction; and b) the syntax, sugar, etc. If you're looking for "a", Rust is the only game in town there. You can't just decide that you need the memory lifetimes and zero-cost abstractions, but don't want to deal with the rest of Rust's evolution.
This might be easier to illustrate by contrast. If I want a statically-typed, garbage-collected language, I can choose Java, Kotlin, C#, Scala, Go, TypeScript, etc. I feel like I have a lot of choice. If I want a dynamic language, I can go with Python, Ruby, JS, PHP, etc. If I want a language that doesn't need GC while not having memory leaks...I'm left with Rust. I can't decide that I don't like the other parts of Rust or don't want to deal with Rust's evolution. If Kotlin were evolving quickly and breaking lots of things, I could just say "Kotlin is dumb and I'll just use Java or Scala or C# or Go". I can't say "Rust is dumb and I'll use..."
When there aren't easy replacements, you're wedded to the decisions of the community. The easier the replacements, the less loud your complaints will be about a language. I think that Kotlin was pretty great for Java because it was highly compatible with Java and gave Java breathing room to figure out how it would evolve Java. Kotlin gave frustrated people a path; it gave Java breathing room to figure out its evolution; and it gave Java the opportunity to look at what worked well in Kotlin and figure out how it could apply that in Java.
When we look at Go, there are often complaints because Go offers things unavailable elsewhere: fast compile times and to a certain extent its concurrency support. So if you really want fast compile times, you don't have an alternative.
Rust is probably changing more than languages like Go and Kotlin which are similar aged. There's a good reason for that: Rust's brief is a lot more novel and expansive than those two languages. However, if you're sold on Rust's memory management and zero-cost abstractions, it might be annoying that it feels like more of a moving target than a language like Go or Kotlin - and you have no alternative to fill that void.
Yes, but how did everyone listening fail to notice that he winked 3 times in a row, paused silently for 30 seconds and looked disappointed when no one seemed to catch on?