Skip to content
DevMeme
4942 of 7590
DataFormats Post #5409 · source on Telegram

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

22
Anonymous ★ Top Pick 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
  1. Anonymous ★ Top Pick

    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

  2. Anonymous

    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

  3. Anonymous

    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

  4. Anonymous

    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

  5. Anonymous

    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

  6. Anonymous

    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

  7. Anonymous

    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

  8. @sanspie 2y

    JSON это представление объектов в жсе, так что странно ожидать там комментарии. Другой вопрос, что парсер жсона мог бы игнорить комментарии

    1. @RiedleroD 2y

      English please @sanspie

      1. @sanspie 2y

        Tf, we are in telegram

        1. @RiedleroD 2y

          so?

  9. @Araalith 2y

    Really? Why does it support excessive spaces and tabs for formatting?

  10. @RiedleroD 2y

    also json5 which is a extension to the format with comments, meant to be read and written by humans

  11. @SamsonovAnton 2y

    Neither does JS. 😆

  12. @azizhakberdiev 2y

    because some people started using them to store parsing directives, which could harm compatibility

  13. @sylfn 2y

    lmao (only with translations or explanations)

  14. @sanspie 2y

    لقد بخيبة أمل بافل دوروف. ناقص مائة التركية فرحة ناقص واحد محظية زوجته

    1. @sylfn 2y

      Please use English in ths chat

    2. @NiKryukov 2y

      There is nothing to blow up

  15. Deleted Account 2y

    Hedonism more than lazyness

  16. @callofvoid0 2y

    what's the relation of finite state machine and json ?

  17. @M_Ali_S_S 2y

    My brother in Christ, json is the comment

Use J and K for navigation