Hacker News new | ask | show | jobs
by stared 416 days ago
Rationale: in the most popular modern langugues it is # or //.

In JS (well, its why we have JSON), it is //. In YAML, it is #.

Moreover - semicolon is a natural character used in comments (unlike // or #). It inferes with our human parsing.

1 comments

The first point is addressed in the article; you don't seem to address OP's counterpoint at all.

I don't get the second point: why is that a problem if a semicolon appears in a comment? From what I understand, comments run until the end of the line, so a second semicolon after the first does nothing.

The problem is when a config value includes a semicolon, and the rest of the line gets ignored unintentionally, especially because strings aren't quoted
Ah, I see, so the problem is not a semicolon "used in comments", it's a semicolon used outside them. But then which character would you suggest instead? The article notes that there is the same problem with # (e.g. in `black = #000000`) and // (`url = https://en.wikipedia.com`). And these are arguably more common.
What about three simple rules to define comments:

1. If # is in the first column of the line.

2. If # is followed by a space.

3. The # only starts a comment when it’s outside of quotes.