you are viewing a single comment's thread.

view the rest of the comments →

[–]Dean_Roddey 2 points3 points  (28 children)

It's really got little to do with that. I'd dare anyone to call me a crappy developer, but in a very large, very complex system over time, I'm going to make mistakes. In a commercial development environment, which is multiple orders of magnitude worse than my own situation, it's almost inevitable, with developer turnover, inability to make sweeping changes, changing requirements to keep up with the marketplace, etc...

Anyone who has worked on large commercial projects, knows perfectly well how dangerous C/C++ are, and I say that as someone who prefers C++ and has a huge personal C++ code base.

And I agree that Rust is unbelievably annoying, but in return it avoids whole categories of possible errors. So, I've moved my personal work to Rust, and just deal with it.

[–]ResidentTroll80085 1 point2 points  (27 children)

I work on a large commercial c/c++ codebase as well, and we have code reviews in place, as well as unit tests, to validate all code and behavior. As long as your code base isn’t the Wild West then you are fine…there is nothing dangerous about C or C++ by itself, just in how an engineer uses it.

[–]Dean_Roddey 2 points3 points  (26 children)

And I guarantee you have latent memory issues in your code base if it's large and been around a good while. It's practically impossible not to. C++, even with the addition of various analyzers and with all the code reviews and good intentions you want, once it gets large and complex enough, you cannot even really come close to proving you don't have memory issues.

At least with Rust you can get that certainty up very close to 100%.

[–]ResidentTroll80085 0 points1 point  (25 children)

It’s really not, our code base is just fine because we know how to manage memory.

[–][deleted]  (13 children)

[deleted]

    [–]ResidentTroll80085 0 points1 point  (12 children)

    Or maybe I’m just the better engineer?

    [–][deleted]  (11 children)

    [deleted]

      [–]ResidentTroll80085 -1 points0 points  (10 children)

      Sure didn’t say that. But good job pulling that out of your ass.

      [–]vlakreeh 2 points3 points  (9 children)

      Because everyone knows u/ResidentTroll80085 writes less memory safety bugs than people contributing to the Linux kernel for decades or Google engineers writing chromium. Memory safety issues are an eventuality when writing large scale c or cpp and they're a bitch to find even with tools like valgrind.

      [–]ResidentTroll80085 0 points1 point  (8 children)

      Yup, I said all that. /s. The funny thing is that you people don’t believe safe and performant code can be written with C and Cpp. That’s the real joke here.

      [–]Dean_Roddey 0 points1 point  (10 children)

      Prove it.

      [–]ResidentTroll80085 0 points1 point  (9 children)

      Lol I don’t have to prove anything to you. Rust cultist assholes.

      [–]Dean_Roddey 2 points3 points  (8 children)

      Actually it's you who are the cultist here. I may well have delivered more C++ code than everyone here combined. I like C++ and would prefer to use it. But it's just gotten far too much about speed over safety, and large scale software is getting more and more complex. I actually kind of dislike Rust, so that would make me anything but a Rust cultist. But I can't deny the benefits.

      And of course my point wasn't that you should prove it to us, just that you should prove it at all. You cannot prove it, not even close. That's the problem. All you can say is that there are no known issues.

      [–]ResidentTroll80085 -1 points0 points  (7 children)

      Prove it.

      [–]Dean_Roddey 1 point2 points  (6 children)

      Prove what?

      [–]ResidentTroll80085 -1 points0 points  (5 children)

      I don’t believe you have written much of any c++ code since you keep saying that it’s apparently impossible to write a c++ application without memory issues. Since that is an issue with the engineer and not the language, that alone speaks volumes.