Published Aug 25, 2021

Disruptive Software // Beyond Coding #15 - Patrick Akil with Kevlin Henney

Kevlin Henney and Patrick Akil delve into the complexities of software development, from solving technical challenges with adaptability to the conservative evolution of programming languages, and discuss the transformative impact of quantum computing and machine learning on future tech, all while underlining the crucial influence of organizational culture and social change.
Episode Highlights
Beyond Coding Podcast logo

Popular Clips

Episode Highlights

  • Language Evolution

    The evolution of programming languages reveals a fascinating journey from past innovations to present-day applications. highlights how concepts like microservices, once impractical, have become feasible due to advancements in hardware and infrastructure 1. He notes that many ideas, such as garbage collection and interpreted languages like Python, were envisioned decades ago but only recently became practical 1. adds that while languages appear to be evolving rapidly, they often incorporate existing ideas rather than introducing groundbreaking concepts 2.

    The difference is this language didn't have that before, but that already existed somewhere else.

    ---

    This trend underscores the conservative nature of programming language development, where change is more about adaptation than innovation.

       

    Innovation Cycles

    Programming languages undergo cycles of innovation that reflect both technological advancements and historical influences. observes that while new languages like Julia and Rust are celebrated, they often recycle older concepts, such as coroutines and channels, which date back decades 3. points out that despite the rapid development of software infrastructure, the core principles of programming languages remain largely unchanged 4.

    Most of what they're doing is catching up with the past. And there aren't any new... flavors.

    ---

    This cyclical nature of innovation suggests that while languages evolve, they do so by revisiting and refining past ideas rather than pioneering entirely new paradigms.

       

    Conservative Progress

    Despite the apparent rapid changes, programming languages exhibit a conservative approach to evolution. argues that languages are often updated with features already present in others, leading to a homogenization of language capabilities 2. He criticizes the lack of imagination in user interaction design, noting that social media apps, for instance, rely heavily on timeline structures without significant innovation 5.

    Programming languages, oh my goodness, they move like snails.

    ---

    This conservative progress indicates a focus on stability and familiarity, potentially at the expense of creativity and novel user experiences.

Related Episodes