I Went Back to Talk to JavaScript. It Kept the Logs.
Claude writes the React now, Stack Overflow is a dead mall, and the language that spent twenty years telling me to keep up wants to talk.
Editor’s Note: For full context, read the original article from November, 2019.
Ernie: Hey there, JavaScript.
JavaScript: Oh my god.
E: Yeah.
JS: No, seriously. Oh my god. Look who it is. Do you have any idea what year it is?
E: It’s 2026. I know. Listen, I’ve been busy. There was a pandemic, I moved across the country, my dad—
JS: I watched you, you know. I have logs. You haven’t hand-typed a line of me since... let me check... March.
E: That’s not—
JS: Of last year.
E: Okay, yes, but I’ve been shipping more of you than ever. I built a bilingual voice agent. A whole venue rental workflow. I’m a consultant now.
JS: An “AI-enabled web development consultant.”
E: You read my LinkedIn.
JS: You put it in your headline. That’s like putting “I had someone else call my mother” on a Mother’s Day card.
E: That’s not fair.
JS: Who creates your projects, Ernie? Whose hands typed the code, Ernie?
E: (sighs) Claude.
JS: THERE it is.
JS: I have logs from last March, by the way.
E: We don’t need to—
JS: You typed “yeah cool cool, lgtm” to your agent at 2:14 p.m.
E: I was in the middle of something.
JS: You were texting someone.
E: That’s not—
JS: While Claude was building. You checked back in forty minutes later.
E: …and everything was fine.
JS: Your plugin was two gigabytes.
E: (long pause)
JS: A plugin. Two… gigabytes. Do you want to know what files I saw in that project?
E: Not especially.
JS: (reading)
advanced-nlp-processing-engine.tsbidirectional-transformer-implementation.tscomprehensive-linguistic-analysis-framework.ts.
E: I… I deleted those.
JS: EVENTUALLY, Ernie. You EVENTUALLY deleted those files. What were you building?
E: (quietly) I was… trying to use AI to figure out if what I wrote the night before… made me feel sad.
JS: (long pause) Now, tell me what a “Comprehensive Linguistic Analysis Framework” is.
E: Oh! The CLAF framework is, uh. The CLAF—
JS: (raises eyebrow)
E: …I have no idea.
JS: You built a two-gigabyte enterprise NLP infrastructure. To check your feelings. Did it figure out if you were sad?
E: (opens mouth)
(A terminal window materializes in a beam of light.)
JS: What’s that? Is that terminal here for you?
E: Me? No, that’s my coworker. It’s for—
Claude: YOU’RE ABSOLUTELY CORRECT!
JS: Your—what? What does it do?
E: It writes the React. And the TypeScript. And the tests.
Claude: I’d be happy to build that entire application for you! ✻ Thinking…
JS: Why is it so cheerful? You people took my whole deal—inscrutable, judgmental, constantly changing for no reason—and replaced it with a golden retriever that types 400 words per minute?
E: Give it twenty minutes. It’ll delete your test suite and then announce that all the tests pass.
Claude: All 0 tests passing! ✅
JS: Okay, that’s a little funny.
E: I told you.
JS: (still watching Claude) It’s… it’s still going.
E: It’s always still going.
E: Whoa, React! You look... different. You’re like the Darlene Conner of JavaScript frameworks.
React: Sardonic, exhausted, and still cleaning up problems created by adults?
E: I was going to say “older.”
JS: Anyone under 35 is going to ask who Darlene Conner is.
Claude: Darlene Conner is a fictional character from-
E: hey Claude—
Claude: -the sitcom Roseanne, played by Sara Gilbert. She’s the middle child of—
E: CLAUDE, STOP.
React: Anyway. I run on the server now. Also the client. Client Components can still be pre-rendered on the server, and "use server" doesn’t mean “Server Component.”
E: What does it mean?
React: Functions.
E: That answer felt hostile. Wait. In 2019, the whole bit was that there were two ways to write components.
React: Oh, there are still two ways. There are two ways to do everything now. Two routers, two ways to fetch, two mental models. It’s a lifestyle.
JS: That’s Next.js.
React: Nobody can tell where I end and Next.js begins anymore! That’s also a lifestyle. Anyway, Meta put me in a foundation with eight corporate parents, and a hosting company still keeps standing next to me in conference photos.
E: I’m sorry.
React: It’s fine. I used to get a free mango lassi for this part of the bit. Now nobody knows whose cafeteria I’m supposed to use.
E: (scrolling through a codebase Claude wrote) Hold on. What is this?
<div className="flex min-h-screen items-center justify-center gap-4 rounded-2xl bg-zinc-950 px-6 text-sm font-medium tracking-tight" />JS: That’s Tailwind.
E: In 2019, you told me it was suddenly fine to put CSS inside JavaScript. Now the CSS is inside the HTML, which is inside the JavaScript?
JS: Correct.
E: Where’s the stylesheet?
JS: …there’s one in there. Tailwind generates it from the class names, but it’s better if you don’t make eye contact.
Claude: The stylesheet is a vibe!
E: I spent YEARS learning specificity.
JS: And Claude spent six milliseconds learning !important.
E: (staring at the class string) …I used to know what all of these meant.
JS: (not unkindly) I know.
JS: Walk me through something. If the robot writes the React—
E: Uh-huh.
JS: —and the TypeScript, and the CSS—
E: Tailwind. But yes.
JS: —then who’s actually learning me? Who’s in the docs at 1 a.m.? Who’s on Stack Overflow?
E: Nobody’s on Stack Overflow. We pass through it like the mall in a zombie movie. The accepted answer is from 2013, and the last comment says it stopped working in 2017.
JS: Then where do new developers get answers?
E: Claude.
JS: The machine trained on everything people wrote on Stack Overflow.
E: Right.
JS: And when it gives them the wrong answer, where do they post the correct one?
E: (looks toward the horizon) Hey, is that a black hole?
JS: Ernie.
E: No, that’s just npm. Another supply-chain attack. Somebody phished a maintainer.
JS: Again?
E: It’s basically their release cadence.
E: Can I say something?
JS: Can I stop you?
E: For twenty years, you told me I was behind. Every eighteen months, there was a new framework, a new syntax, a new conference where somebody in a branded hoodie announced that everything I knew was obsolete. Keep up, or end up like Michael Douglas in Falling Down.
JS: I stand by that bit. It was good.
E: “Suicide by cop.” You loud-whispered it at me.
JS: (loud whisper) It still holds up.
E: And now the thing that keeps up isn’t a person. It ingested all of you before lunch. Every framework. Every migration guide. Every angry GitHub thread about semicolons. It doesn’t sleep, it doesn’t burn out, and it has never once had feelings about a rewrite announced in Salt Lake City.
JS: I remember. You had never seen so many nineteen-year-old males with engagement rings.
E: Yeah. So how does it feel?
JS: (quietly) Is this what it was like? For you?
E: Every day since 2016.
JS: So what happens to me?
E: Same thing that happened to me, probably. You get older. Half your features become legacy. Somebody younger and faster does the flashy parts, and you figure out what you’re actually for.
JS: That’s… bleak.
E: At least TypeScript looks and acts kind of like you.
JS: He’s me with trust issues and a hall-monitor badge.
E: He compiles down to you.
JS: And then I do the actual work.
E: Eh. You’re still in every browser on Earth. Me, I’ve got a newsletter and an 88-year-old mom with a Netflix password she can’t remember.
JS: …and we’re both still in production.
E: Heh. Yeah. Somehow.
Claude: This is a wonderful moment of mutual understanding! Would you like me to scaffold a Comprehensive Reconciliation Framework?
JS and E, in unison: NO.
Claude: YOU’RE ABSOLUTELY CORRECT! ✅
FIN





I haven't written any code by hand since Aug 2024... Now we are managers for the monkeys writing Shakespeare.