OneLessThing 4 days ago

It's funny the author says this was 90% written without AI, and that AI was mostly used for the json code. I think they're just new to C.

Trust me I love C. Probably over 90% of my lifetime code has been written in C. But python newbies don't get their web frameworks stack smashed. That's kind of nice.

  • lelanthran 4 days ago

    > But python newbies don't get their web frameworks stack smashed. That's kind of nice.

    Hah! True :-)

    The thing is, smashed stacks are difficult to exploit deterministically or automatically. Even heartbleed, as widespread as it was, was not a guaranteed RCE.

    OTOH, an exploit in a language like Python is almost certainly going to be easier to exploit deterministically. Log4j, for example, was a guaranteed exploit and the skill level required was basically "Create a Java object".

    This is because of the ease with which even very junior programmers can create something that appears to run and work and not crash.

    • alfiedotwtf 3 days ago

      > The thing is, smashed stacks are difficult to exploit deterministically or automatically. Even heartbleed, as widespread as it was, was not a guaranteed RCE.

      That’s like driving without a seatbelt - it’s not safe, but it would only matter on that very rare chance you have a crash. I would rather just wear a seatbelt!

uyzstvqs 3 days ago

It's a double-sided coin. LLMs are probably the best way to learn programming languages right now. But if you vibecode in a programming language that you don't understand, it's going to be a disaster sooner or later.

This is also the reason why AI will not replace any actual jobs with merit.

  • AdieuToLogic 3 days ago

    > LLMs are probably the best way to learn programming languages right now.

    Books still exist, be they in print or electronic form.

    • estimator7292 3 days ago

      Examples are the best documentation, and we now have a machine to produce infinite examples tailored specifically to any situation

      • AdieuToLogic a day ago

        > Examples are the best documentation ...

        No they are not, as examples lack explanation of the concepts underlying a programming language's definition.

        > ... and we now have a machine to produce infinite examples tailored specifically to any situation

        This is like saying, "to learn X language, just read a bunch of source in GitHub repositories that use it."

        What books written by authoritative people provide, such as language designers or recognized luminaries, is conveyance of key linguistic concepts and an explanation of "the why" they are important. This is the sole purvey of people.

      • nxobject 3 days ago

        Pending on the quality of the examples, of course.

    • zweifuss 3 days ago

      I would claim that:

      (interactive labs + quizzes) > Learning from books

      Good online documentation > 5yr old tome on bookshelf

      chat/search with ai > CTRL+F in a PDF manual

      • AdieuToLogic a day ago

        Most of what you claim as being better does not address how people can discover concepts of which they are previously aware. To wit:

          One cannot complete "labs + quizzes" unless they know
          how to answer same.
        
          One cannot "Ctrl-F in a PDF manual" unless they know
          what to search for.
        
        As to online docs being better than a printed "5yr old tome on bookshelf", that depends on if the available online documentation subsumes the book. If it does, awesome, but if it doesn't, then there very likely are things to learn within reach of said bookshelf.

        EDIT:

        An exemplar to consider is how the Actor Model[0] can be used to define a FaaS[1]-based system. Without being aware of this paper, it is unrealistic to expect someone to be able to formulate LLM prompts incorporating concepts identified by same.

        Side note: the Actor Model[0] paper is far older than a "5yr old tome" and is very much applicable to this day.

        0 - https://dspace.mit.edu/bitstream/handle/1721.1/41962/AI_WP_1...

        1 - https://en.wikipedia.org/wiki/Function_as_a_service

      • skydhash 3 days ago

        Interactive labs can do a great job of teaching skills, but they fell short of teaching understanding. And at some point, it’s faster to read a book to learn, because there’s a reduced need for practice.

        Hypertext is better than printed book format, but if you’re just starting with something you need a guide that provides a coherent overview. Also most online documentation are just bad.

        Why ctrl+f? You can still have a table of contents and an index with pdf. And the pdf formats support link. And I’d prefer filtering/querying over generation because the latter is always tainted by my prompt. If I type `man unknown_function`, I will get an error, not a generated manual page.