More Software Engineering Radio episodes

Will Sentance on JS Modernization thumbnail

Will Sentance on JS Modernization

Published 29 Apr 2026

Duration: 58:43

JavaScript's evolution from a 1995 scripting language to a performance-optimized modern tool balances innovation with backward compatibility through TC39's incremental updates, browser advancements, community-driven libraries, key features like async/await and symbols, engine optimizations, and a design philosophy prioritizing flexibility and user-driven standardization for large-scale frameworks.

Episode Description

Will Sentance, educator and co-founder of Codesmith, joins SE Radio's Adi Narayan to discuss the evolution of JavaScript and modern best practices. Th...

Overview

The podcast explores the evolution of JavaScript, tracing its journey from a 1995 scripting language designed for basic web interactivity to a mature, performance-optimized ecosystem. It highlights the role of the TC39 committee and browser developers in balancing innovation with backward compatibility, ensuring the language remains stable while adopting modern features like async/await, symbols, and improved array methods. Key challenges include maintaining compatibility with legacy code, which restricts deprecations and influences design choices, while community-driven libraries (e.g., Lodash, Moment.js) have historically filled gaps before features are standardized. The discussion also delves into performance optimization strategies, such as engine-level improvements (e.g., V8s just-in-time compilation) and the trade-offs between native methods and third-party libraries.

Modern JavaScripts focus extends beyond general-purpose use, emphasizing tools for large-scale abstraction and optimization. Topics include the introduction of symbols to prevent property collisions, the shift toward native features like Temporal for date/time handling, and the impact of engine optimizations on object structures (e.g., monomorphic shapes). The podcast also examines the evolving role of JavaScript in frameworks like React and tools like Bun, which aim to streamline development workflows. Finally, it underscores the importance of understanding JavaScripts underlying mechanicssuch as the event loop, prototype chains, and asynchronous executionto effectively leverage its flexibility and address performance bottlenecks in complex systems.

Recent Episodes of Software Engineering Radio

29 Oct 2026 Danilo Krummrich on Rust in the Linux Kernel

"Nova GPU driver project integrates Rust into the Linux kernel to replace the aging Novo driver, leveraging Rust's memory safety for better reliability and performance while addressing firmware and architectural challenges through incremental, collaborative updates."

7 Oct 2026 Sahil Walia on Schema Changes and Data Migrations

Recommended: Schema as source of truth

"Schemas define data structure, apply across systems, and require careful evolution to avoid breaking changes, with best practices including additive updates, blue-green deployments, and stable identifiers."

30 Sept 2026 Raju Dandigam on Building Production AI Agents

"Explores production AI agents, their autonomy, safety, and engineering best practices, comparing workflows, tool design, orchestration, and memory systems while addressing challenges like cost, latency, and reliability."

16 Sept 2026 Milan Milanovic on the Laws of Software Engineering

"Explores key software engineering principles (like Conway's Law, Brooks' Law) and their impact on systems, teams, and decision-making, emphasizing context-dependent trade-offs, AI's role, and practical applications like measuring technical debt."

9 Sept 2026 Owen McGirr on Software Accessibility

"Accessibility in software development must be prioritized from the start, integrating inclusive design practices like multiple input methods, proper labeling, and user testing to benefit all users, not just those with disabilities."

More Software Engineering Radio episodes