Hacker News new | ask | show | jobs
by slowmovintarget 1223 days ago
Worse is better?

- Markdown beat Asciidoc

- Swagger beat RAML

- C++ beat D

- more

Each of these gained traction over the other, and each had things that made them less perfect than the other.

Markdown had vague or missing areas of specification that led to incompatible implementation. Swagger couldn't do everything, or did some things in multiple ways where RAML had a normalized syntax. D theoretically improved on C, and still lives on.

Markdown had more users, and more tooling.

Swagger had the Swagger UI.

C++ had Bjarne Stroustrup and tooling.

On the up-side, sometimes these stories come 'round again. Windows beat Mac... But Mac's still here and still gaining traction.

Maybe Clojure will be more popular than Go one day. Maybe we'll all chuck YAML for EDN or TOML. It could happen.

3 comments

Good enough and simple enough, and get it out early.

All of the projects that succeed through the worse is better principle is because they were easier to implement, and thus, easier to ship first and early. They have to be just good enough for their intended purpose, with relatively few competing alternatives at the time.

Only after those projects became more popular, do the warts show up, and then newer projects/iterations thought up as a replacement - which, of course don't succeed because the marginal improvements don't cover the costs of replacement.

> But Mac's still here and still gaining traction.

They've been on a ever-so-slight decline (~ -3%) since the 2020's. On the other hand, Windows is stabilizing it's slow decline.

At least for video games, the lack of a GC dependency for the standard library made C++ more attractive than D.
I thought the GC was optional in D, was it not?
At least 20 years ago the standard library required it. I know there's been an effort to make it optional since then though.
Not easy and not out of the box. You have to fight it out.