Live data from Hacker News

Google fixed more Chrome bugs in June than over the past two years, thanks to AI

blog.google

641–650 of 668 posts

Re: Google fixed more Chrome bugs in June than over the past two years, thanks to AI

#641

Earlier quoted context omitted.

> * laugh track deafening * No shallow dismissals please, tell me why you think I'm wrong. > Rust is not a major advance over C/C++ Rust adds the borrow checker (and especially with non-linear lifetimes it's an implementation like the world has never seen before, not even in Cyclone). That alone raises it leaps above both C and C++. But even without it, it still has a Hindley Milner type system (which most people con…

[dead]

> Tell me why you think you're right.

The more verification you do, the more likely it is for a program to be correct. Lean towards Assembly, and you get less correctness, but lean towards Ada/SPARK, and you get more.

Rust is a notoriously difficult language specifically because it adds some limited verification features, going further along that correctness continuum than C. I didn't think that could even be disputed.

The "if it compiles it probably works" feeling most Rust programmers experience is proof that those verification features work, too.

> In time you will learn about all of the faults and flaws in Rust

I've programmed enough safe Rust and unsafe Rust that I'm now very familiar with most of its flaws, and yes, it has many. I'm also familiar with C and C++'s flaws, and they're so, so much worse.

> after you've suffered the pain of trying to rewrite the entire universe in it

My goal has never been to rewrite the universe in Rust. Battle-tested software is fine to stay as-is, unless it needs constant updates and new features, where most memory bugs appear.

With that said, a couple years ago, at work, our team finished migrating a couple of performance-sensitive services from C++ to Rust, and not only were they both successful, but they became 5x and 10x faster respectively, because it's so much easier to do direct memory reference stunts that would've been possible, but crazy via C++'s std::span and lambdas.

> I know exactly what the successor to C/C++ looks like, and it's not Rust.

What does it look like?

> Blah blah blah. Most of that is just added runtime complexity that I could add to C if I wanted

Everything I listed is compile-time complexity. I'm not sure how you can add any of it at runtime without extra runtime costs. Or are you talking about modifying the C language?

We might argue over whether that complexity is worth it, for sure, but once again: "if it compiles it probably works" is a very common sentiment with Rust.

But also, what you're saying sounds very much like the Blub Paradox [1]:

"As long as our hypothetical Blub programmer is looking down the power continuum, he knows he's looking down. Languages less powerful than Blub are obviously less powerful, because they're missing some feature he's used to. But when our hypothetical Blub programmer looks in the other direction, up the power continuum, he doesn't realize he's looking up. What he sees are merely weird languages. He probably considers them about equivalent in power to Blub, but with all this other hairy stuff thrown in as well. Blub is good enough for him, because he thinks in Blub."

[1] https://wiki.c2.com/?BlubParadox

> Most of it is wankery, the sort of stuff that 20-somethings salivate over

I'm not sure how that is relevant to what I said? I have 30 years of experience with C, and have read the C specification cover to cover, plus more recently some 15 years of C++ experience in parallel at work. I still use all 3 languages today.

> Again, the actual successor to C/C++ looks nothing like Rust.

What does it look like?

Re: Google fixed more Chrome bugs in June than over the past two years, thanks to AI

#642
post #310

Earlier quoted context omitted.

There's an old programming rule since 90's: By fixing a bug, 3 new bugs appear. I can imagine the quality of bug fixing by unsupervised (we save money by layoffs) halucinating AI at current state of development.

The way I learned it was: "99 bugs in the code, 99 bugs in the code... Fix one bug, compile it again, 101 bugs in the code!" (To the tune of 99 Bottles Of Beer)

Mayne the 99 bottles of beer explains it.

But hey, one can't survive 1 week of step-by-step debugging without 99 bottles of beer.

Re: Google fixed more Chrome bugs in June than over the past two years, thanks to AI

#643

[flagged]

All the evidence is against you here, sorry. Just read the google or microsoft security blogs, linux kernel mailing list, or any of the published security research about bug density in Rust vs C++.

Or you can bury your head in the sand while the rest of the industry is moving on, I guess.

Re: Google fixed more Chrome bugs in June than over the past two years, thanks to AI

#644

[flagged]

This post is basically a massive projection. When I guess, I make my guesses explicit. You, however, consistently make guesses and pretend they are true. You misinterpret facts so you can conveniently fit them into your narrative.

I don't want "To Be Right", I just don't want dunces slopping nonsense into this comment chain. Not my fault you fall into that group.

I don't need to assume Google's intentions and goals here. I want to see what they've done and the results they've reached with each action. I want to learn. You just want to reaffirm your delusions, that's why you have to pull the "you will learn" card rather than show objective metrics. If you really cared about quality, you would have them ready to present. Given that you haven't and even avoided doing so, it's safe to assume, as most of us have learned through experience, this to be a case of placebo at best. And placebo is not the sign of a good programmer.

Next time, provide some actual data rather than vague self-gloating. Then, we can have a discussion.

Re: Google fixed more Chrome bugs in June than over the past two years, thanks to AI

#646

Earlier quoted context omitted.

C is very much a "high level/portable assembly" type language still and there's really no sign that it'll change from that. Even if it has ostensibly has abstract semantics, many operations map to 1 or a few assembly instructions and much C code, even when not strictly conforming (as all but the most trivial examples are), is conforming enough that it's portable amongst most relevant targets For example, I kinda know…

No, you don't know what that code will do. Depending on the inner block, it'll most likely be vectorized. Like I said, it's significantly higher level than assembly.

I don't really agree here. Setting aside the question of how often a compiler can vectorize a loop, because I do think it's not totally relevant here, as you still don't really have the language builtin stuff that other languages do.

You really do have to write the code that iterates over a list and applies a transformation, you can't just do

    [x + y for a.x, a.y in b]
...in C, you have to iterate over the array. And you don't tend to have that much to help you. Most dialects of C don't have exceptions for instance (unless you invent your own). And in general, most of the time, non-trivial loops just... won't autovectorize and it can be a bit finnicky to nudge it in the right direction.

Take, for example, Ghidra. It has a feature to decompile blocks of code into C(++). Other reverse engineering tools follow suit. Even in C, it's very possible to model assembly instructions that don't have a 1-to-1 mapping to a particular language construct as a function call (and this is what these do).

But, there is a reason that, even with all of the architectural differences in the world, whether it be x86, x86-64, PPC, ARM, RISC-V, Xtensa, MIPS, etc, that you can provide a mapping that goes in 1 way (from source to object code) and also the other way (from object code to """source"""). It'd be much more difficult to do that with other languages, especially in an idiomatic fashion.

Re: Google fixed more Chrome bugs in June than over the past two years, thanks to AI

#649
post #414

Earlier quoted context omitted.

I'll await your Rust ports of Windows, Linux and MacOS then. This isn't really a fair take. Keep in mind that C/C++ has been the backbone of the most important software in the world since the 1970s. At that time we didn't have virtually unlimited compute and memory at our fingertips the way we do now. It was a huge improvement to have a high level language which still could be optimized nearly as well as assembly. It…

A pretty big part of the reason we didn't switch earlier is that most people—certainly most non-technical leaders, but also a lot of engineers—don't value correctness or security enough. We didn't have good alternatives until recently because we did not, collectively, invest in developing these alternatives. One surprising thing is that, in the grand scheme of things, developing an alternative like Rust is not that e…

> The industry as a whole throws away orders of magnitude more engineering-years than that on vanity projects

The industry as a whole throws away orders of magnitude more engineering-years _daily_ in meetings discussing if scrum standups are effective.

Post reply on HN