top | item 46984842

(no title)

motoboi | 18 days ago

There is a much simpler solution to the C++ language: just freeze it.

Fork it if you want or just create your own language. This is what zig creator did.

The idea is that C++ can’t move because of its own weight. Too much history, too much responsibility.

Just freeze it, let new languages create new ways.

It’s not that software written in it will become unmantainable. A frozen, feature complete language can still work. Libraries can implement new protocols.

Leave the name, do something new! Fork it, call it nib, or peeb or zag or even ziggy. Create a new language, call it go, bo, or just pi.

Given enough time Zig will become what C++ is today: its creator long gone, its responsibilities too much, its backward compatibility a weight too heavy.

discuss

order

raincole|18 days ago

> just freeze it.

They did. It's called C++14.

> Fork it if you want or just create your own language.

They did. It's called C++17, etc.

diath|18 days ago

C++ instead needs language editions, legacy and modern. Let compilers implement a switch for which edition you're targeting. Legacy does not touch backwards incompatibly changes or language features. Modern cleans up everything.

ceteia|18 days ago

I don't think that would be a silver bullet nor without drawbacks. It can be a rather bitter footgun when the same code can have different semantics in different editions or epochs. Automatic or semi-automatic conversion, as Rust has, helps it a bit, but not fully.

keyle|18 days ago

> There is a much simpler solution to the C++ language: just freeze it.

That would go against everything the language has stood for over the years: we have a problem, here is a solution

(... which creates twice the problems, but there's always next year!)

snovymgodym|18 days ago

There are already several frozen versions of C++ and there are projects that stick to compiling using an older standard.

This is a fairly normal practice and is supported by the major compilers.

I don't see why C++ should stop seeing development.