David Chisnall (*Now with 50% more sarcasm!*)

I am Director of System Architecture at SCI Semiconductor and a Visiting Researcher at the University of Cambridge Computer Laboratory. I remain actively involved in the #CHERI project, where I led the early language / compiler strand of the research, and am the maintainer of the #CHERIoT Platform.

I was on the FreeBSD Core Team for two terms, have been an LLVM developer since 2008, am the author of the GNUstep Objective-C runtime (libobjc2 and associated clang support), and am responsible for libcxxrt and the BSD-licensed device tree compiler.

Opinions expressed by me are not necessarily opinions. In all probability they are random ramblings and should be ignored. Failure to ignore may result in severe boredom and / or confusion. Shake well before opening. Keep refrigerated.

Warning: May contain greater than the recommended daily allowance of sarcasm.

No license, implied or explicit, is granted to use any of my posts for training AI models.

  • 0 Posts
  • 4 Comments
Joined 3 年前
cake
Cake day: 2024年2月3日

help-circle
  • @tyler @Magister

    To add to this: Writing code is easier than reading code.

    This is why we have comments: understanding the intent helps guide the reader and makes it easier to see where the implementation does not match the intent.

    This is one of the biggest reasons why we have code review: so that at least one person has read the code before it lands, to make sure that it is possible to understand it by reading it.

    Reading code is harder than writing code even when that code is written by someone who is trying to make it clear what the code does and why.

    LLMs make it easier to write code but harder to read because they produce statistically plausible code, which means code that looks right. Spotting bugs is harder. The code is often commented but the comments don’t reflect what it does, they direct you to misunderstand what the code does in subtle ways.

    But even if they generated code that is as easy to read as a good human programmer, they would not be solving the right problem.

    And, yes, LLMs can ‘explain’ code. And sometimes those explanations are correct and not subtly misleading. Often enough that they allow skills to atrophy, but not often enough that they’re trustworthy. They are a perfect example of The Paradox of Automation.