Hacker News new | past | comments | ask | show | jobs | submit login

> The C++ standards committee can standardize a backwards-incompatible "new" C++ for all I care as long as they don't call it C++.

This x2. It's only C++ if you can optionally refactor random lines of code in a project written in compliance with C++98 using new features and still get a valid program.

Once you mess with the language in a way that your C++98 code is either not supported or requires rewrites or redesigns to comply with the new standard then quite obviously it is not C++ anymore.

Semver matters.




Under semver, they could call it "C++ 2.0" and be fine since according to semver anything with a major version change is free to break backwards compatibility.


While technically true so much of C++'s success is due to backward compatibility that I think the language would be instantly crippled.

Java is in a similar situation, which is probably why they market the minor version.


Java and C++ have done several breaking changes, although not as bad as Python 3.0.

The minor version for Java has stopped being used by Java 9.


Oracle calls the 6 month releases a 'major' version.. .but many corporate shops only care about the LTS versions (mostly 8 or 11) which are getting 90 day 'minor' patches. Java 11.0.6 is current till mid April, in which case 11.0.7 should hit.

Our shops won't cut over to something beyond Java 11 until Java 17 (LTS version) hits in a few years. Just happy that we were able to make the jump from 8 to 11.


It is still a major improvement being able to be on Java 11.

Poor Android Java developers are now faced with being stuck with a pseudo Android Java subset of Java 8, or migrate to Kotlin.

While any Java library author that wants to share their work with the Android community is faced with the dilemma of keeping two parallel versions of their library, forget about Android, or also convert themselves to Kotlin as well, even if that isn't their thing.


Yes i know, my comment was really a jab at semver as i'm a huge proponent of keeping backwards compatibility.


> So much of C++'s success is due to backward compatibility.

You mean so much of C++'s success is due to backward compatibility with C.

Edit: Formatting.


The hypothetical C++2.0 would have less to do with C++ than C++ would have to do with C, and no one disputes they are entirely separate languages.


is (C++)++ okay?


C# is C with four plus-signs arranged neatly.


Not to be pedantic but Microsoft already coined a language called C#. How about keep the ++, just spin the C upside down. J++.


J++ already exists. And so is -90 degree rotation (U++). The only variation that left is ∩++. But I think that 🅱️++ is better. It is modern looking and with hint that language took step backward from original in order to be more simplistic.


No, postfix increment returns an rvalue, so it can’t be applied twice. (jk)


Ah of course. So name it instead C+=2


Looks like you could have (++C)++


If the idea is to remove old & deprecated features from C++ that would be (C++)—-


You can't do that because of the rvalue problem I mentioned above. Only (++C)-- and (--C)++ are allowed!


I vote C =+


++C




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: