3 ms·
C is the new "goto". Y'all please, please note that dreta said "... an array implementation that prevents that from ever happening..."
by ArkyBeagle 10y ago
C is the new "goto".
Y'all please, please note that dreta said "... an array implementation that prevents that from ever happening..."
- pjmlp 10y agoC is the PHP and JavaScript of the 70's.
- ArkyBeagle 10y ago:) I don't know anything about either.
- ArkyBeagle 10y agoFinal word on the subject - what we have is people who are trying to make Open Software Reputation Points by finding a problem and fixing it, rather than waiting to find a real problem and fixing that. When the figure of "ten minutes" was used - that's really what it should be as a mean or median figure, with some long-tail outliers for knotty cases. While I am (somewhat) sympathetic, I don't miss what it is - it's make-work. There's not some body of material on language, O/S and software design available today that wasn't available 40 years ago. People new better back then, and didn't do better. But the endless, circular, Utopian arguments just don't cut it. It ain't the crate, it's the pilot. I am sorry that oh so many are put upon to actually - gasp - test their code but that's what this is. The economics of a Rust or Go or whatever make perfect sense - in the long run. Just recall what Keynes said about the long run.
- thesmallestcat 10y agoThis is how I feel. You cut the code to 27%. Great. You C99'd the code. Grand. Now you're going to rewrite the whole danged thing in a new language. Wonderful. This is the sort of stuff I cared about so much as a junior dev. But a user asks, are we there yet?
- mden 10y agoBut adding functionality grows in effort as more code is added. At some point it makes sense to improve a code base so you improve the rate at which you are getting "there". In fact there are a lot of code bases, perhaps most, which simply cannot get there in any sane way and fall short of achieving their goal. You might not care how goals are achieved as a user but as an engineer it's worth exploring and discussing different approaches.
- deleted 10y ago[deleted]
- thesmallestcat 10y agoI had no idea!
- ArkyBeagle 10y agoI care more as a user than as an engineer. :) Just to be clear - I don't suspect that the things that pretend to replace C are bad, or no good. I've just seen multiple "pretenders to the throne"[1] and what would appear to have happened is that we just moved the pathology around. [1] please excuse the horrible metaphor. After a few iterations of that, one begins to think that perhaps this is a distinctly human problem that is not necessarily addressable by improved language systems. My greatest concern is that I keep seeing people learn the same things, over and over, on the job. There's no real repository of literature to actually address any of this - each engineer appears to have to learn it mostly from scratch. There's a famous bon mot from pubic choice economics - "something must be done; this is something; this must be done." I just hope all the new crop of languages are not that. Finally: If you can, and if you can learn the right patterns ( isn't that true of all languages, though?), the thing I have gone to, again and again that is better than test equipment in terms of reliability continues to be Tcl.
- pjmlp 10y ago> There's no real repository of literature to actually address any of this - each engineer appears to have to learn it mostly from scratch. It is called university and engineering degree in software development.
- nickpsecurity 10y agoI see where you're going with this. I normally would agree. In this case, we have a large, C program that evolved over time for a complicated feature set. That they trimmed that much fat out might already be saying something about how much risk might be in that code. It's also been around a long time in important infrastructure plus will continue to be. Converting it to something that's safer in most ways, esp dynamic memory & types, to reduce number of vulnerabilities in near and long-term makes sense. So long as one can convert it in a straight-forward way that preserves the current meaning of the program's statements. If not, the port might introduce new problems. Edit: Btw, send me an email (see profile). Got something you might be interested in. One or two things.
- ArkyBeagle 10y agoYep. It's always about "the space between the buttons" in code bases. That's not pretty; I know that. It's a huge source of human suffering. But I wonder how reducible it truly can be. As they say, its (still) early days yet. That (email thing) would be awesome, Nick. Thanks.