|
> Software engineers are the translators. True, recently I started feeling that part of what I had been doing is simply translating natural language to programming languages. Though coding also involves things such as algorithm and data structures, context and background knowledge, but these can all be done in natural language. Once the natural language description is given, what remains is only translation. LLMs have good knowledge of almost anything, though they are currently weak on inference or derivation, but this already makes them good on the two end of software engineering -- context knowledge and translation. I understand those people who hate LLMs for coding, I partly share the feeling, because I enjoy typing on a keyboard, editing part of the code, reading the characters, I am an Emacs user. If LLMs can do the work, even if just save the typing and editing part, some of the fun has been eliminated for me. Think about chess and Go, though AI can easily beats human now, people are still playing it. For programming, if one day AI can do 80% of the programming work, I guess only few of programmers today can keep doing it as a job. Just like few people can play chess and Go as their job. |
Translation is natural language in, natural language out. That has very little to do with programming. Dijkstra knew back in the 70s that the very concept of natural language programming was bullshit, and that fancy new tech is never going to change the fundamental issues with the idea. In my opinion, his argument is as valid as ever.
Edit: I wasn't trying to imply that natural to natural language translation is trivial. The best LLM tools can be pretty shit at that even today, too. Tried using localised Microsoft developer documentation lately. It's unintelligible.