Simon Willison’s Weblog

Subscribe
Atom feed for language

6 posts tagged “language”

2025

Semantic Diffusion. I learned about this term today while complaining about how the definition of "vibe coding" is already being distorted to mean "any time an LLM writes code" as opposed to the intended meaning of "code I wrote with an LLM without even reviewing what it wrote".

I posted this salty note:

Feels like I'm losing the battle on this one, I keep seeing people use "vibe coding" to mean any time an LLM is used to write code

I'm particularly frustrated because for a few glorious moments we had the chance at having ONE piece of AI-related terminology with a clear, widely accepted definition!

But it turns out people couldn't be trusted to read all the way to the end of Andrej's tweet, so now we are back to yet another term where different people assume it means different things

Martin Fowler coined Semantic Diffusion in 2006 with this very clear definition:

Semantic diffusion occurs when you have a word that is coined by a person or group, often with a pretty good definition, but then gets spread through the wider community in a way that weakens that definition. This weakening risks losing the definition entirely - and with it any usefulness to the term.

What's happening with vibe coding right now is such a clear example of this effect in action! I've seen the same thing happen to my own coinage prompt injection over the past couple of years.

This kind of dillution of meaning is frustrating, but does appear to be inevitable. As Martin Fowler points out it's most likely to happen to popular terms - the more popular a term is the higher the chance a game of telephone will ensue where misunderstandings flourish as the chain continues to grow.

Andrej Karpathy, who coined vibe coding, posted this just now in reply to my article:

Good post! It will take some time to settle on definitions. Personally I use "vibe coding" when I feel like this dog. My iOS app last night being a good example. But I find that in practice I rarely go full out vibe coding, and more often I still look at the code, I add complexity slowly and I try to learn over time how the pieces work, to ask clarifying questions etc.

Animated GIF.  I have no idea what I'm doing - a dog wags its tail while inspecting the engine of a car and looking gormless

I love that vibe coding has an official illustrative GIF now!

# 23rd March 2025, 6:30 pm / language, vibe-coding, andrej-karpathy, martin-fowler

2017

“Just” makes me feel like an idiot. “Just” presumes I come from a specific background, studied certain courses in university, am fluent in certain technologies, and have read all the right books, articles, and resources. “Just” is a dangerous word.

Brad Frost

# 24th November 2017, 5:07 pm / language

2009

Language Detection: A Witch’s Brew? The Flickr team make the case for using the Accept-Language header over IP detection to pick a site’s language, with a simple UI for switching languages in case you get it wrong. They’ve been using this for two and a half years without any significant problems.

# 5th December 2009, 5:30 pm / languagdetection, flickr, language, i18n, l10n, http

2007

Understanding Engineers: Feasibility. Charles Miller provides smart definitions of what programmers mean when they say “impossible”, “trivial”, “unfeasible”, “non-trivial”, “hard” and “very hard”.

# 17th July 2007, 10:24 am / trivial, nontrivial, language, programmers, charles-miller, programming, hard, veryhard, unfeasible

2006

Web APIs, not Web Services

In Web Services are Dead, Long Live Web Services, Mark Nottingham suggests HTTP Web Services as a better phrase for discussing machine-to-machine communication using HTTP where the WS-* stack isn’t assumed.

[... 112 words]