Skip to content
Rutger Hemrika
Menu
← Blog

Programmeertalen in het AI-tijdperk · 3/8

De Python-paradox: het beste AI-ecosysteem, een middenmoot-score overall

Rutger Hemrika9 min leestijd

Oorspronkelijk geschreven voor het onderzoeksproject programming-languages-ai-era.

De Python-paradox

Python is niet de taal die ik op #5 verwachtte. Toen ik aan het framework begon, nam ik aan dat de taal met het diepste AI-systems-ecosysteem in het cohort, de taal waarvoor elke modelaanbieder first-party SDK’s levert, de taal die de data-science-pipeline bezit, de taal die in elk notebook op elk onderzoeksbureau draait, ergens bovenin zou belanden. De matrix zette haar op 3.71, gelijk met Rust, achter TypeScript, Go, .NET en Kotlin. De reden is niet dat het ecosysteemverhaal niet klopt. Het ecosysteemverhaal klopt precies: AI-Systems Ecosystem-score 5.0 en Structured-Output Ecosystem-score 5.0, allebei aan het cohortplafond op de ecosysteem-helften, en alleen TypeScript evenaart een van beide. De score wordt omlaag gehouden door een andere helft van de rij: door wat de steward van Python niet levert, door wat haar typesysteem niet afdwingt, en door wie de libraries onderhoudt waar de AI-helft van afhangt.

De beslisimplicatie voor een senior lezer: Python blijft de juiste standaardkeuze voor ML, data en AI-prototyping. Voor productie-AI-applicatiewerk, waar het door de steward geleverde oppervlak en het afhankelijkheidsrisicoprofiel zwaarder wegen dan ecosysteembreedte, zeg ik: heroverweeg, en hier is het betoog.

Het bimodale profiel, in cijfers

Human cognition4.0Machine cognition3.0AI-agent operability4.0Runtime and ecosystem5.0Strategic viability4.0AI-systems native1.5AI-systems ecosystem5.0Structured-output native2.5Structured-output ecosystem5.0Ecosystem dependency risk2.5Reachability to top tier3.5Python: gewogen totaal 3.71
Scores van Python per dimensie, raamwerk v0.6. Halve punten op een vijfpuntsschaal.

De Python-rij leest als twee aparte talen die aan elkaar zijn genaaid.

Cel Score Lezing
HC (Human Cognition) 4 leesbaar, bestuurbaar
MC (Machine Cognition) 3 dynamische typing, PEP 484 adviserend
AO (AI-Agent Operability) 4 pyright + Pylance + uv
RE (Runtime/ecosystem) 5 het diepste productie-ecosysteem in het cohort
SV (Strategic Viability) 4 blijvend stewardship van de Python Software Foundation, grootste taal op GitHub
AIN (AI-Systems Native) 1.5 de PSF levert geen AI-packages
AIE (AI-Systems Ecosystem) 5.0 OpenAI, Anthropic, LangChain, LlamaIndex, Hugging Face Transformers
SON (Structured-Output Native) 2.5 PEP 484-hints niet afgedwongen at runtime
SOE (Structured-Output Ecosystem) 5.0 Pydantic, Instructor, Outlines
EDR (Ecosystem Dependency Risk) 2.5 alleen op de cohortvloer
RCH (Reachability to Top Tier) 3.5 blijvende cadans van typing-PEP’s, AIN geblokkeerd door de steward
Gewogen 3.71 rang #5

Lees de rij op twee manieren. Lees alleen AIE en SOE en Python is de koploper van het cohort, gelijk met TypeScript op beide ecosysteem-helften. Lees alleen AIN, SON en EDR en Python zit bij C++ en Elixir. Het gewogen totaal middelt de twee helften uit tot 3.71, gelijk met Rust, achter een top van vier talen die binnen 0.16 gewogen score is samengeperst (TypeScript en Go op 4.01, .NET op 3.99, Kotlin op 3.85).

Het interessante strategische feit is niet dat Python op het totaal verliest van TypeScript of Go. Het is dat de helft van de rij die verliest, de helft is waar senior teams het minst op letten.

Aristoteles zou het een misgelopen gulden middenweg noemen: Python is niet in balans, het is uitstekend en kwetsbaar tegelijk, en het gemiddelde verbergt allebei.

Het native gat

De Python Software Foundation levert geen AI-packages. Dat is een besluit op stewardship-niveau, geen gat in de community.

Kijk naar wat andere stewards in dezelfde periode hebben geleverd. Microsoft levert Microsoft.Extensions.AI, Semantic Kernel, de MCP C# SDK die het mede onderhoudt, ONNX Runtime .NET en JsonSchemaExporter, allemaal in het tijdsbestek van de .NET 9-distributie. Apple levert Core ML, MLX en Foundation Models in de Swift-toolchain. JetBrains financiert de Kotlin-taal en -tooling uit een commerciële productlijn. Het Go-team levert encoding/json met de standaardbibliotheek en tekent de canonieke SDK-contracten via de officiële Go SDK van Anthropic en de officiële Go SDK van OpenAI. De PSF levert geen vergelijkbaar first-party AI-oppervlak en heeft geen intentie daartoe uitgesproken. De houding van de steward staat op schrift, het is geen commentaar.

Elke AI-systeemprimitief in het Python-ecosysteem zit één laag buiten de taaldistributie. De Python SDK van OpenAI valt onder OpenAI. De Python SDK van Anthropic valt onder Anthropic. LangChain is community plus commerciële derde partij. LlamaIndex is klein-commercieel. Hugging Face Transformers is Hugging Face. De PSF beheert cpython en de standaardbibliotheek; AI komt dat oppervlak niet binnen. Hetzelfde patroon herhaalt zich op de structured-output-helft: PEP 484-typehints zijn by design adviserend at runtime, en Pydantic doet de runtime-validatie die PEP 484 bewust niet doet. Structured-Output Native staat op 2.5 omdat het door de taal geleverde oppervlak ophoudt bij de typehint.

Het gat is geen falen van de community: de AI-community van Python is de grootste in het cohort. Het gat is dat de verantwoordelijkheden van de steward en het AI-applicatieoppervlak elkaar niet overlappen, en ik scoor ze niet voor niets als twee helften.

Dit klopt niet als de PSF van standpunt verandert en een first-party AI-module aan de Python-distributie toevoegt. Of als een door een leverancier geleverde first-party Python LLM-SDK de de facto standaard wordt met een stewardship-status die gelijkwaardig is aan die van de PSF. Geen van beide is aangekondigd.

Het afhankelijkheidsrisicoprofiel

De Structured-Output Ecosystem-score van 5.0 voor Python rust op drie genoemde libraries: Pydantic, Instructor en Outlines. Elk draagt een ander stewardship-profiel, en elk draagt anders bij aan de score EDR=2.5.

Pydantic wordt onderhouden door een kleine groep actieve contributors, niemand fulltime in dienst op het project, niemand gesteund door een commerciële leverancier. Beter dan één maintainer, slechter dan steun van een commerciële leverancier. Het aantal maintainers is klein genoeg dat een gecoördineerd vertrek ertoe zou doen. De Rust-kern van Pydantic v2 (pydantic-core via PyO3) is zelf een meertalig supply-chain-artefact: dragend, snel, en rustend op dezelfde kleine groep maintainers die zowel de Python- als de Rust-helft bezit. Als twee van hen vertrekken, stort de snelheid van het project in.

Instructor heeft één maintainer (Jason Liu). De library is de de facto standaard voor structured-extraction-patronen over de API’s van OpenAI en Anthropic. Een bus-factor-gebeurtenis bij Instructor laat het structured-extraction-patroon achter in handen van elk team dat erop heeft gebouwd, zonder first-party terugvaloptie.

Outlines is klein-commercieel. De library draagt het constrained-decoding-werk dat LLM’s koppelt aan een JSON-schema of een regex: geavanceerd werk, niet makkelijk te repliceren, en rustend op een commerciële entiteit die kleiner is dan de last die ze draagt.

Drie dragende libraries. Eén community-multi-maintainer, één met één maintainer, één klein-commercieel. Samengevoegd tot Python EDR=2.5, alleen op de cohortvloer voor EDR, met geen andere taal onder 3.0; de eerstvolgende laagste zijn TypeScript, Elixir en C++ samen op 3.0. Het contrast met .NET (EDR=4.5, onder stewardship van Microsoft, alleen aan het cohortplafond) en Kotlin (EDR=4.0, onder stewardship van JetBrains) is het structurele punt: hetzelfde plafond op de ecosysteem-helft, een andere backer-mix eronder.

Senior teams denken al zo over cloudleveranciersconcentratie: multi-region, multi-account, exit-kostenanalyse. Dezelfde lens geldt voor library-stewardship, en vrijwel geen enkel team past haar toe op de Python AI-stack. Het sterkste bezwaar is “Pydantic is te belangrijk om te falen.” De geschiedenis leert dat belangrijke communityprojecten toch falen, en de faalwijze is geen instorting, het is een winterslaap van maanden waarin beveiligingsfixes achterblijven en het ecosysteem erbovenop nergens heen kan met zijn bugrapporten.

Dit klopt niet als Pydantic vóór 2027-05-02 drie of meer actieve maintainers toevoegt. Of als Anthropic en OpenAI first-party schemavalidatieprimitieven leveren die Instructor en Outlines voor het dragende geval overbodig maken. Elk van beide zet de EDR-score opnieuw.

Wat Python naar de top zou tillen

Drie concrete stappen zouden het gewogen totaal van Python meetbaar verhogen, en het framework is falsifieerbaar op het sluitingspad.

De PSF levert een first-party AI-module. AIN gaat van 1.5 richting 3.0 of 3.5. Het gewogen totaal stijgt ruwweg 0.1 tot 0.2. Kans binnen de planningshorizon: laag. Geen publieke PEP, geen werkgroep, geen gefinancierde inspanning.

De governance van Pydantic verbreedt: drie of meer actieve maintainers, een terugkerende releasecadans, een gedocumenteerd financieringsmodel. EDR gaat van 2.5 richting 3.0 of 3.5. Het gewogen totaal stijgt ruwweg 0.05 tot 0.1. Kans: gemiddeld, omdat Pydantic indirect via commerciële backers wordt gefinancierd.

Een PEP voor runtime-afgedwongen typing landt: geen gradual typing, geen optionele controle, maar typehints die at runtime worden gevalideerd voor gedeclareerde grenzen. SON gaat van 2.5 richting 4.0. MC van 3 richting 4. Het gewogen totaal stijgt ruwweg 0.15 tot 0.25. Kans: laag. Het is in tegenspraak met het PEP 484-standpunt dat hints by design adviserend zijn.

Samen zijn de drie stappen ruwweg 0.3 tot 0.5 gewogen punten waard, genoeg om Python naar de top te tillen. Geen ervan is uitgesloten. Geen ervan is waarschijnlijk binnen 18 maanden. Dit klopt niet als de PSF vóór 2027-05-02 een AI-systems-werkgroep aankondigt met een benoemde steward en een gefinancierde module-roadmap.

De strategische lezing

Voor CTO’s splitst de Python-vraag zich langs de workload. Voor ML, data en onderzoek is Python de juiste standaardkeuze: het AI-systems-ecosysteem (OpenAI Python SDK, Anthropic Python SDK, LangChain, LlamaIndex, Hugging Face Transformers, PyTorch, scikit-learn) is structureel dieper dan dat van welke andere taal ook, en het AIN-gat telt minder waar het ecosysteem de bindende beperking is. Voor AI-prototyping in notebooks, Streamlit of Gradio geldt dezelfde standaardkeuze: blootstelling aan afhankelijkheidsrisico is niet dragend op een prototype.

Voor productie-AI-applicatiewerk, langlopende services, stabiele API’s, deployment over meerdere teams, afhankelijkheidshygiëne op enterprise-niveau, zeg ik: heroverweeg. Het profiel AIN=1.5 (cohortvloer) / EDR=2.5 (ook cohortvloer) is de verkeerde vorm voor een platforminzet van vijf jaar die door de steward geleverde garanties onder de dragende laag nodig heeft. TypeScript op 4.01 (gedeeld koploper van het cohort op gewogen totaal) draagt hetzelfde plafond AIE=5.0 / SOE=5.0 met een taal onder stewardship van Microsoft en de snelheid van de commerciële leveranciers Vercel plus Anthropic plus OpenAI. .NET op 3.99 (derde in het cohort, 0.02 achter de koplopers) draagt een Microsoft-first-party-stack met EDR=4.5 (alleen aan het cohortplafond). Beide zijn sterkere productie-AI-inzetten op de cellen waarop de last rust.

De beslissing is niet “Python of geen Python”. Het is welke workloadklasse de komende vijf jaar domineert. Kies Python voor ML en TypeScript of .NET voor productie-AI-services en je leest de rij correct. Kies standaard Python voor beide en je wedt erop dat de ecosysteem-helft de native en afhankelijkheidsrisico-helften compenseert. Ik lees de data zo dat dat niet zo is.

Tot slot

Het AI-ecosysteem van Python is het diepste in het cohort. Het framework zet het toch op #5, omdat de door de steward geleverde helft en het afhankelijkheidsrisicoprofiel gewicht dragen dat de ecosysteem-helft niet kan compenseren. Kies Python waar het ecosysteem de bindende beperking is, en heroverweeg waar dat niet zo is.

Abonneer je op rutgerhemrika.substack.com voor stuk 4, de .NET-sleeper: vandaag derde op gewogen totaal, alleen op #1 op zowel EDR als Reach, de sterkste toekomstinzet van het cohort, verborgen achter een rangorde van de huidige toestand. Wil je de onderliggende data, claims en bronnen, dan staat het framework open op github.com/hemrika/programming-languages-ai-era.


Het beste ecosysteem op de ene helft van de rij. Cohortvloer op de andere helft. Het gewogen totaal vertelt de waarheid die de kop niet vertelt.

Python is de TARDIS van de Doctor onder de ecosystemen: enorm vanbinnen, bij elkaar gehouden door een paar onderdelen waar niemand te goed naar mag kijken.

Verwijzingen

De knipogen en citaten in dit stuk, met hun herkomst:

  • Doctor Who (BBC, since 1963): the TARDIS.
  • Aristotle, Nicomachean Ethics: the doctrine of the mean.

Rutger Hemrika

AI-strategie en -governance voor sectorsoftware. Schrijft vanuit bouwen, niet vanuit slides; elke claim draagt een bewijsniveau.

Volledige ervaring · Over mij