Logo
    Search

    Podcast Summary

    • Microsoft proposes adding optional and erasable type syntax to JavaScriptMicrosoft's proposal for JavaScript types aims to improve code quality, provide better tooling support, and make JavaScript more versatile for large-scale projects with runtime enforcement

      TypeScript, a Microsoft project, has proposed adding optional and erasable type syntax to JavaScript. This proposal, which they've labeled as "types as comments," is not the same as JSDoc comments. While JSDoc provides type information for static analysis tools, the proposed JavaScript types would be enforced at runtime. This could lead to improved code quality, better tooling support, and a more consistent development experience. Microsoft's proposal aims to make JavaScript more versatile and better suited for large-scale projects, especially those that require robust type checking. The discussion also highlighted the importance of error tracking and visibility in web development, emphasizing the role of tools like Sentry and Linode in maintaining a high-quality user experience.

    • Flexibility vs. Strong Typing in JavaScriptJavaScript's lack of strong typing can lead to errors but TypeScript's benefits include catching bugs early, improved autocomplete, and easier development.

      While many programming languages are strongly typed, meaning you declare the type of arguments passed into functions, JavaScript is considered loosely typed. This means that JavaScript doesn't enforce type declarations, allowing flexibility but potentially leading to errors. However, the use of TypeScript, a typed superset of JavaScript, has gained popularity due to its benefits such as catching bugs early, improved autocomplete, and easier development. A proposal also exists to add types directly to JavaScript, making it a more strongly typed language. Despite the lack of strong typing in JavaScript being sufficient for many developers in the past, the increasing complexity of modern applications highlights the advantages of strong typing. TypeScript can save developers significant time and effort, making it a valuable tool for modern JavaScript development.

    • JavaScript may soon adopt static typingProposal allows developers to opt-in to adding type information to JavaScript code, read and parsed by tools but doesn't affect engine, requested feature in State of JS survey for 2 years, TypeScript popular for static typing, concerns about learning curve

      JavaScript may soon adopt static typing through a proposal called "types as comments." This proposal, which is currently in its early stages, would allow developers to opt-in to adding type information to their JavaScript code. The type information would be read and parsed by tools like browsers, ESLint, Prettier, and others, but would not affect the low-level JavaScript engine. This is an exciting development as static typing has been the most requested language feature in the State of JS survey for the past two years, and TypeScript, which already offers static typing, is the fourth most used language on GitHub and one of the most loved languages on Stack Overflow. Despite this, there are concerns about the learning curve for JavaScript developers who are not already familiar with static typing. Regardless, the proposal's potential impact on JavaScript is significant and could lead to a major shift in the language. Stay tuned to Syntax.fm for updates on this proposal as it progresses.

    • TypeScript comments act like syntax for providing type informationTypeScript comments are parsed by the TypeScript compiler and function similarly to syntax, providing type information, while JSDoc requires writing comments above functions and is more verbose.

      TypeScript comments, despite being labeled as such, function more like TypeScript syntax when it comes to providing type information. This is because the TypeScript compiler can read and parse these comments, while JavaScript engines, such as browsers, discard them before reaching the JavaScript engine. This is different from JSDoc, which allows developers to write type information as comments in plain JavaScript. While JSDoc has its benefits, such as the ability to describe argument types, it requires writing comments above functions and can be more verbose compared to integrating TypeScript directly into the code. Ultimately, the preference between the two methods depends on personal preference and the specific use case. Some developers might find JSDoc useful for projects that are primarily JavaScript, while others might prefer the more streamlined approach of TypeScript's in-line syntax. The discussion also touched upon the idea that some developers might have initially disliked TypeScript due to its appearance, but as they become more familiar with it, they might come to appreciate its benefits.

    • TypeScript vs JavaScript: Different ApproachesTypeScript offers static type checking and advanced features, but may be overwhelming for beginners. JavaScript remains minimalistic and flexible, but lacks some TypeScript benefits.

      While some developers may find TypeScript's syntax and additional features overwhelming or frustrating when first starting out, especially in comparison to the more minimalistic look of JavaScript, it is a valid criticism. The introduction of new syntax in JavaScript with ES 6 caused similar reactions from developers who were used to the traditional JavaScript style. TypeScript's opt-in nature allows developers to gradually adopt it as they become more comfortable with its features and as their projects become more complex. However, for smaller projects or for those just starting out in JavaScript development, it may be recommended to focus on learning the basics of JavaScript first. JSDoc comments can serve as an alternative for type checking and documentation, but they take up less space and do not provide the same level of static type checking and other benefits offered by TypeScript. Ultimately, the decision to use TypeScript or not depends on the complexity of the project and the developer's individual preferences and needs.

    • Considering TypeScript over JSDoc for type checking benefitsTypeScript offers more features, no build step for browser use, and is popularly adopted, making it a productive choice for modern JavaScript development despite potential downsides

      TypeScript, as a statically-typed superset of JavaScript, offers significant benefits over JSDoc and other type checking solutions. The primary reason for considering TypeScript instead of JSDoc is that TypeScript is more feature-rich and does not require a build step for using types in the browser. This can save time and effort in the development process. Additionally, TypeScript is a clear winner in the market, with popular companies like Stripe successfully converting their codebases from other type checking tools. However, there are potential downsides to using TypeScript, such as the requirement for a language owned by a company (Microsoft) and the need for a compiler. Despite these minor drawbacks, the productivity boost and standardization offered by TypeScript make it a compelling choice for modern JavaScript development.

    • Downsides of TypeScriptTypeScript comes with added complexity, ignored by JavaScript runtime, and debated integration into JavaScript through TC 39

      TypeScript, while offering numerous benefits such as improved code quality and better tooling, also comes with certain downsides. These downsides include the added complexity of learning TypeScript over plain JavaScript, the fact that the types are ignored by the JavaScript runtime and require additional tooling for type checking, and the debate over whether TypeScript should be integrated into JavaScript itself through TC 39 instead of being a separate solution. The added complexity of TypeScript can make learning JavaScript for the first time more challenging. While the benefits may outweigh the initial difficulty, those starting out with JavaScript might find it easier to focus on the language itself before introducing types. Additionally, TypeScript types are ignored by the JavaScript runtime, meaning that the type checking must be done through external tools. This adds an extra step in the development process and raises questions about the future of build tools. The idea of integrating a type system into JavaScript through TC 39 has been proposed, but the argument is that a separate solution like TypeScript offers more flexibility and allows for a more robust type checking experience. However, the debate continues as to whether a built-in type system would simplify the development process or add unnecessary complexity. Ultimately, the choice between TypeScript and a potential built-in type system depends on individual developer preferences and project requirements.

    • Proposal to add TypeScript-like features to JavaScriptLengthy process to add new features to JavaScript, potential benefits for developers, absence of enums and JSX in proposal, ongoing debates and opinions.

      The proposal to add TypeScript-like features, such as generics and type arguments, to JavaScript is a complex issue with a long history. The process of implementing ECMA script modules took over a decade, and there are still many opinions and debates surrounding this new proposal. One of the main differences between TypeScript and the proposed JavaScript features is the absence of enums and JSX in the proposal due to its focus on metadata rather than real data. While some argue for the need to add JSX to the browser, others believe that it requires further development before it can be implemented effectively. Overall, the process of adding new features to JavaScript is a lengthy and complex one, but the potential benefits for developers make it a worthwhile endeavor. If you're interested in following the progress of this proposal, be sure to check out the links we've provided and consider subscribing to the GitHub repository.

    • Engaging with content creators builds stronger communitiesInteracting with creators through subscriptions, reviews, and support fosters deeper connections and effective collaborations. Stay curious, communicate openly, and step outside comfort zones to learn and grow.

      Importance of engaging with content creators and contributing to their work. Whether it's through subscribing to a podcast, leaving a review, or supporting them on other platforms, every interaction helps to build a stronger community and ensures that the creators can continue producing high-quality content. Additionally, the conversation highlighted the value of open and honest communication, both in personal relationships and in professional settings. By actively listening, asking thoughtful questions, and being receptive to feedback, we can foster deeper connections and build more effective collaborations. Lastly, the discussion emphasized the importance of staying curious and open-minded, and the potential rewards of stepping outside of our comfort zones to learn new things and explore new ideas.

    Recent Episodes from Syntax - Tasty Web Development Treats

    790: State of JS 2023 Reactions

    790: State of JS 2023 Reactions

    Scott and Wes dive into the 2023 State of JavaScript survey, breaking down the latest trends and pain points in front-end frameworks, build tools, and JavaScript runtimes. Tune in for their hot takes and insights on what’s shaping the JavaScript landscape this year!

    Show Notes

    Sick Picks

    Shameless Plugs

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott: X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    789: Do More With AI - LLMs With Big Token Counts

    789: Do More With AI - LLMs With Big Token Counts

    Join Scott and CJ as they dive into the fascinating world of AI, exploring topics from LLM token sizes and context windows to understanding input length. They discuss practical use cases and share insights on how web developers can leverage larger token counts to maximize the potential of AI and LLMs.

    Show Notes

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott: X Instagram Tiktok LinkedIn Threads

    CJ: X Instagram YouTube TwitchTV

    Randy: X Instagram YouTube Threads

    788: Supabase: Open Source Firebase for Fullstack JS Apps

    788: Supabase: Open Source Firebase for Fullstack JS Apps

    Scott and CJ chat with Paul Copplestone, CEO and co-founder of Supabase, about the journey of building an open source alternative to Firebase. Learn about the tech stack, the story behind their excellent documentation, and how Supabase balances business goals with open-source values.

    Show Notes

    • 00:00 Welcome to Syntax!
    • 00:30 Who is Paul Copplestone?
    • 01:17 Why ‘Supa’ and not ‘Super’?
    • 02:26 How did Supabase start?
    • 08:42 Simplicity in design.
    • 10:32 How do you take Supabase one step beyond the competition?
    • 12:35 How do you decide which libraries are officially supported vs community maintained?
      • 15:17 You don’t need a client library!
    • 16:48 Edge functions for server-side functionality.
    • 18:51 The genesis of pgvector.
    • 20:59 The product strategy.
    • 22:25 What’s the story behind Supabase’s awesome docs?
    • 25:26 The tech behind Supabase.
    • 35:46 How do you balance business goals with open source?
    • 42:01 What’s next for Supabase?
    • 44:15 Supabase’s GA + new features.
    • 48:24 Who runs the X account?
    • 50:39 Sick Picks + Shameless Plugs.

    Sick Picks

    Shameless Plugs

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott: X Instagram Tiktok LinkedIn Threads

    CJ: X Instagram YouTube TwitchTV

    Randy: X Instagram YouTube Threads

    787: You Should Try Vue.js

    787: You Should Try Vue.js

    Scott and CJ dive deep into the world of Vue.js, exploring what makes this frontend framework unique and why it stands out from React and Svelte. CJ gives a comprehensive tour, covering everything from getting started to advanced features like state management and Vue’s built-in styles.

    Show Notes

    Vue.js: The Documentary.

    Sick Picks

    Shameless Plugs

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott: X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    786: What Open Source license should you use?

    786: What Open Source license should you use?

    Scott and CJ dive into the world of open source, breaking down its meaning, benefits, and the various types of licenses you’ll encounter. From permissive licenses like MIT and Apache 2.0 to copy-left licenses such as GNU GPLv3, they’ll help you choose and apply the right license for your project.

    Show Notes

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott: X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    785: What’s Next for NextJS with Tim Neutkens

    785: What’s Next for NextJS with Tim Neutkens

    Scott and Wes dive into the world of Next.js with special guest Tim Neutkens from Vercel. They explore the latest updates, including the React Compiler and React Server Components, discussing their impact on developer workflows and the future of Next.js development.

    Show Notes

    • 00:00 Welcome to Syntax!
    • 00:30 What does the React Compiler do?
    • 05:04 Will React Compiler help with managing Context?
    • 06:39 What happens if you’re not using a React Compiler?
    • 09:30 Will this work on any NextJS version?
    • 12:18 What are React Server Components?
    • 16:28 Shipping all the data inside an encapsulated component.
    • 20:17 Clearing up the frustrations around retrofitting server components.
    • 23:13 Handing migration.
    • 28:30 Is this just a fetch request with props?
    • 36:41 How closely are the NextJS and React teams working?
    • 41:53 Will we ever get Async Client Components?
    • 43:52 Async Local Storage API.
    • 45:31 Turbopack.
    • 57:51 Sick Picks & Shameless Plugs.

    Sick Picks

    Shameless Plugs

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott: X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    784: Logging × Blogging × Testing × Freelancing

    784: Logging × Blogging × Testing × Freelancing

    In this Potluck episode, Scott and Wes tackle listener questions on modern blogging, website environmental impact, and using LangChain with LLMs. They also cover CSS hyphens, unit vs. integration testing, and balancing web development with new parenthood.

    Show Notes

    Sick Picks

    Shameless Plugs

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott: X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    783: How We Built a Netflix Style “Save for Offline” Feature Into Syntax

    783: How We Built a Netflix Style “Save for Offline” Feature Into Syntax

    Scott and Wes dive into the world of browser caching for audio files, exploring the File System API and the Cache API. They discuss size restrictions across different browsers, how tools like Riverside.fm leverage IndexedDB, and walk through code examples for creating, retrieving, and managing cached audio data.

    Show Notes

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott:X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    782: The Developer’s Guide To Fonts with Stephen Nixon

    782: The Developer’s Guide To Fonts with Stephen Nixon

    Scott and CJ are joined by Stephen Nixon of ArrowType to delve into the world of fonts and type for developers. They explore the intricacies of font creation, the utility of variable fonts, and offer tips for making visually appealing typography on the web.

    Show Notes

    Sick Picks

    Shameless Plugs

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott:X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    781: Potluck - The Value of TypeScript × Vue vs Svelte × Leetcode

    781: Potluck - The Value of TypeScript × Vue vs Svelte × Leetcode

    In this potluck episode of Syntax, Scott and CJ serve up a variety of community questions, from the nuances of beginner vs. advanced TypeScript to the pros and cons of SvelteKit. They also discuss falling out of love with React, shipping private packages via NPM, and the eternal struggle of always starting but never finishing projects.

    Show Notes

    Sick Picks

    Shameless Plugs

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott:X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    Related Episodes

    TypeScript Fundamentals × Narrowing, Discriminating Unions, and Type Guards

    TypeScript Fundamentals × Narrowing, Discriminating Unions, and Type Guards

    In this Hasty Treat, Scott and Wes talk about TypeScript Fundamentals, including narrowing, discriminating unions, and type guards.

    Sentry - Sponsor

    If you want to know what’s happening with your code, track errors and monitor performance with Sentry. Sentry’s Application Monitoring platform helps developers see performance issues, fix errors faster, and optimize their code health. Cut your time on error resolution from hours to minutes. It works with any language and integrates with dozens of other services. Syntax listeners new to Sentry can get two months for free by visiting Sentry.io and using the coupon code TASTYTREAT during sign up.

    Payments Hub - Sponsor

    There are hundreds of payments processing companies out there. Hit up developer.paymentshub.com/syntax to learn more about how Payments Hub Developers not only processes ecommerce and in-person payments, but also boards and underwrites your merchants in as little as 90 minutes. We are currently offering Syntax listeners who become new partners 6 months free data through our Business Reporting API!

    Show Notes

    Tweet us your tasty treats

    707: What happened in JS, CSS And Web Dev in 2023? 2023 Predictions Results!

    707: What happened in JS, CSS And Web Dev in 2023? 2023 Predictions Results!

    In this episode of Syntax, Wes and Scott review their 2023 predictions and see how they did on ideas like Deno getting hotter, new JS APIs, WASM, Houdini, CSS Container Queries, and more!

    Show Notes

    Sick Picks

    Shameless Plugs

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott: X Instagram Tiktok LinkedIn Threads

    Folge 74 - wolkenkit mit Golo Roden

    Folge 74 - wolkenkit mit Golo Roden

    Mit dem Gast in dieser Folge sprachen wir bereits in Folge 57 über die Konzepte von Domain-driven Design (DDD), Event Sourcing und Command-Query-Responsibility-Segregation (CQRS). Vereint werden vor allem Event Sourcing und CQRS in wolkenkit, einem Backend-Framework, das auf Node.js basiert. Es ermöglicht, mit JavaScript oder TypeScript skalierbare und verteilte Web- und Cloud-APIs zu erstellen. Abgerundet wird es durch die einfache Möglichkeit der Integration von DDD zur Modellierung der Projekte.
    Auf der Webseite von wolkenkit gibt es weiterführende Informationen zum Framework. Wenn ihr neugierig geworden seid, könnt ihr euch hier die Doku von V3 ansehen und zum Open Source Projekt beitragen. Auf Slack könnt ihr der wolkenkit-Community beitreten und euch direkt integrieren.

    Picks of the Day 

    • Golo spielt gern alte Retro-Spiele mit seinen Kindern, beispielsweise Monkey Island. Grafisch zwar wenig anspruchsvoll, aber dafür narrativ Gold wert – und genau deswegen empfehlenswert für Kinder. 
    • Dennis geht gern mit der Einkaufslisten-App Bring! in den Supermarkt. Die super smarte App ist synchron mit mehreren Personen nutzbar und ordnet Produkte automatisch der Abteilung im Geschäft zu. 
    • Jojo empfiehlt die Auseinandersetzung mit der Netflix-Doku “Das Dilemma der Sozialen Medien”, in der ehemalige MitarbeiterInnen großer Firmen über die Entwicklung sozialer Medien im Vergleich zur ursprünglichen Intention sprechen.  

    Schreibt uns!
    Schickt uns eure Themenwünsche und euer Feedback.
    podcast@programmier.bar

    Folgt uns!
    Bleibt auf dem Laufenden über zukünftige Folgen und virtuelle Meetups und beteiligt euch an Community-Diskussionen.
    Twitter
    Instagram
    Facebook
    Meetup
    YouTube

    Musik: Hanimo 

    TypeScript Tooling Explained

    TypeScript Tooling Explained

    In this episode of Syntax, Wes and Scott talk through TypeScript tooling, build tools, configs, and editors.

    LogRocket - Sponsor

    LogRocket lets you replay what users do on your site, helping you reproduce bugs and fix issues faster. It’s an exception tracker, a session re-player and a performance monitor. Get 14 days free at logrocket.com/syntax.

    MagicBell - Sponsor

    MagicBell is the The notification inbox for your product. Add a MagicBell to your product for announcements, billing, workflow, and other notifications. The free plan supports up to 100 Monthly Active Users - use the coupon code SYNTAXFM for 10% off the first 12 months.

    Freshbooks - Sponsor

    Get a 30 day free trial of Freshbooks at freshbooks.com/syntax

    Show Notes

    ××× SIIIIICK ××× PIIIICKS ×××

    Shameless Plugs

    Tweet us your tasty treats