6 ms·
> With programming, the same basic tension exists as with the more effective smarter AI-enhanced approaches to conceptual learning: effectiveness is a function
by TeMPOraL 2y ago
> With programming, the same basic tension exists as with the more effective smarter AI-enhanced approaches to conceptual learning: effectiveness is a function of effort, and the whole reason for the "AI epidemic" is that people are avoiding effort like the plague.
That's not true. Yes, you can get more effective at something with more effort, but you can get even more effective at it if you find a way to get results without actually doing the work yourself in the first place.
That's literally the entirety of human technological advancement, in a nutshell. We'd ideally avoid all effort that's incidental to the goal, but if we can't (we usually can't), we invent tools that reduce this effort - and iterate on them, reducing the effort further, until eventually, hopefully, the human effort goes to 0.
Is that a "basic human (animal?) instinct to take the path of least resistance"? Perhaps. But then, that's progress, not a problem.
- alonsonic 2y agoIt's ironic to see people say this type of things and not think about old software engineer practices that are now obsolete because overtime we have created more and more tools to simplify the craft. This is yet another step in that evolution. We are no longer using punch cards or writing assembly code, and we might not write actual code in the future anymore and just instruct ais to achieve goals. This is progress
- TeMPOraL 2y agoElsewhere in this discussion thread[0], 'ChrisMarshallNY compares this to feelings of insecurity: > It’s really about basic human personal insecurity, and we all have that, to some degree. Getting around it, is a big part of growing up (...) I believe he's right. It makes me think back to my teenage years, when I first learned to program because I wanted to make games. Within the amateur gamedev community, we had this habit of sneering at "clickers" - Klik&Play & other kinds of software we'd today call "low-code", that let you make games with very little code (almost entirely game logic, and most of it "clicked out" in GUI), and near-zero effort on the incidental aspects like graphics, audio, asset management, etc. We were all making (or pretending to make) games within scope of those "clickers", but using such tools felt like cheating compared to doing it The Right Way, slinging C++ through blood, sweat and tears. It took me over a decade to finally realize how stupid that perspective was. Sure, I've learned a lot; a good chunk of my career skills date back to those years. However, whatever technical arguments we levied against "clickers", most of them were bullshit. In reality, this was us trying to feel better, special, doing things The Hard Way, instead of "taking shortcuts" like those lazy people... who, unlike us, actually released some playable games. I hear echoes of this mindset in a lot of "LLMs will rot your brain" commentary these days. -- [0] - https://news.ycombinator.com/item?id=43351486 https://news.ycombinator.com/item?id=43351486
- williamcotton 2y agoInsecurity is not just a part of growing up, it's a part of growing old as well, a feeling that our skills and knowledge will become increasingly useless as our technologies advance. Humans are tool users. It is very difficult to pick a point in time and say, "it was here that we crossed the Rubicon". Was it the advent of spoken word? Written word? Fire? The wheel? The horse? The axe? Or in more modern times, the automobile, calculator, or dare I say the computer and the internet? "With the arrival of electric technology, man has extended, or set outside himself, a live model of the central nervous system itself. To the degree that this is so, it is a development that suggests a desperate suicidal autoamputation, as if the central nervous system could no longer depend on the physical organs to be protective buffers against the slings and arrows of outrageous mechanism." ― Marshall McLuhan, Understanding Media: The Extensions of Man Are we at battle with LLMs or with humanity itself?
- HeatrayEnjoyer 2y agoProgress is more than just simplistic effort reduction. The attitude of more efficient technology = always good is why society is quickly descending into a high-tech dystopia.
- TeMPOraL 2y agoIt's business, not technology, that makes us descend into a high-tech dystopia. Technology doesn't bring itself into existence or into market - at every point, there are people with malicious intent on their mind - people who decide to commit their resources to commission development of new technology, or to retask existing technology, specifically to serve their malicious goals. Note: I'm not saying this is a conspiracy or a cabal - it's a local phenomenon happening everywhere. Lots of people with malicious intent, and even more indifferent to the fate of others, get to make decisions hurting others, and hide behind LLCs and behind tech and technologists, all of which get blamed instead.
- boredhedgehog 2y ago> We are no longer using punch cards or writing assembly code I have done some romhacks, so I have seen what compilers have done to assembly quality and readability. When I hear programmers complain that having to debug AI written code is harder than just writing it yourself, that's probably exactly how assembly coders felt when they saw what compilers produce. One can regret the loss of elegance and beauty while accepting the economic inevitability.
- lupire 2y agoNot just elegance and beauty, but also functionality. AI is as victim as humans are that if you put all your maximum wit into coding, you won't have any headroom for debugging.
- lr4444lr 2y agoThings like memory safe languages and JS DOM managed frameworks are limited scoped solved problems for most business computing needs outside of some very marginal edge cases. AI generated code? That seems a way off from being a generalized solved problem in an iterative SDLC at a modern tech company trying to get leaner, disrupt markets, and survive in a complex world. I for one am very much in support of it for engineers with the unaided experience under their belt to judge the output, but the idea that we're potentially going to train new devs at unfamiliar companies on this stuff? Yikes.
- Nathanba 2y agowell the only issue I have with that is that coding is already a fairly easy way to encode logic. Sure...writing Rust or C isn't easy but writing some memory managed code is so easy that I wonder whether we are helping ourselves by removing that much thinking from our lives. It's not quite the same optimization as building a machine so that we don't have to carry heavy stones ourselves. Now we are building a machine so we don't have to do heavy thinking ourselves. This isn't even specific to coding, lawyers essentially also encode logic into text form. What if lawyers in the future increasingly just don't bother understanding laws and just let an AI form the arguments? I think there is a difference here for the future of humanity that has never happened before in our tool making history.
- alonsonic 2y ago> Now we are building a machine so we don't have to do heavy thinking ourselves. There are a lot of innovations that helped us not do heavy thinking ourselves. Think calculators. We will just move to a higher level of magnitud problem to solve, software development is a means to an end, instead of thinking hard about coding we should be thinking hard about the problem being solved. That will be the future of the craft.
- Kye 2y agoCalculators are a good example of where letting too much knowledge slip can be an issue. So many are made by people with no grasp of order of operations or choosing data types. They could look it up, but they don't know they need to. It's one of those problems that seems easy, but isn't. The issue seems to come out when we let an aid for process replace gaining the knowledge behind the process. You at least need to know what you don't know so you can develop an intuition for when outputs don't (or might not) make sense. https://chadnauseam.com/coding/random/calculator-app https://chadnauseam.com/coding/random/calculator-app (recently: https://news.ycombinator.com/item?id=43066953 https://news.ycombinator.com/item?id=43066953)
- lupire 2y agoComplaining about "order of operations" is equivalent to saying Spanish speakers are ignorant because they don't know French. It's especially silly because one thing calculators are known for is being inconsistent about order of operations between designs.
- perkele1989 2y agothis is not progress. this is regression. who is going to maintain and further develop the software if not actual programmers? in the end the LLM's stop getting new information to be trained on, and it cant truly innovate (since its not an AGI)
- ThrowawayR2 2y agoThe handful of people writing your compilers, JIT-ers, etc. are still writing assembly code. There are probably more of them today than at any time in the past and they are who enable both us and LLMs to write high level code. That a larger profession sprang up founded on them simplifying coding enough for the average coder to be productive didn't eliminate them. The value of most of us as coders will drop to zero but their skills will remain valuable for the foreseeable future. LLMs can't parrot out what's not in their training set.
- xign 2y agoThat's a future that's not the case today. With compilers, I rarely have to dig into assembly code and generally I just work in the domain (programming languages) that I'm comfortable in. Compiler bugs are rare (but they do exist and I have had to dig into assembly to debug them before). LLMs are nowhere close to that level today. It spits out a bunch of mediocre code that the programmer then needs to maintain and fix bugs on. And the larger / more complicated the code base the harder it is for the LLM to work with. There's a huge leaky abstraction here going from initial vibe coding to then having to dig into the weeds, and generally fixing bugs written by another human is difficult enough, not to mention written by some random LLM.
- DanHulton 2y ago_Kinda sorta?_ There's actually two things going on when I'm coding at work: 1) I'm writing the business code my company needs to enable a feature/fix a bug/etc. 2) I'm getting better as a programmer and as someone who understands our system, so that #1 happens faster and is more reliable next time. Using AI codegen can (arguably, the jury is still out on this if we include total costs, not just the costs of this one PR) help with #1. But it _appreciably bad_ at #2. In fact, the closest parallel for #2 I can think of us plagiarism in an academic setting. You didn't do the work, which means you didn't actually learn the material, which means this isn't actually progress (assuming we continue to value #2, and, again, arguably #1 as well), it is just a problem in disguise.
- TeMPOraL 2y ago> In fact, the closest parallel for #2 I can think of us plagiarism in an academic setting. You didn't do the work, which means you didn't actually learn the material, which means this isn't actually progress (assuming we continue to value #2 (...) Plagiarism is a great analogy. It's great because what we call plagiarism in academic setting, in the real world work we call collaboration, cooperation, standing on the shoulders of giants, not reinventing the wheel, getting shit done, and such. So the question really is how much we value #2? Or, which aspects of it we value, because I see at least two: A) "I'm getting better as a programmer" B) "I'm getting better as a someone who understands our system" As much as I hate it, the brutal truth is, you and me are not being paid for A). The business doesn't care, and they only get so much value out of it anyway. As for B), it's tricky to say whether and when we should care - most software is throwaway, and the only thing that happens faster than that is programmers working on it changing jobs. Long-term, B) has very little value; short-term, it might benefit both business and the programmer (the latter by virtue of making the job more pleasant). I think the jury is still out on how LLMs affect A). I feel that it's not making me dumber as a programmer, but I'm from the cohort of people with more than a decade of programming experience before even touching a language model, so I have a different style of working with LLMs than people who started using them with less experience, or people who never learned to code without them.
- GoblinSlayer 2y ago
- rhdsgF 2y agoIndeed, taking the work of others, stripping the license and putting it on a photocopier is the most efficient way of "work". This is progress, not a problem.
- cursor_it_all 2y ago> that’s progress, not a problem. Agreed. Most of us aren’t washing our clothes with a washboard, yet the washboard not long ago was a timesaver. Technology evolves. Now, if AI rises up against the government and Cursor becomes outlawed, then maybe your leet coder skills will matter again. But when a catastrophic solar storm takes out the grid, a washboard may be more useful, to give you something to occupy yourself with while the hard spaghetti of your dwindling food supply slowly absorbs tepid rainwater, and you wish that you’d actually moved to Siberia and learned to live off the land as you once considered while handling a frustrating bug in production that you could’ve solved with Claude.
- fransje26 2y ago> [..] but you can get even more effective at it if you find a way to get results without actually doing the work yourself in the first place. No. In learning, there is no substitution to practice. Once you jump to the conclusion, you stop understanding the "why". Throughout various stages of technological advancement, we've come with tools to help relieve us of tedious efforts, because we understood the "why", the underlying reason of what the tools were helping us solve in the first place. Those that understood the "why" could build upon those tools to further advance civilization. The others were left behind to parrot about something they did not understand. But -and, ironically in this case- as with most things in life, it is about the journey and not the destination. And in the grand scheme of things, it doesn't really matter if we take a more efficient road, or a less efficient road, to reach a life lesson. Enjoy your journey!
- deleted 2y ago[deleted]
- risyachka 2y ago>> but you can get even more effective at it if you find a way to get results without actually doing the work yourself in the first place. yeah you can be more effective. Just have to pay the price of becoming more stupid. a bit hard to justify
- dspillett 2y ago> That's not true. Yes, you can get more effective at something with more effort, but you can get even more effective at it if you find a way to get results without actually doing the work yourself in the first place. This has been going on for decades. It is called outsourcing development. We've just previously passed the work to people in countries with lower wages and conditions, now people are increasingly passing the work to a predictive text engine (either directly, or because that is what the people they are outsourcing to are doing). Personally I'm avoiding the “AI” stuff¹, partly because I don't agree with how most of the models were trained, partly because I don't want to be beholden to an extra 3rd party commercial entity to be able to do my job, but mainly because I tinker with tech because I enjoy it. Same reason I've always avoided management: I want to do things, not tell others to do things. If it gets to the point that I can't work in the industry without getting someone/something else to do the job for me, I'll reconsider management or go stack shelves! -------- [1] It is irritating that we call it AI now because the term ML became unfashionable. Everyone seems to think we've magically jumped from ML into _real_ AI which we are having to make sure we call something else (AGI usually) to differentiate reasoning from glorified predictive text.
- sshine 2y ago> Everyone seems to think we've magically jumped from ML into _real_ AI But we have: - LLMs pass the Turing test more convincingly than anything before - LLMs are vastly more popular than any AI/ML methods before it - "But they don't reason!" -- we're advancing chain of thought LLMs are AI (behaving artificially human) LLMs are also ML (using statistical methods)
- bluefirebrand 2y ago> LLMs pass the Turing test more convincingly than anything before I know this sounds like moving the goalposts, but maybe all this does is show that the Turing Test was not sufficient? > LLMs are vastly more popular than any AI/ML methods before it Are we back in high school? Popularity contests?
- 2y ago
- andai 2y agoTo clarify, what I meant with that line was how to use AI in ways that strengthen your knowledge and skills rather than weaken them. This seems to be a function of effort (see the Testing Effect), there doesn't seem to be any way around that? Whereas what you're responding to is using AI to do the work for you, which weakens your own faculties the more you do it, right?
- Dansvidania 2y agolike players can optimise all the fun out of a game, companies can optimise all competency out of workers. while both are a consequence of a natural or logical tendency, neither is good. Once a player optimises all the fun out of a game, they stop playing it, often without experiencing it in its entirety (which I would regard as a negative outcome for both player and game) I am not able to extrapolate with confidence what the analogous outcome would be in the company/worker side of the equation. I would confidently say, out of just anecdotal experience, it's not trending in a good direction. edit: typo corrections
- consteval 2y agoI think it’s both progress and a problem depending on the application. Yes, innovation, but it’s also why people continue to do heroin. The human brain is easily manipulated, easily hacked.
- Brian_K_White 2y agoThe progress does not come from the absense of effort. That is just a transparent self serving "greed is good" class of argument from the lazy. It merely employs enough cherry picked truth to sound valid. The progress comes from amplification of effot, which comes from leverage (output comes from input), not magic (output comes from nowhere) or theft (output comes from someone else).
- oooyay 2y ago> Yes, you can get more effective at something with more effort, but you can get even more effective at it if you find a way to get results without actually doing the work yourself in the first place. You've arrived at the reason for compilers. You could go produce all that pesky machine code yourself or you could learn to use the compiler to its optimal potential to do the work for you. LLMs and smart machines alike will be the same concept but potentially capable of a wider variety of tasks. Engineers that know how to wield them and check their work will see their productivity increase as the technology gets better. Engineers that don't know how to check their work or wield them will at worst get less done or produce volumes of garbage work.
- sifar 2y ago>> that's progress, not a problem. It's a tradeoff. What we call progress is actually a tradeoff for what we value and prioritize more. It necessarily doesn't have to be good - just a state of the world we create.