5 ms·
Does 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.
by const_cast 1y ago
Does 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.
- DrillShopper 1y agochar * const (( const bar)[5])(int )
- handfuloflight 1y ago{⍵[⍋⍵]}⍨?10⍴100 ...or generate 10 random numbers from 1 to 100 and sort them in ascending order. I know which one of these is closer to, if not identical to the thoughts in my mind before any code is written. I know which of one of these can be communicated to every single stakeholder in the organization. I know which one of these the vast majority of readers will ask an AI to explain.
- obirunda 1y agoThe thing that's assumed in "proompting" as the new way of writing code is how much extrapolation are you going to allow the LLM to perform on your behalf. If you describe your requirements in a context-free language you'll have written the code yourself. If you describe the requirements with ambiguity you'll leave enough of narrowing it down to actual code to the LLM. Have it your way, but the current workflow of proompting/context engineering requires plenty of hand holding with test coverage and a whole lot of token burn to allow agentic loops to pass tests. If you claim to be a vibe coder proompter with no understanding of how anything works under the hood and claim to build things using English as a programming language, I'd like to see your to-do app.
- handfuloflight 1y agoVibe coding is something other than what I'm referring to, as you're conflating natural language programming, where you do everything that a programmer does except reading and writing syntax, with vibe coding without understanding. Traditional programming also requires iteration, testing, and debugging, so I don't see what argument you're making there. Then when you invoke 'token burn' the question is then whether developer time costs more than compute time. Developer salaries aren't dropping while compute costs are. Or whether writing and reading syntax saves more time than pure natural language. I used to spend six figures a month on contracting out work to programmers. Now I spend thousands. I used to wait days for PRs, now the wait is in seconds, minutes and hours. And these aren't to do apps, these are distributed, fault tolerant, load tested, fully observable and auditable, compliance controlled systems.
- obirunda 1y agoLLMs do not revoke ambiguity from the English language.. Look, if you prefer to use this as part of your workflow and you understand the language and paradigms being chosen by the LLM on your behalf, and can manage to produce extensible code with it, then that's a matter of preference and if you find yourself more productive that way, all power to you. But when you say English as a programming language, you're implying that we have bypassed its ambiguity. If this was actually possible, we would have an English compiler, and before you suggest LLMs are compilers, they require context. Yes, you can produce code from English but it's entirely non-deterministic, and they also fool you into thinking because they can reproduce in-training material, they will be just as competent at something actually novel. Your point about waiting on an engineer for a PR is actually moot. What is the goal? Ship a prototype? Build maintainable software? If it's the latter, agents may cost less but they don't remove your personal cognitive load. Because you can't actually let the agent develop truly unattended, you still have to review, validate and approve. And if it's hot garbage you need to spin it all over and hope it works. So even if you are saving on a single engineer's cost, you have to count your personal cost of baby sitting this "agent". Assuming that you are designing the entire stack this can go better, but if you "forget the code even exits" and let the model also architect your stack for you then you are likely just wasting token money on proof-of-concepts rather than creating a real product. I also find interesting that so many cult followers love to dismiss other humans in favor of this technology as if it already provides all the attributes that humans possess. As far as I'm concerned cognitive load can still only be truly decreased by having an engineer who understands your product and can champion it foward. Understanding the goal and the mission in real meaningful ways.