In a world where most code in modern programming languages will be machine-generated, what is the role of an upper-level programming languages course?
Interesting and non-obvious answers please.
In a world where most code in modern programming languages will be machine-generated, what is the role of an upper-level programming languages course?
Interesting and non-obvious answers please.
@shriramk oh sure. but specifically for claude: there is the non deterministic, « meaningless » « compiler » (the llm), which generates a program in a language with a defined semantics : why choose any particular semantics / set of abstractions, is my question.
maybe you are saying « choose the one that is most easy for me to read / understand ». i don’t have a well thought out answer, myself
@wingo @shriramk There is a very large class of programmers who can ignore assembly language. But, that has never been the case for most programmers writing performance-critical code. For example, see the recently published Anthropic performance engineering exam, which involves writing code for a made-up VLIW simulator.
The question now is, what is the growing class of tasks we can do entirely in natural language? Also, why does it matter if the natural language produces computer programs to do the task, or if the model/agent "just does it" itself.
Unrelated talk here: https://www.youtube.com/watch?v=ahtbcExEKng
@shriramk @arjun @wingo Aside: I still write programs in domains where I care about the machine code that comes out the other end.
To the main point: I think we want the generated intermediate representation to be maximally human comprehensible given that people using LLMs will be spending so much time reviewing and debugging…