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

23 Apr 2026 Eric Tschetter on Decoupling Observability

Recommended: Telemetry is important, avoiding vendor lockin is even more important.

Observability in microservices emphasizes decoupled architectures over traditional frameworks to address vendor lock-in, data interoperability, and scalability challenges, while balancing unstructured telemetry management, query language standardization, and cross-team collaboration.

15 Apr 2026 Martin Kleppmann Local-First Software

Local First Software combines local data storage with cloud collaboration to enable offline access, real-time editing, and seamless syncing via AutoMerge and CRDTs, prioritizing user control, privacy, and decentralized workflows with future focus on open standards and AI integration.

8 Apr 2026 Sahaj Garg on Designing for Ambiguity in Human Input

Ambiguity in language and speech, arising from context, phrasing, and incomplete information, poses challenges for AI systems due to their limited context processing, while humans resolve it through contextual cues, tone, and prior knowledge, with strategies focusing on contextual prompts, audio training, data augmentation, and balancing AI efficiency with human-like adaptability in multilingual and ethical contexts.

1 Apr 2026 Costa Alexoglou on Remote Pair Programming

A discussion on pair programming's collaborative advantages, remote pairing challenges, AI's role in coding, the development of HAWP, and future remote work tools, highlighted by a five-month platform refactor case study and lessons in balancing performance, security, and user needs.

25 Mar 2026 Hector Ramon Jimenez on Building a GUI library in Rust

ICE is a Rust-based UI toolkit inspired by Elm's architecture, using message-passing to separate state, updates, and views, evolved from a game library module into a functional-focused standalone tool with Winit/WGPU rendering, cross-platform goals, and challenges in dependency stability, while emphasizing state-driven design, community development, and future improvements in rendering efficiency, accessibility, and multi-platform support.

More Software Engineering Radio episodes