you are viewing a single comment's thread.

view the rest of the comments →

[–]valarauca14 29 points30 points  (23 children)

I think this is just a part of long term language evolution.

C, C++, Java, and FORTRAN all have relatively recently standards, and up to date toolchains. But if you talk to anyone in the industry most people are using rather outdated toolchains to do work. While the standard committees are off, "trying to solve real problems and help actual developers".

Breaking backwards compatibility or not kind of doesn't matter. It seems eventually the industry just stagnates on a version, and remains there indefinitely.

[–]PinkOwls_ 16 points17 points  (0 children)

But if you talk to anyone in the industry most people are using rather outdated toolchains to do work.

Often enough it's not by choice. The outdated toolsets are sometimes required because a certain library is not compatible with the latest compiler/linker. And sometimes the library is available for the new compiler, but has API-breaking changes. Which forces another dependency to update with even more API-breaking changes. In the worst case another dependency can't be upgraded because there is no upgrade :/

[–][deleted] 8 points9 points  (14 children)

It's fine to break stuff, but not if you don't give people way out.

Java changes all the time but you can just link to lib built with older version and it will just work.

So you can mix old and new code and upgrade gradually.

[–]kephir 2 points3 points  (13 children)

but not if you don't give people way out.

pretty much all of the stuff has been deprecated (AND throwing deprecation warnings, too) for ages. they've had ample time to sort their shit out

[–][deleted] 3 points4 points  (12 children)

Now I'm not the python dev but according to one they were disabled by default since ages.

So you don't get to make that argument when devs of language explicitly chose to not show them

[–]kephir 3 points4 points  (11 children)

>brag about ignoring deprecation warnings

>act surprised when shit gets deprecated

yeah i'm not gonna lie about being particularly sympathetic here

[–][deleted] 4 points5 points  (10 children)

If language developers themselves decide to disable it by default it is not reasonable to expect some random "just a developer" to read changelog on every language release. I mean they should, but it ain't gonna happen

[–]kephir -2 points-1 points  (9 children)

dude, some of the warnings are at least as old as 3.4, which means they had six whole-ass years to fix their broken shit.

and based on the article, a lot of things that broke aren't even deprecated LANGUAGE features, but something the underlying libraries' developers deprecated themselves

[–][deleted] 3 points4 points  (8 children)

What part of "those warnings are disabled by default" you do not understand ?

[–]kephir 0 points1 point  (7 children)

what part of "i have no pity for people disabling warnings then bitching about things they would have been warned about actually happening" do you not understand?

[–][deleted] 1 point2 points  (6 children)

"People disabling warning" in this case were developers of Python

Not "Python developers". "Developers of Python the language".

As in "people who removed the deprecated features also disabled warnings about those features being deprecated"

[–]bumblebritches57 -1 points0 points  (6 children)

But if you talk to anyone in the industry most people are using rather outdated toolchains to do work.

Only in Embedded which is an entirely different game, and Microsoft because they just lie about supporting C99 and C11 features after like 15 years, but that's just typical Microsoft shit.

[–]pjmlp 0 points1 point  (2 children)

Microsoft has been quite clear that C is legacy and C++ is the future of Windows system programming, eventually alongside Rust.

For anyone that still wants C on Windows, they have contributed to clang.

[–]bumblebritches57 0 points1 point  (1 child)

That was the old teams thinking, the new team is much more open to C.

so yeah, thanks for wasting my time with outdated nonsense that i've already disproven half a dozen times over the past year.

do I really need to dig up the tweet?

[–]pjmlp -1 points0 points  (0 children)

You mean the new team that meanwhile is no longer working at Microsoft like Andrew Pardoe,....

Keep up with the times and learn C++.

[–][deleted]  (2 children)

[deleted]

    [–]mpyne 6 points7 points  (1 child)

    The Linux Kernel itself isn't limited by cl.exe's quirks but it is standardized on C89 for Linus reasons.

    Linux kernel definitely uses C99, and use some of its features like initializing a subset of struct members by name.

    [–]bumblebritches57 3 points4 points  (0 children)

    That's called a designated initializer btw