News for hackers. Stuff that matters.
Re:C meeting is over. C23 added: by pkrumins on Saturday February 19, 2022 @07:11AM (#30396531)
C is the only sane language left. It never changes and it lets us write code that just works. We can focus on getting things done and shipping rather than learning new features and Googling compiler errors. Learn once, ship forever.
Re:C meeting is over. C23 added: by drran on Saturday February 19, 2022 @07:25AM (#30396612)
Majority of CVE's are because of C memory model, which is fixed in modern languages. C memory model is the constant source of vulnerabilities, thus it better to write new code in a memory safe language, like Rust.
Re:C meeting is over. C23 added: by masklinn on Saturday February 19, 2022 @10:11AM (#30397678)
> Majority of CVE's are because of C memory model

“Memory safety” (or lack thereof) is probably less ambiguous: usually “memory model” is the interaction between program and memory, specifically as it pertains to concurrency. And in the latter understanding I believe C has about the same model as C++, which is also the one adopted by Rust. And while it’s fiddly, it’s not a complete disaster.

Re:C meeting is over. C23 added: by moralestapia on Saturday February 19, 2022 @09:59AM (#30397580)
>Majority of CVE's are because of C memory model

I haven't checked that but I believe you. My only nitpick is that I wouldn't put the whole blame for that on C, as there are proper ways to produce "safer"[1] code. What other languages did was lower the entry barrier to write better code, but that doesn't mean one language is inherently better that another.

1: No code is ever safe, not even formally verified code.

Re:C meeting is over. C23 added: by phendrenad2 on Saturday February 19, 2022 @05:33PM (#30401165)
C and Rust have the same memory model though, unless you're using a definition of "memory model" that I'm unaware of.
Re:C meeting is over. C23 added: by pkrumins on Saturday February 19, 2022 @07:45AM (#30396725)
Rust is a syntax error, not a programming language.
Re:C meeting is over. C23 added: by DrMeepster on Monday February 21, 2022 @11:58PM (#30424148)
what does this mean? It sounds like you tried to make a funny programming insult, but it fell flat if that's what you were going for
Re:C meeting is over. C23 added: by rightbyte on Saturday February 19, 2022 @07:35AM (#30396668)
Ye the churn is crazy in many languages. I almost had a heart attack when the twitter post stated that "true" and "false" are keywords in C23. However that seems incorrect.

On my last workplace we argued if we dared to use stdint.h, since it was so new and fancy. I was a proponent, but there is something calm over discussing whether to use 23 year old additions or not.

Re:C meeting is over. C23 added: by pkrumins on Sunday February 20, 2022 @07:09AM (#30405101)
Sounds like a dream workplace similar to mine.
Re:C meeting is over. C23 added: by wffurr on Saturday February 19, 2022 @07:44AM (#30396720)
...except it just changed.

And you will be forever left writing insecure memory unsafe code.

Re:C meeting is over. C23 added: by pkrumins on Saturday February 19, 2022 @07:47AM (#30396743)
One change per decade is not a change.
Re:C meeting is over. C23 added: by zeckalpha on Saturday February 19, 2022 @08:11AM (#30396896)
More than once per decade: C11, C17, C23
Re:C meeting is over. C23 added: by blinzy on Saturday February 19, 2022 @09:12AM (#30397244)
I guess you can say C17 is a change if you want to be pedantic except it didn't actually introduce any new features; it just corrected some defects found in C11.

So we have C89, C99, C11, and C2X (C23?) as the only revisions introducing new stuff...

Re:C meeting is over. C23 added: by eternityforest on Sunday February 20, 2022 @08:11AM (#30405400)
The effort required to do anything besides low level utils in C is immense. And once you have it working, how do you know it's correct? You have to carefully review it.

You could write and rewrite everything multiple times in a high level language with that much work.

C libraries break all the time. They change them whenever they want. The standard lib and language might be stable but the large frameworks aren't.

It doesn't seem at all suitable for large application programs.

I do sometimes worry that one day my Python code won't run and 5 year projects will become useless. But so far, popular language aren't showing any sign of going away.

Re:C meeting is over. C23 added: by phendrenad2 on Saturday February 19, 2022 @05:34PM (#30401174)
C99 is the last sane language left. The additions since then are just minor syntactic sugar.
Re:C meeting is over. C23 added: by pkrumins on Saturday February 19, 2022 @11:00PM (#30403105)
gg
Re:C meeting is over. C23 added: by sys_64738 on Saturday February 19, 2022 @07:59AM (#30396825)
It’s also upwardly compatible so no messing with code from a deprecated version. Python 2 to python three has this issue. If I need to change my code to make it run on the latest language standard then that is a big red flag for me.
Re:C meeting is over. C23 added: by pkrumins on Sunday February 20, 2022 @07:03AM (#30405065)
Well said, we should team up!