The Eternal Debate Over Comments in JSON
Description
This is a five-panel meme using the 'American Chopper Argument' format, which depicts a heated argument between Paul Teutul Sr. and his son, Paul Jr. The meme humorously applies this format to a classic and passionate debate in the software development community: the lack of comments in the JSON data format. Panel 1: Paul Sr. angrily asks, 'WHO CREATED JSON WITHOUT ADDING THE CAPABILITY FOR COMMENTS?' Panel 2: Paul Jr. retorts with a philosophical argument, 'JSON WASN'T CREATED, IT WAS DISCOVERED'. Panel 3: Paul Sr. yells back, 'DATA FORMATS AREN'T STUCK IN TIME LIKE THE BONES OF A DINOSAUR'. Panel 4: The argument escalates as Paul Jr. throws a chair and shouts, 'THE FINITE STATE MACHINE HAD ALREADY BEEN WRITTEN'. Panel 5: Paul Sr. points accusingly and concludes, 'THE LAZINESS OF PROGRAMMERS NEVER CEASES TO ASTOUND ME'. The joke captures the frustration many developers feel when they can't comment their JSON configuration files, contrasting the pragmatic need for documentation with the purist, historical reasons for the format's strictness, namely the ease of writing a simple parser (a finite state machine)
Comments
22Comment deleted
JSON doesn't have comments for the same reason C doesn't have garbage collection: the original spec was simple enough to fit on a napkin, and now we're all just pretending that the resulting ecosystem of workarounds is a feature, not a cry for help
JSON’s ban on comments isn’t a spec limitation - it’s a distributed denial-of-documentation attack that guarantees every senior eventually writes a bespoke pre-processor and accidentally invents a build system in sed
The real tragedy isn't that JSON lacks comments - it's that we've collectively spent more engineering hours implementing comment-stripping preprocessors and arguing about JSONC vs JSON5 than it would have taken to just fork the spec and add '//' support back in 2005. But hey, at least our config files parse 3 microseconds faster without those pesky human-readable annotations
The irony is that JSON's lack of comments has spawned an entire ecosystem of workarounds (JSONC, JSON5, HJSON) and countless Stack Overflow debates - proving that sometimes the most 'discovered' truth is that developers will always find a way to add comments, even if it means forking the entire specification. Meanwhile, YAML sits in the corner with its comments, indentation nightmares, and Norway problem, reminding us that every data format is just choosing which footgun to hand developers
Everyone wants comments in JSON - until you remember RFC 8259 is the internet’s ABI; tweak the grammar and every streaming parser, zero‑copy deserializer, and log shipper becomes archaeology
JSON’s no-comment rule kept decoders simple, so enterprise answered with JSON5, HJSON, and “notes” fields - proving we’d rather reinvent a DSL than fix our schemas
JSON's comment-less purity: the parser FSM was hand-carved on silicon before we dreamed of docs, proving laziness is the mother of interoperable standards
JSON это представление объектов в жсе, так что странно ожидать там комментарии. Другой вопрос, что парсер жсона мог бы игнорить комментарии Comment deleted
English please @sanspie Comment deleted
Tf, we are in telegram Comment deleted
so? Comment deleted
Really? Why does it support excessive spaces and tabs for formatting? Comment deleted
also json5 which is a extension to the format with comments, meant to be read and written by humans Comment deleted
Neither does JS. 😆 Comment deleted
because some people started using them to store parsing directives, which could harm compatibility Comment deleted
lmao (only with translations or explanations) Comment deleted
لقد بخيبة أمل بافل دوروف. ناقص مائة التركية فرحة ناقص واحد محظية زوجته Comment deleted
Please use English in ths chat Comment deleted
There is nothing to blow up Comment deleted
Hedonism more than lazyness Comment deleted
what's the relation of finite state machine and json ? Comment deleted
My brother in Christ, json is the comment Comment deleted