Podchaser Logo
Home
Episode 92: (Un)breaking JavaScript with Yulia Startsev

Episode 92: (Un)breaking JavaScript with Yulia Startsev

Released Monday, 30th May 2022
Good episode? Give it some love!
Episode 92: (Un)breaking JavaScript with Yulia Startsev

Episode 92: (Un)breaking JavaScript with Yulia Startsev

Episode 92: (Un)breaking JavaScript with Yulia Startsev

Episode 92: (Un)breaking JavaScript with Yulia Startsev

Monday, 30th May 2022
Good episode? Give it some love!
Rate Episode

Support us on Kofi! (https://ko-fi.com/C0C86NYJW)Have you ever wondered if it's worth breaking the internet? No? Well, today's guest has! Tune in as we chat with Yulia Startsev, a software engineer for Mozilla, and a compiler for JavaScript. We dive into the conversation with who uses semi-colons (and when and why), followed by an anecdote from Yulia about Smoosh and the potential to break the internet. Yulia talks us through the considerations when naming a new JavaScript function, and the promising changes around immutability. We also learn how to remember the difference between the splice and slice functions, and why pattern matching is such an exciting prospect. We hear about the four stages of deciding to change JavaScript, why most programming languages are written in English, and why certain popular functions like caller and colleague were deprecated. We wrap up the episode with a summary of what the array by group function does, who funds the updates to JavaScript, and what Yulia’s fantasy changes to the web would be! So, for all this and so much more, tune in today.Key Points From This Episode:Welcome to today’s guest, Yulia Startsev, an engineer at Mozilla and compiler for JavaScript. A discussion around semicolons and who’s pro and who’s against (and who’s neither!).Why it’s important not to break the internet: a funny anecdote about SmooshGate. The considerations to take into account when naming a function. What’s coming to JavaScript: Immutability. Why Tuples are such an exciting prospect and their role in wrap-around vs incomplete infinite grids. How the team understands the difference between splicing and slicing. How Yulia and the JavaScript team come up with new names. The idea behind pattern matching, and how it will reduce the cognitive load on developers. The four stages of deciding to accept a change to JavaScript. Why most programming languages are written in English. Why the caller and colleague functions were deprecated. Array by group: what it is, why it’s interesting, and the readability issues it is facing. Things the team would love to add to or change in JavaScript. When Yulia is willing to break the web. Who funds the updates and changes to JavaScript. Yulia’s fantasy changes to JavaScript, and why these are far in the future. Where you can find out more about Yulia!Today's picks: from board games to body pillows to YouTube essayists. Tweetables:“Pattern matching is a proposal I am quite excited about, switch in case statements are very interesting in JavaScript. By interesting, I mean, broken.” — @codehag (https://twitter.com/codehag?ref_src=twsrc%255Egoogle%257Ctwcamp%255Eserp%257Ctwgr%255Eauthor) [0:27:23]“[Pattern matching is] very exciting. It's very, very powerful, which makes it a little scary because using an overpowered tool for something that doesn't need that level of power can lead you to making mistakes that you wouldn't make with a less powerful tool.” — @codehag (https://twitter.com/codehag?ref_src=twsrc%255Egoogle%257Ctwcamp%255Eserp%257Ctwgr%255Eauthor) [0:33:19]“It’s significantly more difficult to remove something than it is to add something.” — @codehag (https://twitter.com/codehag?ref_src=twsrc%255Egoogle%257Ctwcamp%255Eserp%257Ctwgr%255Eauthor) [0:52:10]Links Mentioned in Today’s Episode:tc39: How We Work (https://github.com/tc39/how-we-work) (GitHub)SmooshGate: The ongoing struggle between progress and stability in JavaScript (https://medium.com/@jacobdfriedmann/smooshgate-the-ongoing-struggle-between-progress-and-stability-in-javascript-2a971c1162dd), Jacob FriedmannSmooshMonkey (https://bugzilla.mozilla.org/show_bug.cgi?id=smooshmonkey)Reduce/Reduce Conflict (https://www.gnu.org/software/bison/manual/html_node/Reduce_002fReduce.html#:~:text=A%20reduce%2Freduce%20conflict%20occurs,zero%20or%20more%20word%20groupings.), gnu.orgJavaScript Records & Tuples Proposal (https://github.com/tc39/proposal-record-tuple), tc39 (GitHub) Record & Tuple Tutorial (https://tc39.es/proposal-record-tuple/tutorial/#:~:text=What%20is%20Record%20%26%20Tuple%20%3F,a%20deeply%20immutable%20primitive%20value.), tc39Kolates? (non-English programming language conference)Function.caller (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/caller) (deprecated), MDNWhy was arguments.callee removed from ES5 strict mode? (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/arguments/callee#why_was_arguments.callee_removed_from_es5_strict_mode), MDNTemporal Proposal (https://github.com/tc39/proposal-temporal), tc39Symbol.species (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/species) (please don’t use), MDNCompanies scramble to defend against newly discovered 'Log4j' digital flaw (https://www.npr.org/2021/12/14/1064123144/companies-scramble-to-defend-against-newly-discovered-log4j-digital-flaw), Jenna McLaughlin (NPR)CommonJS (https://en.wikipedia.org/wiki/CommonJS#:~:text=CommonJS%20is%20a%20project%20with,outside%20of%20the%20web%20browser.&text=programming%20with%20Node.-,js.,browsers%20don't%20support%20CommonJS.), WikipediaRun to completion scheduling (https://en.wikipedia.org/wiki/Run_to_completion_scheduling), WikipediaEnglish Linguistic Imperialism in Programming (https://www.pagerduty.com/eng/english-linguistic-imperialism-programming), Hannah Chung (PagerDuty)Coding Is for Everyone—as Long as You Speak English (https://www.wired.com/story/coding-is-for-everyoneas-long-as-you-speak-english), Gretchen McCullough (WIRED)How to find Yulia on the internet:Twitter: @codehag (http://twitter.com/codehag)Github: codehag (https://github.com/codehag)Twitch.tv: codehag (https://twitch.tv/codehag)Compiler Compiler (https://www.youtube.com/watch?v=gPcHBzWXq1E&list=PLo3w8EB99pqJVPhmYbYdInBvAGarDavh-&index=1), Yulia Startsev (YouTube)Mozilla Hacks: Yulia Startsev (https://hacks.mozilla.org/author/ystartsevmozilla-com)This week's picks:Yulia StartsevSophie from Mars (https://www.youtube.com/channel/UCJmlCcnfMlyPA2oSbb072QA), YouTubeThe Ballad of Himbo Geralt: A look at Netflix' The Witcher | Witchermania (https://www.youtube.com/watch?v=yO9ZGr84Xg4), Sophie from MarsLang Jam (https://github.com/langjam/langjam), JT (GitHub)Advent of Code 2021 in APL #1! (https://www.youtube.com/watch?v=DNYxfoCEVEM), code_report (YouTube)Functional vs Array Programming (https://www.youtube.com/watch?v=UogkQ67d0nY), code_report (YouTube)AlexSanta Monica (https://www.alderac.com/santa-monica/), Board GameAriGolden Girls (https://www.hulu.com/series/the-golden-girls-a6e5db1c-ab70-451d-8b8c-2fba9ea29248), ABC (on Hulu)TessaBody pillowTeacup (https://whitethorngames.com/teacup), Smarto Club (Xbox Series X and Series S, PlayStation 4, Microsoft Windows, Nintendo Switch, Xbox One, PlayStation 5)Hellbound (https://www.netflix.com/title/81256675), NetflixJorts (https://twitter.com/AITA_online/status/1470862918908624908)Jorts update (https://twitter.com/Rainbowmazin/status/1470871686996283394)

Show More
Rate

Join Podchaser to...

  • Rate podcasts and episodes
  • Follow podcasts and creators
  • Create podcast and episode lists
  • & much more

Episode Tags

Do you host or manage this podcast?
Claim and edit this page to your liking.
,

Unlock more with Podchaser Pro

  • Audience Insights
  • Contact Information
  • Demographics
  • Charts
  • Sponsor History
  • and More!
Pro Features