4 ms·
This overlooks a new category of developer who operates in natural language, not in syntax.
by handfuloflight 1y ago
This overlooks a new category of developer who operates in natural language, not in syntax.
- 20k 1y agoNatural language is inherently a bad programming language. No developer, even with the absolute best AI tools, can avoid understanding the code that AI generates for very long The only way to successfully use AI is to have sufficient skill to review the code it generates for correctness - which is a problem that is at least as skilful as simply writing the code
- handfuloflight 1y agoYou assume natural language programming only produces code. It is also used to read it.
- obirunda 1y agoI don't think you understand why context-free languages are used for programming. If you provide a requirement with any degree of ambiguity the outcome will be non-deterministic. Do you want software that works or kind of works? If someone doesn't understand, even conceptually how requirements
- handfuloflight 1y agoYou're making two false assumptions: That natural language can only be ambiguous: but legal contracts, technical specs, and scientific papers are all written in precise natural language. And that AI interaction is one-shot where ambiguous input produces ambiguous output, but LLM programming is iterative. You clarify and deliver on requirements through conversation, testing, debugging, until you reach the precise accepted solution. Traditional programming can also start with ambiguous natural language requirements from stakeholders. The difference is you iterate toward precision through conversation with AI rather than by writing syntax yourself.
- goatlover 1y agoSo they don't understand the syntax being generated for them?
- handfuloflight 1y agoThey don't need to, any more than syntax writers need to understand byte code. They need to understand what the code does.
- goatlover 1y agoI have a hard time believing any of these natural language only prompters are being hired as developers if they don't understand the syntax. Part of the issue is LLMs are indeterministic and hallucinate. They also don't recognize every bug they generate.
- handfuloflight 1y agohttps://clickup.com/careers?gh_jid=5505998004 https://clickup.com/careers?gh_jid=5505998004 I don't agree with the vibe coding methodology (or lack thereof) myself but here's a direct lowest common denominator counterexample of a natural language programming job position. In practice, we are seeing and will continue to see developer adjacent positions submitting PRs. Not on a whim but after having understood the codebase or parts of it using the AI to translate syntax to English.
- const_cast 1y agoDoes this new category actually exist? Because, I would think, if you want to be successful at a real company you would need to know how to program.
- handfuloflight 1y agoKnowing how to program is not limited to knowing how to write syntax.
- const_cast 1y agoYes, but knowing how to read and write syntax is a required pre-requisite. Syntax, even before LLMs, is just an implementation detail. It's for computers to understand. Semantics is what humans care about.
- handfuloflight 1y ago*Was* a required pre-requisite. Natural language can be translated bidirectionally with any programming syntax. And so if syntax is just an implementation detail and semantics is what matters, then someone who understands the semantics but uses AI to handle the syntax implementation is still programming.
- const_cast 1y ago> Natural language can be translated bidirectionally with any programming syntax. Sure, maybe, but it's a lossy conversion both ways. And that lossy-ness is what programming actually is. We get and formulate requirements from business owners, but translating that into code isn't trivial.
- handfuloflight 1y agoThe lossiness and iteration you describe still happens in natural language programming, you're still clarifying requirements, handling edge cases, and refining solutions. The difference is doing that iterative work in natural language rather than syntax.