How Function Coloring Creates Problems in Programming Languages
By
tosh
Slow-proofed and worth the wait. Worth its weight in flour.
Summary
A satirical programming language critique that examines how different programming languages handle asynchronous operations, using the metaphor of "colored functions" to describe how some languages (like C#, JavaScript, Dart) color their functions as either sync or async, while others (like Ruby, Go, Lua) do not. The article argues that function coloring creates significant practical problems: it's contagious (async functions can only call other async functions), it splits the ecosystem, and it makes code harder to refactor. The author contrasts languages with colored functions against those without, ultimately suggesting that the ideal solution is to have concurrency handled transparently through mechanisms like fibers or coroutines that don't require explicit async/await markers.
Key quotes
· 5 pulledI don't know about you, but nothing gets me going in the morning quite like a good old fashioned programming language rant.
A red function can call other red functions. A blue function can call other blue functions. But a red function cannot call a blue function.
The color of a function is a property that infects all of the code that calls it.
If you have a blue function and you want to call a red function, you have to change your function to be red too. But now all of your callers have to change too.
The ideal language would let you have all of the performance and scalability of asynchronous I/O without having to paint any of your functions a particular color.
You might also wanna read
How Anthropic contains Claude's expanding access across its products
Anthropic describes how it has evolved its approach to granting Claude, its AI assistant, increasingly broad access to internal systems over
Testing Cursor's Jira integration: How ticket quality affects AI agent performance
Cursor launched a Jira integration that lets developers assign tickets directly to an AI agent, eliminating context switching. The author te
bit.ly·1h agoNetflix engineer's open-source tool cuts AI token usage by up to 90%
Netflix senior engineer Tejas Chopra created software called "Project Headroom" that prunes redundant tokens from AI agent instructions befo
Anthropic Releases Free Security Plugin for Claude Code Terminal to Detect Vulnerabilities
Anthropic has released a free security-guidance plugin for its Claude Code terminal tool that autonomously reviews code edits, model outputs
cybersecuritynews.com·2h agoResearcher's "ADHD" tool for Claude Code claims 2x improvement; experts call for more evidence
Solo researcher Udit Akhouri released a third-party Agent SDK tool called "ADHD" for Claude Code on Reddit, claiming it helps coding agents
bit.ly·2h agoHow to Self-Host a Bluesky Personal Data Server on Ubuntu VPS
This article provides a step-by-step technical guide for self-hosting a Bluesky Personal Data Server (PDS) on an Ubuntu VPS. It explains wha
blog.radwebhosting.com·3h ago