Scale By The Bay 2018: Bryan Cantrill, Rust and Other Interesting Things

FunctionalTV · 45K views · 2018 · 37:07

Open on YouTube

Programming language designC, C++, Rust, Go & systems languagestalk

Why Hacker News recommends it

Cited again and again as the framework for discussing languages in terms of values, and how organizational values shape software quality.

What it is

Bryan Cantrill argues that programming languages and platforms reflect core values, and compares languages through that lens, with Rust as a main example. He draws on his experience with Solaris, DTrace and ZFS.

Recommended by 5 HN commenters across 5 different months, 2021 to 2024.

What Hacker News said

Strong rec freemint · 2022-05 · on “Correctness and composability bugs in the Julia ecosystem”

As a huge fan of Julia i got to fully agree. Although i would probably not "no longer recommend Julia" but "give huge caveats when mentioning Julia". Organisations (that includes those who maintain programming language) have values Bryan Cantrill has an excellent talk on this [this video] and i got to agree with the author that correctness (especially correctness under arbitary composability) is not a value that Julia teaches and instills in its users. Some Julia users care about this, some core maintainers do to (as the Pkg3 demonstrates). However there are many invocations (SafeTestSets vs Test) and stumbling blocks. I am aware of no efforts to do formal verification on Julia code. There are no

Recommends btschaegg · 2021-05 · on “Modern Javascript: Everything you missed over the last 10 years (2020)”

Bryan Cantrill explains a very interesting thought about that here: [this video] I'm sure there are many other factors that play into this (just look at Gary Bernhardt's "WAT" talk), but essentially, I agree that this has to be a big part of the problem. If you've been developing backend systems and asked to hold up robustness and stability guarantees for multiple years and then run into Javascript, you will likely run into situations where you have to make up for its deficiencies in that regard. That doesn't make it a bad language per se -- that's the case with any language in some aspects -- but since JS will be a new language to you, you're much less likely to accept that situation as a given.

Recommends josephg · 2021-08 · on “Growing object-oriented software vs. what I would do”

No, I'm not. Or at least, not as I see it. How would you describe javascript's values, compared to other languages? This is a great chart / explanation of this kind of thinking from Bryan Cantrill: [this video]

Recommends jamincan · 2022-01 · on “Rust in 2022”

Bryan Cantrill has an interesting talk that discusses various languages in terms of their values that you might finding interesting: [this video]

Recommends codetrotter · 2024-08 · on “CrowdStrike accepting the PwnieAwards for "most epic fail" at defcon”

There is sparsely little real “engineering” that goes on in the field of “software engineering”, industry wide, in terms of ensuring that our software is reliable and secure. Performance and development velocity seem to take the driver seat always, in a whole lot of software. See also this talk by Bryan Cantrill, “Scale by the Bay 2018: Rust and Other Interesting Things” [this video] where he talks about software platform values, in the sense of what different programming languages and other things focus on. He also touches on the fact that while higher level layers in the stack might value security it kind of falls apart when the very microcode in our CPUs sacrifices security for performance. Th

Cites codesections · 2021-01 · on “Haskell is a Bad Programming Language (2020)”

> I can't recall which exact presentation it was, but Bryan Cantrill had a brilliant segment on this in one of them. Perhaps others around here can remember? I think that's his discussion of language values in "Rust and Other Interesting Things" at Scale By The Bay 2018. [this video] [edit: This talk is also titled "Platform values, Rust, and implications for systems software". I'm not sure which title is preferred.]

Cites scudd · 2021-03 · on “I Want a New Duck (2020)”

I can't help but feel like if you want static typing, you're better off recognizing that python is not the right tool for the job. Admittedly I've never done serious work with mypy (or typescript), so I'm approaching the value proposition of dynamic typing at face value rather than experience. However, it seems like the primary benefit of these languages was ease and flexibility, ableit at the cost of structure. Or said differently, adding mypy feels like trying to get out of a trade-off decision. This situation reminds me of a talk Bryan Cantrill gave on platform core values, and as examples he gave his interpretation of the platform core values of languages like C, Awk, and Scala: [this video]

Cites db48x · 2021-05 · on “Instant replay: Debugging C and C++ programs with rr”

The real cost to my client was that for months or years their system had been crashing, and they could do nothing about it. They just had to live with it, rerunning jobs that had crashed. Maybe the compile times would have been unfortunate, but I think they would have come out ahead. On the other hand, they probably wouldn’t have had to hire me. Speed isn’t everything: [this video]