‹ BackHN Continuity

Thread

Learning Programming in an Age of LLMs

263 points · 195 comments · moneroloop2018

  1. js8 · · focus · HN ↗
    I answered this to myself - stop worrying about LLMs. It's pretty simple: due to Curry-Howard isomorphism, programming languages are just notations for some type of formal logic.

    Now ask yourself a question, what language do you want to maintain the programs in? Do you think natural language is going to be easier and more maintainable than formal logic?

    The answer is no. So you need programmers, people who can read the formal description and adapt it to new requirements.

    LLMs are amazing technology, but the truth is - natural language just kinda sucks. Therefore, you don&#x27;t really need them (see also <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;AI_effect" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;AI_effect ).

    I think people love LLMs for the same reasons they love magicians. But just like the magician employs a hidden trick, LLM just runs some algorithm you don&#x27;t see or understand.

    So worrying about LLMs taking programming job is kinda like worrying that a magician will take a warehouse worker job, because they can levitate stuff. Meanwhile, we already have automated programmer - it&#x27;s called a compiler.

    1. 0x445442 · · focus · HN ↗
      I agree with this but what I&#x27;ve been trying to answer the last few months is if there was an optimal language for the spec. As with you, I don&#x27;t think it&#x27;s English Markdown, but I don&#x27;t think it&#x27;s Java either. I also don&#x27;t think it&#x27;s Gherkin, Lisp perhaps? I&#x27;m still searching.
      1. js8 · · focus · HN ↗
        Well.. I think this is a big open problem in philosophy.

        On one hand, you have things like Lean (calculus of inductive constructions), these are relatively simple formal logics (just in more practical notation) that let you define any conceivable type, which is akin to specification.

        On the other hand, there is a rich set of modal and fuzzy logics that can help with aspects of reasoning in natural language. I think these can be defined in the former, but nobody has really made a good agreement as to how.

        So the main difficulty is for any such language to gain traction, people who speak it.

        Instead, we trained LLMs and they came up with something (evolved to reason). I think the future philosophical research will need to answer what exactly do LLMs bring to the table in terms of formalization of natural language.

Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.