4 ms·
yes, but does your colleague even fully understand what was generated? Does he have a good mental map of the organization of the project? I have a good mental
by cml123 2y ago
yes, but does your colleague even fully understand what was generated? Does he have a good mental map of the organization of the project?
I have a good mental map of the projects I work on because I wrote them myself. When new business problems emerge, I can picture how to solve them using the different components of those applications. If I hadn't actually written the application myself, that expertise would not exist.
Your colleague may have a working application, but I seriously doubt he understands it in the way that is usually needed for maintaining it long term. I am not trying to be pessimistic, but I _really_ worry about these tools crippling an entire generation of programmers.
- alonsonic 2y agoAI assistants are also quite good at helping you create a high level map of a codebase. They are able to traverse the whole project structure and functionality and explain to you how things are organized and what responsibilities are. I just went back to an old project (didn't remember much about it) and used Cursor to make a small bug fix and it helped me get it done in no time. I used it to identify where the issue might be based on logs and then elaborate on potential causes before then suggesting a solution and implementing it. It's the ultimate pair programmer setup.
- insane_dreamer 2y ago> I just went back to an old project (didn't remember much about it) and used Cursor to make a small bug fix and it helped me get it done in no time. That sounds quite useful. Does Cursor feed your entire project code (traversing all folders and files) into the context?
- Anamon 2y agoDo you ever verify those explanations, though? Because I occasionally try having an LLM summarise an article or document I just read, and it's almost always wrong. I have my doubts that they would fare much better in "understanding" an entire codebase. My constant suspicion is that most results people are so impressed with were just never validated.
- svantana 2y agoMe too, but a more optimistic view is that this is just a nascent form of higher-level programming languages. Gray-beards may bemoan that us "young" developers (born after 1970) can't write machine code from memory, but it's hardly a practical issue anymore. Analogously, I imagine future software dev to consist mostly of writing specs in natural language.
- skydhash 2y agoNo one can write machine code from memory other by writing machine for years and just memorizing them. Just like you can't start writing Python without prior knowledge. > Analogously, I imagine future software dev to consist mostly of writing specs in natural language. https://www.commitstrip.com/en/2016/08/25/a-very-comprehensive-and-precise-spec/ https://www.commitstrip.com/en/2016/08/25/a-very-comprehensi...?
- allochthon 2y ago> Me too, but a more optimistic view is that this is just a nascent form of higher-level programming languages. I like this take. I feel like a significant portion of building out a web app (to give an example) is boilerplate. One benefit of (e.g., younger) developers using AI to mock out web apps might be to figure out how to get past that boilerplate to something more concise and productive, which is not necessarily an easy thing to get right. In other words, perhaps the new AI tools will facilitate an understanding of what can safely be generalized from 30 years of actual code.
- mattgreenrocks 2y agoWeb apps require a ton of boilerplate. Almost every successful web framework uses at least one type of metaprogramming, many have more than one (reflection + codegen). I’d argue web frameworks don’t even help a lot in this regard still. They pile on more concepts to the leaky abstractions of the web. They’re written by people that love the web, and this is a problem because they’re reluctant to hide any of the details just in case you need to get to them. Coworker argued that webdev fundamentally opposes abstraction, which I think is correct. It certainly explains the mountains of code involved.
- n_ary 2y ago> I _really_ worry about these tools crippling an entire generation of programmers. Isn’t that the point? Degrade the user long enough that the competing user is on-par or below the competence of the tool so that you now have an indispensable product and justification of its cost and existence. P.S. This is what I understood from a lot of AI saints in news who are too busy parroting productivity gains without citing other consequences, such as loss of understanding of the task or expertise to fact-check.
- skywhopper 2y agoI wouldn’t even be so sure the application “works”. All we heard is that it has pretty UI and an API and a database, but does it do something useful and does it do that thing correctly? I wouldn’t be surprised if it totally fails to save data in a restorable way, or to be consistent in its behavior. It certainly doesn’t integrate meaningfully with any existing systems, and as you say, no human has any expertise in how it works, how to maintain it, troubleshoot it, or update it. Worse, the LLM that created it also doesn’t have any of that expertise.