3 ms·
Actually I will argue. Complex systems are akin to a graph, attributes of the system being the nodes and the relationships between those attributes being the ed
by slopinthebag 7mo ago
Actually I will argue. Complex systems are akin to a graph, attributes of the system being the nodes and the relationships between those attributes being the edges. The type of mechanistic thinking you're espousing is akin to a directed acyclic graph or a tree, and converting an undirected cyclic graph into a tree requires you to disregard edges and probably nodes as well. This is called reductionism, and scientific reductionism is a cancer for understanding complex phenomena like sociology or economics, and I posit, software as well.
People and corporations have been trying for at least the last five decades to reduce software development to a mechanistic process, in which a system is understandable solely via it's components and subcomponents, which can then be understood and assembled by unskilled labourers. This has failed every time, because by reducing a graph to a DAG or tree, you literally lose information. It's what makes software reuse so difficult, because no one component exists in isolation within a system.
The promise of AI is not that it can build atomic components which can be assembled like my toaster, but rather that it can build complex systems not by ignoring the edges, but managing them. It has not shown this ability yet at scale, and it's not conclusive that current architectures ever will. Saying that LLM's are better than most professional programmers is also trivially false, you do yourself no favours making such outlandish claims.
To tie back into your point about creativity, it's that creativity which allows humans to manage the complexity of systems, their various feedback loops, interactions, and emergent behaviour. It's also what makes this profession broadly worthwhile to its practitioners. Your goal being to reduce it to a mechanistic process is no different from any corporation wishing to replace software engineers with unskilled assembly line workers, and also completely misses the point of why software is difficult to build and why we haven't done that already. Because it's not possible, fundamentally. Of course it's possible AI replaces software developers, but it won't be because of a mechanistic process, but rather because it becomes better at understanding how to navigate these complex phenomena.
This might be besides the point, but I also wish AI boosters such as yourself would disclose any conflict of interests when it comes to discussing AI. Not in a statement, but legally bound, otherwise it's worthless. Because you are one of the biggest AI boosters on this platform and it's hard to imagine the motivation of spending so much time hardlining a specific narrative just for the love of the game, so to speak.
- bitwize 7mo ago> Saying that LLM's are better than most professional programmers is also trivially false, you do yourself no favours making such outlandish claims. You grossly underestimate how awful one can be and still call themselves a "professional" in the field. Software engineering has effectively no standard certification of competence, which is part of why it's not actually an engineering field at all. So I stand by my statement that LLMs are better at writing code than most people working professionally as programmers. Again, Hackernews is not a representative sample, let alone the kind of programmer we admire and view as authoritative here on Hackernews. Most programmers require considerable oversight as well as detailed standards to follow in order to produce work without gumming up a code base. If you want to know why so much enterprise stuff is so bloated with heavy frameworks and a twisty maze of best practices like OO, SOLID, GoF patterns, etc. it's for this reason. The LLMs have access to a vast (if compressed/summarized) repository of knowledge about programming problems and commonly employed solutions in a variety of languages, and the ability to draw upon it instantly. Most humans, including myself, do not. Anyway, as Tim Bryce observed in 2005, based on his father Milt's work in the 70s, most of the creativity and human in software development happens in the business/systems analysis phase, not programming, at least if you're employing a structured, rigorous, proven methodology. Milt Bryce turned systems design from an art into a proven, repeatable science, and with that a view of programming that's largely mechanistic. "There are very few true artists in programming; most programmers are just house painters." > This might be besides the point, but I also wish AI boosters such as yourself would disclose any conflict of interests when it comes to discussing AI. I'm not boosting squat. I'm telling it like it is, and talking about decisions in our field that have already been made. It is no longer up for debate that AI use is an integral part of software engineering now, and writing code "the old way", in an editor with maybe autocomplete, refactoring tools, etc., will soon go the way of punchcards. The business class that actually runs things has already decided this. If you're getting suspicious and demanding conflict-of-interest disclosures from someone who spells this out, your understanding is out of date.