Remix.run Logo
Evidlo a day ago

A little disappointed that his answers to "What are you opinions on Rust/Nix/HolyC" were mostly "I don't know about that project"

nromiun a day ago | parent [-]

What? But he said this on Rust:

> ‘”I have written only one Rust program, so you should take all of this with a giant grain of salt,” he said. “And I found it a — pain… I just couldn’t grok the mechanisms that were required to do memory safety, in a program where memory wasn’t even an issue!”

Also that Rust is slow. That is not nothing.

postquantumfax a day ago | parent | next [-]

He spent one day on a project at some point.. I spent one week on a project when it was new and I wouldn't judge it today using that week.

MrJohz a day ago | parent | prev [-]

Eh, it's not a particularly informed opinion, it's his experience from a brief stint with it where it doesn't really sound like he got enough to grips with it to make much of a judgement.

It's like if I took my brief experiences writing C in uni and summarised it was "it's a pain getting all the different files to compile, and I couldn't work out how to import any useful dependencies" - it's not necessarily a _wrong_ opinion, but clearly it's not a useful one. I just don't have enough experience with C to be able to give you a meaningful opinion on it. It sounds like Kernighan is in a similar boat with Rust.

exe34 a day ago | parent | next [-]

I learnt pointers in C by adding stars until it compiled and then adding ampersands until it stopped segfaulting!

im3w1l a day ago | parent | prev [-]

That something is difficult to get up to speed with is a useful criticism.

MrJohz 21 hours ago | parent [-]

That's true, although it's often limited in applicability. The amount of time it takes us to learn something often depends on what we already know and what analogies and comparisons we have. I can imagine Kernighan has worked with very few languages that come with their own package manager like Cargo, and so using Cargo feels very alien and slow to him. But for someone coming from a language like Java or Python, a language-specific package manager might seem really obvious and intuitive.

Also some of his comments sound surprising, like there's more context that he didn't communicate or wasn't aware of. For example, Rust code typically performs as quickly as C code (sometimes faster, sometimes slower, depending on various details, but typically they are very similar). But his impression of Rust was that the resulting code was slow, which maybe suggests he was writing quite strange code to begin with, or that he didn't know how to get Rust to compile in release mode or something like that. My hunch is that he was trying out Rust, but also wasn't especially invested in learning it (which is fair enough!) and so maybe missed some stuff that would seem obvious to other new users. Like I said, I did much the same in university when learning C, and as a result simply don't have an informed opinion there.

In the end, the guy has written one program and was completely up front about how that does not make him an expert either in how great Rust is, or how terrible it is. Which is a sensible approach to take.