Manfred's Life.

Bit by Bit.

The Evolution of Digital Platforms: From APIs to Language

func ExecuteInput(vm VM, input Code) (Output, error) {
    if input.IsValid() {
        return vm.Process(input), nil
    }
    return nil, errors.New("invalid input")
}

APIs were like the Swiss Army knife of digital innovation—compact, multipurpose, and just clever enough to make you feel like a genius for using them. They connected systems, smoothed workflows, and made apps play nice with each other. And for a while, that was enough.

But let’s not kid ourselves. APIs are just fancy pipelines. They let you call features, sure, but they don’t help you create anything fundamentally new. It’s like being able to order off the menu but never getting to write the recipes. Useful? Sure. Transformative? Not so much.

Languages, on the other hand, rewrite the rules. They don’t just let you connect things—they let you invent worlds. Moving from APIs to languages is like graduating from Lego sets to a 3D printer. It’s not just what you can build; it’s how you think about building.

graph LR
    A[Spoken Language] --> B[Written Language]
    B --> C[Programming Languages]
    C --> D[Language as a Platform]
    D --> E[Language as a Law]

Here’s the kicker: Languages don’t just let you build—they let you collaborate at scale. Monorepos? Interoperable frameworks? They’re all baby steps toward this idea. In a language-based platform, every function, every state transition, is visible. Transparency isn’t optional—it’s baked in.

Now take it further: What if languages didn’t just build apps but defined laws? Imagine a programming language so powerful it governs societies. Not just algorithms, but actual rules for how people and systems interact. Transparent. Enforceable. No more “terms of service” buried in legalese—just clear, executable principles.

// Define a new law
law RightToPrivacy {
    rule PersonalDataControl(person: Individual) {
        return person.hasControlOver(person.data)
    }
    rule NoDataAccessWithoutConsent(data: Data, accessor: Entity) {
        return data.owner.hasGivenConsentTo(accessor)
    }
}

law FreedomOfSpeech {
    rule FreeExpression(person: Individual, opinion: Expression) {
        return !isCensored(opinion)
    }
    rule NoPersecutionForOpinions(person: Individual, opinion: Expression) {
        return !isPersecuted(person, opinion)
    }
}

// Enforce the laws
enforce(RightToPrivacy)
enforce(FreedomOfSpeech)

This isn’t some sci-fi fever dream. It’s the logical next step. Platforms won’t just be tools—they’ll be ecosystems. And in those ecosystems, every line of code is a building block, every function is a law. You’re not just writing software anymore; you’re creating digital societies.

graph LR
    A[Reality] -- Shaped by --> B[Language]
    B -- Becomes --> C[Platform]
    C -- Leads to --> D[New Reality]

APIs were great for a world where we just needed to connect the dots. But if we’re serious about building something bigger—something that doesn’t just plug in but redefines how we live and work—we need platforms that think like languages. APIs were the prologue. Languages? They’re the main story. Let’s start writing it.

Last updated on 16 Dec 2024
 Edit on GitHub