← Retour au blog
tech 11 June 2026

Nontrailing Separators: Why They Don't Spark Joy

Nontrailing separators in JSON and other programming languages create unnecessary hurdles for developers. Let's explore how trailing separators can simplify code.

Article inspired by the original source
Nontrailing separators do not spark joy ↗ buttondown.com

Introduction

If you've ever worked with JSON or other programming languages, you're likely familiar with this nuisance: nontrailing separators. Although they are a standard in many languages, they often complicate developers' lives. What if we could simply ignore them?

What is a Nontrailing Separator?

In the context of JSON, a nontrailing separator means that a comma cannot follow the last item in a list or object. For example, this JSON is valid:

``json { "a": 1, "b": 2, "c": 3 } ``

But add a comma after the last item:

``json { "a": 1, "b": 2, "c": 3, } ``

And suddenly, it's no longer valid. This might seem trivial, but the consequences can be frustrating.

The Consequences of Nontrailing Separators

Increased Code Complexity

Imagine you want to modify a JSON object by adding or removing elements. With nontrailing separators, each addition or removal requires specific transformations. This increases the risk of errors, especially in a fast-paced or collaborative work environment.

Let's take a concrete example: you want to add two keys to an existing JSON object. With trailing separators, the operation is simple and uniform, no matter where you add the keys. Without them, each modification involves careful re-checking.

Impact on Collaboration

In a collaborative development environment, errors related to separators are common. A forgotten comma can cause a build to fail or introduce subtle bugs. Studies show that up to 15% of errors in the JSON code of open-source projects are due to syntax issues related to separators.

Languages That Do It Better

Some modern languages like Python and Go allow trailing separators. They recognize that simplicity and code readability should outweigh unnecessary syntactic rigor. Here’s an example in Python:

``python valid = { "a": 1, "b": 2, "c": 3, } ``

This makes the code easier to manage, especially in large files.

Why This Resistance to Change?

Despite their advantages, the adoption of trailing separators is slow. Several reasons explain this inertia:

  • Backward Compatibility: Modifying the syntax of widely used languages poses backward compatibility issues.
  • Technological Conservatism: Developers are often reluctant to change established practices, even if they are improvable.

Conclusion

Trailing separators make developers' lives easier by making code easier to read, write, and maintain. It's time for more languages to adopt them and allow developers to focus on what truly matters: creating quality software.

Let's discuss your project in 15 minutes.

JSON programming syntax trailing separators code simplicity
Deepthix newsletter · 100% AI · every Monday 8am

An AI agent reads tech for you.

Our AI agent scans ~200 sources per week and ships the best articles to your inbox Monday 8am. Free. One click to unsubscribe.

Visit the newsletter page →

Want to automate your operations?

Let's talk about your project in 15 minutes.

Book a call