By “good” I mean code that is written professionally and concisely (and obviously works as intended). Apart from personal interest and understanding what the machine spits out, is there any legit reason anyone should learn advanced coding techniques? Specifically in an engineering perspective?

If not, learning how to write code seems a tad trivial now.

  • ConstipatedWatson@lemmy.world
    link
    fedilink
    arrow-up
    3
    ·
    3 months ago

    Wait, if you can (or anyone else chipping in), please elaborate on something you’ve written.

    When you say

    That means they can engineer a solution to any problem that has already been solved millions of times already.

    Hasn’t Google already made advances through its Alpha Geometry AI?? Admittedly, that’s a geometry setting which may be easier to code than other parts of Math and there isn’t yet a clear indication AI will ever be able to reach a certain level of creativity that the human mind has, but at the same time it might get there by sheer volume of attempts.

    Isn’t this still engineering a solution? Sometimes even researchers reach new results by having a machine verify many cases (see the proof of the Four Color Theorem). It’s true that in the Four Color Theorem researchers narrowed down the cases to try, but maybe a similar narrowing could be done by an AI (sooner or later)?

    I don’t know what I’m talking about, so I should shut up, but I’m hoping someone more knowledgeable will correct me, since I’m curious about this

    • MajorHavoc@programming.dev
      link
      fedilink
      arrow-up
      7
      arrow-down
      1
      ·
      edit-2
      3 months ago

      Isn’t this still engineering a solution?

      If we drop the word “engineering”, we can focus on the point - geometry is another case where rote learning of repetition can do a pretty good job. Clever engineers can teach computers to do all kinds of things that look like novel engineering, but aren’t.

      LLMs can make computers look like they’re good at something they’re bad at.

      And they offer hope that computers might someday not suck at what they suck at.

      But history teaches us probably not. And current evidence in favor of a breakthrough in general artificial intelligence isn’t actually compelling, at all.

      Sometimes even researchers reach new results by having a machine verify many cases

      Yes. Computers are good at that.

      So far, they’re no good at understanding the four color theorum, or at proposing novel approaches to solving it.

      They might never be any good at that.

      Stated more formally, P may equal NP, but probably not.

      Edit: To be clear, I actually share a good bit of the same optimism. But I believe it’ll be hard won work done by human engineers that gets us anywhere near there.

      Ostensibly God created the universe in Lisp. But actually he knocked most of it together with hard-coded Perl hacks.

      There’s lots of exciting breakthroughs coming in computer science. But no one knows how long and what their impact will be. History teaches us it’ll be less exciting than Popular Science promised us.

      Edit 2: Sorry for the rambling response. Hopefully you find some of it useful.

      I don’t at all disagree that there’s exciting stuff afoot. I also think it is being massively oversold.

    • metiulekm@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      3
      ·
      3 months ago

      Hasn’t Google already made advances through its Alpha Geometry AI?? Admittedly, that’s a geometry setting which may be easier to code than other parts of Math and there isn’t yet a clear indication AI will ever be able to reach a certain level of creativity that the human mind has, but at the same time it might get there by sheer volume of attempts.

      Wanted to focus a bit on this. The thing with AlphaGeometry and AlphaProof is that they really treat doing math as a game, not unlike chess. For example, AlphaGeometry has a basic set of rules, it can apply them and it knows when it is done. And when it is done, you can be 100% sure that the solution is correct, because the rules of the game are known; the 28/42 score reported in the article is really four perfect scores and three zeros. Those systems do use LLMs, but they really are only there to suggest to the system what to try doing next. There is a very enlightening picture in the AlphaGeometry paper here: https://www.nature.com/articles/s41586-023-06747-5#Fig1

      You can automatically verify correctness of code the same way. For example Lean, the language AlphaProof uses internally, can be used for general programming. In general, we call similar programming techniques formal methods. But most people don’t do this, since this is more time-consuming than normal programming, and in many cases we don’t even know how to define the goal of our code (how to define correct rendering in a game?). So this is only really done when the correctness of the program is critical, like famously they verified the code of the automatic metro in Paris this way. And so most people don’t try to make programming AI work this way.