More Software Engineering Daily episodes

Prettier and Opinionated Code Formatting with James Long thumbnail

Prettier and Opinionated Code Formatting with James Long

Published 19 Mar 2026

Duration: 50:35

Developer tooling shapes software workflows by streamlining code formatting with opinionated tools like Prettier, addressing formatting inefficiencies, differentiating from ESLint through dynamic code structure analysis, and confronting adoption hurdles, open-source sustainability challenges, ecosystem fragmentation, and the trade-offs between flexibility, usability, and developer needs in JavaScript tooling.

Episode Description

Developer tooling shapes how software gets written day to day, but the best tools often disappear into the background once they succeed. Formatting, l...

Overview

The podcast discusses the role of developer tooling in shaping software workflows, emphasizing how tools like formatting, linting, and build systems can either streamline processes or create friction. It highlights the JavaScript ecosystems historical struggles with tooling complexity and debates, using Prettier as a case study. Prettier, an opinionated JavaScript code formatter, emerged to eliminate time-consuming formatting disputes by enforcing deterministic, consistent code styles through minimal configuration, such as the print width parameter. While initially met with resistance, its adoption grew as developers recognized its benefits in reducing friction during code reviews and enabling focus on functionality. The conversation also explores Prettiers technical approach compared to tools like ESLint, which struggled with managing hundreds of formatting rules, and emphasizes Prettiers ability to handle JavaScript-specific complexities, such as nested functions. Challenges in tooling development include ensuring compatibility across languages, frameworks, and standards, as well as the difficulties of maintaining open-source projects, where financial sustainability and balancing community contributions with feature development remain pressing issues. The discussion also touches on broader trends in JavaScript tooling, including the rise of tools like TypeScript ESLint and the ongoing debate between fragmentation and usability in the ecosystem. Philosophically, Prettier advocates for minimal formatting control, suggesting that most code formatting can be automated, and that readability and maintainability should take precedence over stylistic preferences.

The podcast also delves into the evolution of JavaScript tooling, noting the shift from callback-heavy code to modern syntax, which made formatting tools like Prettier more acceptable. It addresses the challenges of open-source sustainability, contrasting Prettiers reliance on donations with structured business models like Tailwinds. While Prettier is framed as a completed project by its creator, who prefers manual control in certain contexts, the discussion acknowledges the trade-offs between exploratory innovation and maintenance in open-source projects. Technical aspects of Prettiers implementation are explored, including its use of abstract syntax trees (ASTs) and intermediate representations to achieve deterministic formatting. Additionally, the conversation touches on performance challenges in tooling, such as the overhead of using ESLint to invoke Prettier, and the potential of unified toolchains like Biome to reduce redundant parsing. The dialogue concludes with reflections on the evolving landscape of web development tooling, emphasizing the need for better automation, clearer standards, and a balance between flexibility and usability in future tooling solutions.

Recent Episodes of Software Engineering Daily

31 Mar 2026 FreeBSD with John Baldwin

FreeBSD's evolution from BSD, its use in PlayStation 4 and Netflix's CDN, community-driven governance, challenges in maintaining a legacy codebase, modernization efforts, hardware integrations, and initiatives like CherryBSD for memory safety, alongside licensing and corporate collaboration impacts.

26 Mar 2026 Cilium, eBPF, and Modern Kubernetes Networking with Bill Mulligan

eBPF-based projects like Cilium address cloud-native networking challenges by enabling scalable, secure, identity-driven traffic management in Kubernetes through kernel-level programmability, replacing traditional tools with efficient, crash-resistant solutions.

24 Mar 2026 Games That Push Back with Bennett Foddy

Bennett Foddy's systems-driven design emphasizes physics-based mechanics, absurdist themes, and nuanced frustration over simplistic difficulty, using games like *QWOP* and *Baby Steps* to explore player agency, iterative discovery, and critiques of industry trends through accessible, community-informed development.

17 Mar 2026 Skate Story with Sam Eng

Skate Story, a 2025 indie game, blends vaporwave aesthetics, existential themes, and surreal storytelling with fluid skate mechanics, a linear journey of a glass demon to the moon, accessible controls, cosmic challenges, retro visuals, and themes of perseverance and real-world skateboarding inspiration.

More Software Engineering Daily episodes