Log in

goodpods headphones icon

To access all our features

Open the Goodpods app
Close icon
Dead Code - GOTO Precedence Hell (with Noratrieb)

GOTO Precedence Hell (with Noratrieb)

04/22/25 • 28 min

Dead Code

In this episode of Dead Code, Jared chats with Nora, a Rust contributor, about operator precedence and the trade-offs between code clarity and conciseness across programming languages. Nora, inspired by her blog post “Don’t Play the Precedence Game,” explains how languages like C and Rust handle operator order differently, particularly around equality and bitwise operations, which can lead to subtle, hard-to-spot bugs. She advocates for using parentheses generously to make intent explicit, even if some consider it “noisy,” and highlights how tools like linters and formatters approach optional syntax differently. They also touch on Ruby’s permissive style, Lisp’s avoidance of precedence via prefix notation, and broader lessons for language design—ultimately agreeing that clarity should win when it matters, and that different languages cater to different developer mindsets.


Links:


“Don’t Play the Precedence Game”

Rust

C Programming Language

Ruby

Lisp

Go

Rescript

rustfmt

Clippy

Prettier

Nora’s Website

Nora’s Mastodon

Nora’s GitHub


Dead Code Podcast Links:


Mastodon

X


Jared’s Links:


Mastodon

X

twitch.tv/jardonamron

Jared’s Newsletter & Website


Episode Transcript


Hosted on Acast. See acast.com/privacy for more information.

plus icon
bookmark

In this episode of Dead Code, Jared chats with Nora, a Rust contributor, about operator precedence and the trade-offs between code clarity and conciseness across programming languages. Nora, inspired by her blog post “Don’t Play the Precedence Game,” explains how languages like C and Rust handle operator order differently, particularly around equality and bitwise operations, which can lead to subtle, hard-to-spot bugs. She advocates for using parentheses generously to make intent explicit, even if some consider it “noisy,” and highlights how tools like linters and formatters approach optional syntax differently. They also touch on Ruby’s permissive style, Lisp’s avoidance of precedence via prefix notation, and broader lessons for language design—ultimately agreeing that clarity should win when it matters, and that different languages cater to different developer mindsets.


Links:


“Don’t Play the Precedence Game”

Rust

C Programming Language

Ruby

Lisp

Go

Rescript

rustfmt

Clippy

Prettier

Nora’s Website

Nora’s Mastodon

Nora’s GitHub


Dead Code Podcast Links:


Mastodon

X


Jared’s Links:


Mastodon

X

twitch.tv/jardonamron

Jared’s Newsletter & Website


Episode Transcript


Hosted on Acast. See acast.com/privacy for more information.

Previous Episode

undefined - Cursed Return (with Nicole Tietz-Sokolskaya)

Cursed Return (with Nicole Tietz-Sokolskaya)

In this episode of Dead Code, Jared speaks with software engineer Nicole Tietz-Sokolskaya about the ethical complexities of large language models (LLMs). Nicole shares her mixed experiences with LLMs—finding brief personal value but little long-term usefulness in her work—and critiques their environmental impact, reliance on questionable training data, and potential to concentrate power among major tech companies. She raises concerns about consent, bias, and the quality of generated code, while also acknowledging LLMs’ potential in accessibility and trust and safety roles. Ultimately, both Nicole and Jared advocate for a values-driven approach to technology, urging developers to critically evaluate the tools they use and the broader implications of their choices.


Links:


Mastodon: [email protected]

Nicole’s Bandcamp

Can I Ethically Use LLMs?

Talon Voice Software

Recurse Center

Deconstruct Conf

AMP Project


Dead Code Podcast Links:


Mastodon

X


Jared’s Links:


Mastodon

X

twitch.tv/jardonamron

Jared’s Newsletter & Website


Episode Transcript


Hosted on Acast. See acast.com/privacy for more information.

Next Episode

undefined - Brutality of Behaviour (with Carson Gross)

Brutality of Behaviour (with Carson Gross)

In this episode of Dead Code, Jared interviews Carson Gross, creator of HTMX, about the principle of Locality of Behavior (LoB) and its role in web development. Carson explains that HTMX enhances HTML rather than replacing it like modern JavaScript frameworks, offering a simpler, hypermedia-driven approach ideal for use cases like e-commerce. He critiques the traditional emphasis on Separation of Concerns, arguing that keeping behavior close to markup improves maintainability and avoids “spooky action at a distance.” Carson acknowledges trade-offs between LoB, DRY, and SoC, emphasizing the importance of context-based decision-making. He and Jared also discuss broader software trends, advocating for deeper modules, simpler APIs, and a pragmatic, less ideological approach to coding as the industry evolves.


Links:


HTMX Website

HTMX Essays (especially Locality of Behavior and When to Use Hypermedia)

grugbrain.dev

Hypermedia Systems Book

Richard Gabriel’s “Worse Is Better” Essay

Mozilla Developer Network (MDN)

John Ousterhout’s A Philosophy of Software Design

The Uncle Bob vs. John Ousterhout Argument

Big Sky Software (Carson’s Company)

Hyperscript


Dead Code Podcast Links:


Mastodon

X


Jared’s Links:


Mastodon

X

twitch.tv/jardonamron

Jared’s Newsletter & Website


Episode Transcript


Hosted on Acast. See acast.com/privacy for more information.

Episode Comments

Generate a badge

Get a badge for your website that links back to this episode

Select type & size
Open dropdown icon
share badge image

<a href="https://goodpods.com/podcasts/dead-code-543080/goto-precedence-hell-with-noratrieb-89843627"> <img src="https://storage.googleapis.com/goodpods-images-bucket/badges/generic-badge-1.svg" alt="listen to goto precedence hell (with noratrieb) on goodpods" style="width: 225px" /> </a>

Copy