When 'Which language?' gets answered with English instead of Java
Description
Meme layout: a wide top bar of white uppercase text on a dark background reads in three stacked lines, "BROTHER: I WANT TO LEARN PROGRAMMING", "ME: COOL WHAT LANGUAGE", "BROTHER: ENGLISH DUH". Below, a sitcom screenshot shows two young men in school attire - one in a patterned blazer - entering a classroom; all faces are blurred for anonymity. The yellow subtitle at the bottom of the frame states, "He a little confused, but he got the spirit." The joke hinges on a beginner conflating spoken language with programming languages, a common miscommunication developers face when relatives ask about learning to code. For seasoned engineers, it playfully highlights the importance of clarifying terms like “language” when mentoring newcomers to software development
Comments
7Comment deleted
English works - just warn him it’s a dynamically scoped, ambiguously parsed DSL whose spec ships inside every stakeholder’s head and forks at every meeting
Wait until he discovers that half our codebase is actually written in YAML configs, Dockerfiles, and GitHub Actions workflows that no one really understands but everyone's afraid to touch
Joke's on us - ten years later 'English' is a programming language, it's just interpreted by a model with nondeterministic output and a per-token license fee
This perfectly encapsulates the moment every senior engineer realizes that 'teaching someone to code' requires first explaining that Python isn't spoken at the zoo, Java isn't coffee-flavored, and Ruby isn't a gemstone. The real challenge isn't teaching syntax - it's bridging the conceptual gap between natural language and formal language theory. At least he's asking questions; that's already better than the stakeholder who insists we 'just make it work in normal language' because 'computers should understand what we mean.'
He’s basically right - English is our primary programming language: compiled into Jira, interpreted by devs, weakly typed with nondeterministic semantics, and the standard exception is NotWhatIMeantError
English: the stakeholder's favorite language - perfectly ambiguous, zero type safety, and always breaking changes mid-sprint
We already code in English; it's called 'requirements' - interpreted by humans, dynamic typing, and catastrophic undefined behavior