News for hackers. Stuff that matters.
Re:Bjarne Stroustrup Weighs in on Distributed Systems, Type ... by diego_moita on Monday August 03, 2020 @09:48AM (#24037695)
> Once you get users, you have responsibilities, and one of the responsibilities is not to break their code.

That is both a good and bad thing.

Within both C++ and JavaScript there is a very elegant programming language with powerful semantics.

However, there are also a lot of bad solutions and dangerous hacks accumulated. And most of us programmers don't know how or don't have the self discipline to separate the good parts from the bad parts. And sometimes even with the knowledge and self discipline you can't avoid them (e.g: when using someone else's libraries).

In some languages (e.g: Lua, Python) the designers are ready to break backwards compatibility. C++ chose not too.

Re:Bjarne Stroustrup Weighs in on Distributed Systems, Type ... by vii on Monday August 03, 2020 @11:23AM (#24038844)
Perl was the #3 language on the Tiobe ranking in 2005. It had massive codebases in banks and other industries. In 2019 it was ranked #19 and the incompatible replacement, Perl6, is #93. Breaking backwards compatibility is hugely costly. It creates immense work as people have to validate that new versions of previously working code meet the implicit, accumulated requirements.

Old code will always seem old fashioned. It will not address modern concerns. However, the option to keep using it is very valuable!

Re:Bjarne Stroustrup Weighs in on Distributed Systems, Type ... by nindalf on Monday August 03, 2020 @12:04PM (#24039478)
Two things - TIOBE is meaningless. And secondly, Perl is a valid example, but so is Python. After a 10 year painful transition, Python is more popular than ever. It's used more than any other language bar Javascript.
Re:Bjarne Stroustrup Weighs in on Distributed Systems, Type ... by hota_mazi on Monday August 03, 2020 @01:47PM (#24040944)
> Two things - TIOBE is meaningless.

Pick any other language survey of your choice and I guarantee you it will generally agree with the TIOBE.

Re:Bjarne Stroustrup Weighs in on Distributed Systems, Type ... by rumanator on Monday August 03, 2020 @07:19PM (#24044659)
Agree with what? TIOBE is just a vague measure of online chatter. I mean, right now TIOBE's site has a section on how Go, Swift, and SQL are tied. What is there to agree with? I mean, you can add "burrito" to TIOBE and the result would be just as meaningful.
Re:Bjarne Stroustrup Weighs in on Distributed Systems, Type ... by dgellow on Tuesday August 04, 2020 @05:25AM (#24048209)
That's maybe a good name for a successful programming language :) TIOBE driven design is the future!
Re:Bjarne Stroustrup Weighs in on Distributed Systems, Type ... by coliveira on Monday August 03, 2020 @07:52PM (#24044907)
That may be true about Python, but despite of the horrible transition from 2 to 3. That transition is a source of frustration to anyone who had to maintain code across the versions 2 and 3.
Re:Bjarne Stroustrup Weighs in on Distributed Systems, Type ... by pjmlp on Monday August 03, 2020 @01:18PM (#24040543)
Not really, plenty of MBA type managers use it as a measure to allow for language adoption on their projects.
Re:Bjarne Stroustrup Weighs in on Distributed Systems, Type ... by jdoege on Monday August 10, 2020 @10:30AM (#24109630)
The language formerly known as Perl 6 is now called Raku so there are no more backwards compatibility issues.

Perl 7 is the new opportunity for backwards incompatibility (and probably doesn't even have an entry on Tiobe which would make your argument even stronger!)

Also, Tiobe is about as interesting as a gossip column. There are many reasons to pick one language over another, but ranking on Tiobe will never be one of them.

Re:Bjarne Stroustrup Weighs in on Distributed Systems, Type ... by nojvek on Tuesday August 04, 2020 @01:49AM (#24047036)
At my current workplace it took at-least 6 months of 2 engineer efforts. That’s about 200k of sunk cost + the opportunity cost of them working elsewhere. Plus other people who got pulled in, it’s easily about 300k to migrate from oy2 -> py3.

We still have a mumbo jumbo mess of py2 scripts lying around.

Re:Bjarne Stroustrup Weighs in on Distributed Systems, Type ... by twblalock on Monday August 03, 2020 @12:20PM (#24039690)
> In some languages (e.g: Lua, Python) the designers are ready to break backwards compatibility. C++ chose not too.

There are still quite a few Python 2 codebases that will never migrate to Python 3, and quite a few developers who still use Python 2 for new projects.

Anecdotally, several Python developers I know would rather rewrite their Python 2 programs in another language than put in the work to move to Python 3. A lot of them seem to be considering Go and Rust.

The way the Python 2 to 3 change was handled was a huge mistake.

Re:Bjarne Stroustrup Weighs in on Distributed Systems, Type ... by ErikBjare on Tuesday August 04, 2020 @03:42AM (#24047639)
>quite a few developers who still use Python 2 for new projects.

[citation needed], I haven't seen anyone use Python 2 for new projects in the last ~5 years. It reached EOL this year, nobody in their right mind would use Python 2 for new projects today.

Re:Bjarne Stroustrup Weighs in on Distributed Systems, Type ... by pjmlp on Monday August 03, 2020 @09:50AM (#24037712)
Herb Sutter has a nice talk about it, with several examples, expect 10 year adoption delay if breaking features is a thing.
Re:Bjarne Stroustrup Weighs in on Distributed Systems, Type ... by protomyth on Monday August 03, 2020 @11:37AM (#24039068)
I do wonder about the approach of defining an 'official' Ratfor or F that is strict subset that removes all the old parts of the language and doesn't worry about compatibility with the old code leaving only what is considered best practice. It might be very helpful to show folks the current way to do things while the full language is available to migrate code if it is considered cost effective. Plus, it would be helpful for go forward code. I wonder what a Rational C++ would look like with Concepts and the lot.
Re:Bjarne Stroustrup Weighs in on Distributed Systems, Type ... by throwaway894345 on Monday August 03, 2020 @09:53AM (#24037752)
In addition to libraries, we often have colleagues and persuading colleagues to agree on a which features should be prohibited can be difficult in many organizations.
Re:Bjarne Stroustrup Weighs in on Distributed Systems, Type ... by bborud on Monday August 03, 2020 @11:51AM (#24039263)
> Once you get users, you have responsibilities, and one of the responsibilities is not to break their code.

That's rich. Figuring out how to use C++ on a large project (where you often depend on existing codebases) is always an exercise in figuring out what subsets of what version of the language to use. Presenting C++ like one language that has maintained backwards compatibility is, at best, a gross oversimplification of what is one of the bigger headaches of using C++.

That being said, I can't remember C++ ever doing something directly destructive and unnecessary like redefine how integer division works like I have seen in certain other languages that also result in hostility towards the user.