| ▲ | recursivedoubts 13 hours ago |
| AI is incredibly dangerous because it can do the simple things very well, which prevents new programmers from learning the simple things ("Oh, I'll just have AI generate it") which then prevents them from learning the middlin' and harder and meta things at a visceral level. I'm a CS teacher, so this is where I see a huge danger right now and I'm explicit with my students about it: you HAVE to write the code. You CAN'T let the machines write the code. Yes, they can write the code: you are a student, the code isn't hard yet. But you HAVE to write the code. |
|
| ▲ | orev 12 hours ago | parent | next [-] |
| It’s like weightlifting: sure you can use a forklift to do it, but if the goal is to build up your own strength, using the forklift isn’t going to get you there. This is the ultimate problem with AI in academia. We all inherently know that “no pain no gain” is true for physical tasks, but the same is true for learning. Struggling through the new concepts is essentially the point of it, not just the end result. Of course this becomes a different thing outside of learning, where delivering results is more important in a workplace context. But even then you still need someone who does the high level thinking. |
| |
| ▲ | frankc 12 hours ago | parent | next [-] | | I think this is a pretty solid analogy but I look at the metaphor this way - people used to get strong naturally because they had to do physical labor. Because we invented things like the forklift we had to invent things like weightlifting to get strong instead. You can still get strong, you just need to be more deliberate about it. It doesn't mean shouldn't also use a forklift, which is its own distinct skill you also need to learn. It's not a perfect analogy though because in this case it's more like automated driving - you should still learn to drive because the autodriver isn't perfect and you need to be ready to take the wheel, but that means deliberate, separate practice at learning to drive. | | |
| ▲ | WorldMaker 10 hours ago | parent | next [-] | | > people used to get strong naturally because they had to do physical labor I think that's a bit of a myth. The Greeks and Romans had weightlifting and boxing gyms, but no forklifts. Many of the most renowned Romans in the original form of the Olympics and in Boxing were Roman Senators with the wealth and free time to lift weights and box and wrestle. One of the things that we know about the famous philosopher Plato was that Plato was essentially a nickname from wrestling (meaning "Broad") as a first career (somewhat like Dwayne "The Rock" Johnson, which adds a fun twist to reading Socratic Dialogs or thinking about relationships as "platonic"). Arguably the "meritocratic ideal" of the Gladiator arena was that even "blue collar" Romans could compete and maybe survive. But even the stories that survive of that, few did. There may be a lesson in that myth, too, that the people that succeed in some sports often aren't the people doing physical labor because they must do physical labor (for a job), they are the ones intentionally practicing it in the ways to do well in sports. | | |
| ▲ | port11 7 hours ago | parent | next [-] | | I can’t attest to the entire past, but my ancestors on both sides were farmers or construction workers. They were fit. Heck, my dad has a beer gut at 65 but still has arm muscles that’ll put me to shame — someone lifting weights once a week. I’ve had to do construction for a summer and everyone there was in good shape. They don’t go to the gym, they don’t have the energy; the job shapes you. More or less the same for the farmers in the family. Perhaps this was less so in the industrial era because of poor nutrition (source: Bill Bryson, hopefully well researched). Hunter gatherer cultures that we still study today have tremendous fitness (Daniel Lieberman). | | |
| ▲ | hn_acc1 4 hours ago | parent [-] | | My dad was a machinist, apprenticed in Germany after WW2. Always somewhat overweight (5'9", 225 lbs during his "peak" years), but he could lift guys up by their belt with one arm, and pick up and move 200+ lb metal billets when he got too impatient to wheel the crane over. Even at 85 now, he's probably stronger in his arms than most 60 year olds. But I'm also not saying ALL of his co-workers were that strong, either. | | |
| ▲ | foobarchu 2 hours ago | parent [-] | | Takes mass to move mass. Most of the strongest people in the world look "fat" and usually have a hefty gut. Strong and jacked are orthogonal characteristics. | | |
| ▲ | jedwards1211 an hour ago | parent [-] | | I know what you mean, but from a physics perspective, no, it just takes force to move mass. More mass will generate more downward force due to gravity, and more force in other directions due to momentum once it’s moving, but there’s more to generating force than just mass. I’m not a kinesiologist but I would think how much force muscles generate depends on the amount and size of the fibers (mass) but also on their contractive efficiency and the amount of energy they can obtain and employ to contract (not necessarily proportional to mass, involves cardiovascular fitness) |
|
|
| |
| ▲ | spondyl an hour ago | parent | prev | next [-] | | > The Greeks and Romans had weightlifting and boxing gyms, but no forklifts. We may not have any evidence that they had forklifts but we also can't rule out the possibility entirely :) | |
| ▲ | thaumasiotes 7 hours ago | parent | prev [-] | | > I think that's a bit of a myth. Why do you think that? It's definitely true. You can observe it today if you want to visit a country where peasants are still common. From Bret Devereaux's recent series on Greek hoplites: > Now traditionally, the zeugitai were regarded as the ‘hoplite class’ and that is sometimes supposed to be the source of their name > but what van Wees is working out is that although the zeugitai are supposed to be the core of the citizen polity (the thetes have limited political participation) there simply cannot be that many of them because the minimum farm necessary to produce 200 medimnoi of grain is going to be around 7.5 ha or roughly 18 acres which is – by peasant standards – an enormous farm, well into ‘rich peasant’ territory. > Of course with such large farms there can’t be all that many zeugitai and indeed there don’t seem to have been. In van Wees’ model, the zeugitai-and-up classes never supply even half of the number of hoplites we see Athens deploy > Instead, under most conditions the majority of hoplites are thetes, pulled from the wealthiest stratum of that class (van Wees figures these fellows probably have farms in the range of ~3 ha or so, so c. 7.5 acres). Those thetes make up the majority of hoplites on the field but do not enjoy the political privileges of the ‘hoplite class.’ > And pushing against the ‘polis-of-rentier-elites’ model, we often also find Greek sources remarking that these fellows, “wiry and sunburnt” (Plato Republic 556cd, trans. van Wees), make the best soldiers because they’re more physically fit and more inured to hardship – because unlike the wealthy hoplites they actually have to work. ( https://acoup.blog/2026/01/09/collections-hoplite-wars-part-... ) --- > Many of the most renowned Romans in the original form of the Olympics and in Boxing were Roman Senators In the original form of the Olympics, a Roman senator would have been ineligible to compete, since the Olympics was open only to Greeks. | | |
| ▲ | tracerbulletx 35 minutes ago | parent | next [-] | | I think he was saying upper classes that didn't do much physical labor have existed since at least classical era and needed to do some kind of physical training to maintain strength? | |
| ▲ | Terr_ an hour ago | parent | prev [-] | | Reaper Man, by Terry Pratchett: > The ability of skinny old ladies to carry huge loads is phenomenal. Studies have shown that an ant can carry one hundred times its own weight, but there is no known limit to the lifting power of the average tiny eighty-year-old Spanish peasant grandmother. |
|
| |
| ▲ | thesz 11 hours ago | parent | prev | next [-] | | Weightlifting and weight training was invented long before forklifts. Even levers were not properly understood back then. My favorite historic example of typical modern hypertrophy-specific training is the training of Milo of Croton [1]. By legend, his father gifted him with the calf and asked daily "what is your calf, how does it do? bring it here to look at him" which Milo did. As calf's weight grew, so did Milo's strength. This is application of external resistance (calf) and progressive overload (growing calf) principles at work. [1] https://en.wikipedia.org/wiki/Milo_of_Croton Milo lived before Archimedes. | | |
| ▲ | aaronbrethorst 10 hours ago | parent | next [-] | | Dad needs to respect that we need rest days. | | |
| ▲ | thesz 7 hours ago | parent [-] | | Bulgarian Method does not have rest days: https://www.mashelite.com/the-bulgarian-method-is-worth-a-lo... Alexander Zass (Iron Samson) also trained each day: https://en.wikipedia.org/wiki/Alexander_Zass "He was taken as a prisoner of war four times, but managed to escape each time. As a prisoner, he pushed and pulled his cell bars as part of strength training, which was cited as an example of the effectiveness of isometrics. At least one of his escapes involved him 'breaking chains and bending bars'." Rest days are overrated. ;) | | |
| ▲ | hxugufjfjf 6 hours ago | parent [-] | | They are until you get injured, burned out or both and stop training all together. | | |
| ▲ | thesz 4 hours ago | parent [-] | | If you do a single set of half of exercises you need to train each day of the week, rotating these halves, you get 3 and a half sets of each exercise per week. Training volume of Bulgarian Method is not much bigger than that of regular training splits like Sheiko or something like that, if bigger at all. What is more frequent is the stimulation of muscles and nervous system paths and BM adapts to that - one does high percentage of one's current max, essentially, one is training with what is available to one's body at the time. Also, ultra long distance runners regenerate cartilages: https://ryortho.com/2015/12/what-ultra-long-distance-runners... Our bodies are amazing. |
|
|
| |
| ▲ | epiccoleman 7 hours ago | parent | prev | next [-] | | > what is your calf, how does it do? ... it's a calf, dad, just like yesterday | |
| ▲ | chairmansteve 9 hours ago | parent | prev | next [-] | | Milo might have had slaves, the forklifts of his time.... | |
| ▲ | gadflyinyoureye 7 hours ago | parent | prev [-] | | I looked up the weight of cows from that era. Only about 400 lbs. Seems doable. |
| |
| ▲ | hennell 10 hours ago | parent | prev [-] | | >if the goal is to build up your own strength
I think you missed this line. If the goal is just to move weights or lift the most - forklift away. If you want to learn to use a forklift, drive on and best of luck. But if you're trying to get stronger the forklift will not help that goal. Like many educational tests the outcome is not the point - doing the work to get there is. If you're asked to code fizz buzz it's not because the teacher needs you to solve fizz buzz for them, it's because you will learn things while you make it. Ai, copying stack overflow, using someone's code from last year, it all solves the problem while missing the purpose of the exercise. You're not learning - and presumably that is your goal. |
| |
| ▲ | jrm4 11 hours ago | parent | prev | next [-] | | I like this analogy along with the idea that "it's not an autonomous robot, it's a mech suit." Here's the thing -- I don't care about "getting stronger." I want to make things, and now I can make bigger things WAY faster because I have a mech suit. edit: and to stretch the analogy, I don't believe much is lost "intellectually" by my use of a mech suit, as long as I observe carefully. Me doing things by hand is probably overrated. | | |
| ▲ | orev 10 hours ago | parent | next [-] | | The point of going to school is to learn all the details of what goes into making things, so when you actually make a thing, you understand how it’s supposed to come together, including important details like correct design that can support the goal, etc. That’s the “getting stronger” part that you can’t skip if you expect to be successful. Only after you’ve done the work and understand the details can you be successful using the power tools to make things. | | |
| ▲ | charcircuit 7 hours ago | parent [-] | | The point of school for me was to get a degree. 99% of the time at school was useless. The internet was a much better learning resources. Even more so now that AI exists. | | |
| ▲ | daotoad 19 minutes ago | parent | next [-] | | For a motivated learner with access to good materials, schools provide two important things besides that very important piece of paper: 1. contacts - these come in the form of peers who are interested in the same things and in the form of experts in their fields of study. Talking to these people and developing relationships will help you learn faster, and teach you how to have professional collegial relationships. These people can open doors for you long after graduation. 2. facilities - ever want to play with an electron microscope or work with dangerous chemicals safely? Different schools have different facilities available for students in different fields. If you want to study nuclear physics, you might want to go to a school with a research reactor; it's not a good idea to build your own. | |
| ▲ | josephg 6 hours ago | parent | prev [-] | | I graduated about 15 years ago. In that time, I’ve formed the opposite opinion. My degree - the piece of paper - has been mostly useless. But the ways of thinking I learned at university have been invaluable. That and the friends I made along the way. I’ve worked with plenty of self taught programmers over the years. Lots of smart people. But there’s always blind spots in how they approach problems. Many fixate on tools and approaches without really seeing how those tools fit into a wider ecosystem. Some just have no idea how to make software reliable. I’m sure this stuff can be learned. But there is a certain kind of deep, slow understanding you just don’t get from watching back-to-back 15 minute YouTube videos on a topic. | | |
| ▲ | abustamam 5 hours ago | parent [-] | | I think it depends on how they were self taught. If they just went through a few tutorials on YouTube and learned how to make a CRUD app using the shiny tool of the week, then sure. (I acknowledge this is a reduction in self-teaching — I myself am self-taught). But if they actually spent time trying to learn architecture and how to build stuff well, either by reading books or via good mentorship on the job, then they can often be better than the folks who went to school. Sometimes even they don't know how to make software reliable. I'm firmly in the middle. Out of the 6 engineers I work with on a daily basis (including my CTO), only one of us has a degree in CS, and he's not the one in an architecture role. I do agree that learning how to think and learn is its own valuable skill set, and many folks learn how to do that in different ways. |
|
|
| |
| ▲ | bccdee 6 hours ago | parent | prev | next [-] | | > Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it? — The Elements of Programming Style, 2nd edition, chapter 2 If you weren't even "clever enough" to write the program yourself (or, more precisely, if you never cultivated a sufficiently deep knowledge of the tools & domain you were working with), how do you expect to fix it when things go wrong? Chatbots can do a lot, but they're ultimately just bots, and they get stuck & give up in ways that professionals cannot afford to. You do still need to develop domain knowledge and "get stronger" to keep pace with your product. Big codebases decay and become difficult to work with very easily. In the hands-off vibe-coded projects I've seen, that rate of decay was extremely accelerated. I think it will prove easy for people to get over their skis with coding agents in the long run. | |
| ▲ | wrs 10 hours ago | parent | prev | next [-] | | OK, it’s a mech suit. The question under discussion is, do you need to learn to walk first, before you climb into it? My life experience has shown me you can’t learn things by “observing”, only by doing. | | |
| ▲ | teeray an hour ago | parent [-] | | Yes, you can learn to walk in the mech suit. Let’s put one leg forward, then the next, good. You are now 100% production ready at walking. Let’s run a load test. You’re running now. Now you’re running into the ocean. “I want to swim now.” You’re absolutely right! You should be swimming. Since we don’t have a full implementation of swimming let me try flailing the arms while increasing leg speed. That doesn’t seem to work. The user is upside down on the ocean floor burrowing themselves into the silt. Task Complete. Summary: the user has learned to walk. |
| |
| ▲ | quinnjh 11 hours ago | parent | prev | next [-] | | This analogy works pretty well. Too much time doing everything in it and your muscles will atrophy. Some edge cases will be better if you jump out and use your hands. | | |
| ▲ | WorldMaker 10 hours ago | parent | next [-] | | There's also plenty of mech tales where the mech pilots need to spend as much time out of the suits making sure their muscles (and/or mental health) are in good strength precisely because the mechs are a "force multiplier" and are only as strong as their pilot. That's a somewhat common thread in such worlds. | | |
| ▲ | ekidd 10 hours ago | parent [-] | | Yes. Also, it's a fairly common trope that if you want to pilot a mech suit, you need to be someone like Tony Stark. He's a tinkerer and an expert. What he does is not a commodity. And when he loses his suit and access to his money? His big plot arc is that he is Iron Man. He built it in a cave out of a box of scraps, etc. There are other fictional variants: the giant mech with the enormous support team, or Heinlein's "mobile infantry." And virtually every variantion on the Heinlein trope has a scene of drop commandos doing extensive pre-drop checks on their armor. The actual reality is it isn't too had for a competent engineer to pair with Claude Code, if they're willing to read the diffs. But if you try to increase the ratio of agents to humans, dealing with their current limitations quickly starts to feel like you need to be Tony Stark. | | |
| ▲ | hedgedoops2 9 hours ago | parent | next [-] | | For me the idea of "people piloting mech suits" brings up lost kids, like Shinji from nge. | | |
| ▲ | bitwize 3 hours ago | parent [-] | | Funny, because I was thinking of Evangelion's predecessor, Gunbuster, in which cadets are shown undergoing grueling physical training both in and out of their mechs to prepare for space combat. |
| |
| ▲ | bitwize 10 hours ago | parent | prev [-] | | You don't need to be Tony Stark. But, "if you're nothing without the suit then you don't deserve it." |
|
| |
| ▲ | specproc 10 hours ago | parent | prev [-] | | I like the electric bike as a metaphor. You can go further faster, but you quickly find yourself miles from home and out of juice, and you ain't in shape enough to get that heavy bugger back. | | |
| ▲ | fragmede 10 hours ago | parent [-] | | As long as we're beating the metaphor... so don't do that? Make sure you charge the battery and that it has enough range to get you home, and bring the charger with you. Or in the LLMs case, make sure it's not generating a ball of mud (code). Refactor often, into discrete classes, and distinct areas of functionality, so that you're never miles from home and out of juice. | | |
|
| |
| ▲ | ljm 6 hours ago | parent | prev | next [-] | | If all I know is the mech suit, I’ll struggle with tasks that I can’t use it for. Maybe even get stuck completely. Now it’s a skill issue because I never got my 10k hours in and I don’t even know what to observe or how to explain the outcome I want. In true HN fashion of trading analogies, it’s like starting out full powered in a game and then having it all taken away after the tutorial. You get full powered again at the end but not after being challenged along the way. This makes the mech suit attractive to newcomers and non-programmers, but only because they see product in massively simplified terms. Because they don’t know what they don’t know. | |
| ▲ | storystarling 6 hours ago | parent | prev | next [-] | | The mech suit works well until you need to maintain stateful systems. I've found that while initial output is faster, the AI tends to introduce subtle concurrency bugs between Redis and Postgres that are a nightmare to debug later. You get the speed up front but end up paying for it with a fragile architecture. | |
| ▲ | xnx 8 hours ago | parent | prev | next [-] | | > "it's not an autonomous robot, it's a mech suit." Or "An [electric] bicycle for the mind." Steve Jobs/simonw | |
| ▲ | bitwize 10 hours ago | parent | prev | next [-] | | No, it's not a mech suit. A mech suit doesn't fire its canister rifle at friendly units and then say "You're absolutely right! I should have done an IFF before attacking that unit." (And if it did the engineer responsible should be drawn and quartered.) Mech-suit programming AI would look like something that reads your brainwaves and transduces them into text, letting you think your code into the machine. I'd totally use that if I had it. | | |
| ▲ | jrm4 3 hours ago | parent [-] | | Oh, it's a mech suit with an annoying Jarvis personality that you have to reason with, for sure :) |
| |
| ▲ | PKop 11 hours ago | parent | prev [-] | | > I want to make things You need to be strong to do so. Things of any quality or value at least. |
| |
| ▲ | arghwhat 12 hours ago | parent | prev | next [-] | | I do appreciate the visual of driving a forklift into the gym. The activity would train something, but it sure wouldn't be your ability to lift. | | |
| ▲ | Lerc 9 hours ago | parent [-] | | A version of this does happen with regard to fitness. There are enthusiasts who will spend an absolute fortune to get a bike that is few grams lighter and then use it to ride up hills for the exercise. Presumably a much cheaper bike would mean you could use a smaller hill for the same effect. | | |
| ▲ | arghwhat 8 hours ago | parent [-] | | From an exercise standpoint, sure, but with sports there is more to it than just maximizing exercise. If you practice judo you're definitely exercising but the goal is defeating your opponent. When biking or running you're definitely exercising but the goal is going faster or further. From an an exercise optimization perspective you should be sitting on a spinner with a customized profile, or maybe do some entirely different motion. If sitting on a carbon fiber bike, shaving off half a second off your multi-hour time, is what brings you joy and motivation then I say screw it to further justification. You do you. Just be mindful of others, as the path you ride isn't your property. |
|
| |
| ▲ | treetalker 11 hours ago | parent | prev | next [-] | | Misusing a forklift might injure the driver and a few others; but it is unlikely to bring down an entire electric grid, expose millions to fraud and theft, put innocent people in prison, or jeopardize the institutions of government. There is more than one kind of leverage at play here. | | |
| ▲ | pjc50 11 hours ago | parent | next [-] | | > Misusing a forklift might injure the driver and a few others; but it is unlikely to bring down an entire electric grid That's the job of the backhoe. (this is a joke about how diggers have caused quite a lot of local internet outages by hitting cables, sometimes supposedly "redundant" cables that were routed in the same conduit. Hitting power infrastructure is rare but does happen) | | |
| ▲ | _whiteCaps_ 10 hours ago | parent [-] | | At my last job we had the power taken out by a backhoe. It was loaded onto a trailer and either the operator forgot to lower the bucket, or the driver drove away before he had time to lower it. Regardless of whose fault it was, the end result was the bucket snagged the power lines going into the datacentre and caused an outage. |
| |
| ▲ | yetihehe 10 hours ago | parent | prev [-] | | > but it is unlikely to bring down an entire electric grid Unless you happen to drive a forklift in a power plant. > expose millions to fraud and theft You can if you drive forklift in a bank. > put innocent people in prison You can use forklift to put several innocent people in prison with one trip, they have pretty high capacity. > jeopardize the institutions of government. It's pretty easy with a forklift, just try driving through main gate. > There is more than one kind of leverage at play here. Forklifts typically have several axes of travel. | | |
| |
| ▲ | kwikiel 3 hours ago | parent | prev | next [-] | | Wondering why the obvious solution isn’t applied here - instead of giving already well known problems that have been solved thousand times give students open research opportunities- stuff which is on the edge of being possible, no way to cheat with Ai. And if Ai is able to solve those - give harder tasks | | |
| ▲ | imadethis 3 hours ago | parent [-] | | The same reason we give beginner math students addition and subtraction problems, not Fermat’s last theorem? There has to be a base of knowledge available before the student can even comprehend many/most open research questions, let alone begin to solve them. And if they were understandable to a beginner, then I’d posit the LLM models available today would also be capable of doing meaningful work. |
| |
| ▲ | boilerupnc 10 hours ago | parent | prev | next [-] | | I feel like the aviation pilot angst captured by "automation dependency" and the fears around skills loss is another great analogy. [0] [0] https://eazypilot.com/blog/automation-dependency-blessing-or... | |
| ▲ | hyperpape 11 hours ago | parent | prev | next [-] | | How seriously do you mean the analogy? I think forklifts probably carry more weight over longer distances than people do (though I could be wrong, 8 billion humans carrying small weights might add up). Certainly forklifts have more weight * distance when you restrict to objects that are over 100 pounds, and that seems like a good decision. | | |
| ▲ | burkaman 11 hours ago | parent | next [-] | | I think it's a good analogy. A forklift is a useful tool and objectively better than humans for some tasks, but if you've never developed your muscles because you use the forklift every time you go to the gym, then when you need to carry a couch up the stairs you'll find that you can't do it and the forklift can't either. So the idea is that you should learn to do things by hand first, and then use the powerful tools once you're knowledgeable enough to know when they make sense. If you start out with the powerful tools, then you'll never learn enough to take over when they fail. | | |
| ▲ | bluGill 11 hours ago | parent | next [-] | | A forklift can do things no human can. I've used a forklift for things that no group of humans could - you can't physically get enough humans around that size object to lift it. (of course levers would change this) | |
| ▲ | AlexandrB 8 hours ago | parent | prev [-] | | Yeah, it's a great analogy. Pushing it even further: a forklift is superhuman, but only in specific environments that are designed for it. As soon as you're off of pavement a forklift can't do much. As soon as an object doesn't have somewhere to stick the forks you need to get a bunch of other equipment to get the forklift to lift it. |
| |
| ▲ | _flux 11 hours ago | parent | prev | next [-] | | You're making the analogy work: because the point of weightlifting as a sport or exercise is to not to actually move the weights, but condition your body such that it can move the weights. Indeed, usually after doing weightlifting, you return the weights to the place where you originally took them from, so I suppose that means you did no work at in the first place.. | | |
| ▲ | TeMPOraL 11 hours ago | parent [-] | | That's true of exercise in general. It's bullshit make-work we do to stay fit, because we've decoupled individual survival from hard physical labor, so it doesn't happen "by itself" anymore. A blessing and a curse. |
| |
| ▲ | antod 4 hours ago | parent | prev [-] | | I feel we are on the cusp of a new era... Civil Engineering bridge analogies about to be replaced by forklift analogies. |
| |
| ▲ | MyHonestOpinon 4 hours ago | parent | prev | next [-] | | Thanks for the analogy. But I think students may think to themselves:"Why do I need to be stronger if I can use a forklift?" | | |
| ▲ | MarsIronPI 2 hours ago | parent | next [-] | | Hey, I guess that means there's less competition for me. I don't mind. | |
| ▲ | fragmede an hour ago | parent | prev [-] | | Same reason to still memorize basic math in the time of calculators. gotta learn the fundamentals and you're not always going to have one. |
| |
| ▲ | _heimdall 11 hours ago | parent | prev | next [-] | | The real challenge will be that people almost always pick the easier path. We have a decent sized piece of land and raise some animals. People think we're crazy for not having a tractor, but at the end of the day I would rather do it the hard way and stay in shape while also keeping a bit of a cap on how much I can change or tear up around here. | |
| ▲ | ModernMech 6 hours ago | parent | prev | next [-] | | I've been showing my students this video of a robot lifting weights to illustrate why they shouldn't use AI to do their homework. It's obvious to them the robot lifting weights won't make them stronger. https://www.youtube.com/watch?v=Be7WBGMo3Iw | |
| ▲ | wklm 10 hours ago | parent | prev | next [-] | | I like the weightlifting parable! | |
| ▲ | stackedinserter 11 hours ago | parent | prev [-] | | Unlike weightlifting, the main goal of our jobs is not to lift heavy things, but develop a product that adds value to its users. Unfortunately, many sdevs don't understand it. | | |
| ▲ | burkaman 11 hours ago | parent [-] | | Yes but the goal of school is to lift heavy things, basically. You're trying to do things that are difficult (for you) but don't produce anything useful for anyone else. That's how you gain the ability to do useful things. | | |
| ▲ | bluGill 11 hours ago | parent | next [-] | | Even after school, you need to lift weights once in a while or you lose your ability. I wouldn't want to write raw bytes like Mel did though. Eventually some things are not worth getting good at. | | |
| ▲ | stackedinserter 11 hours ago | parent [-] | | Let's just accept that this weight lifting metaphor is leaky, like any other, and brings us to absurds like forklift operators need to lift dumbbells to keep relevant in their jobs. | | |
| ▲ | bluGill 10 hours ago | parent [-] | | Forklift operators need to do something to exercise. They sit in the seat all day. At least as a programmer I have a standing desk. This isn't relevant to the job though. | | |
| ▲ | MarsIronPI 2 hours ago | parent [-] | | > At least as a programmer I have a standing desk. When I stand still for hours at a time, I end up with aching knees, even though I'd have no problem walking for that same amount of time. Do you experience anything like that? |
|
|
| |
| ▲ | stackedinserter 11 hours ago | parent | prev [-] | | I kinda get the point, but why is that? The goal of school is to teach something that's applicable in industry or academia. Forklift operators don't lift things in their training. Even CS students start with pretty high level of abstraction, very few start from x86 asm instructions. We need to make them implement ALU's on logical gates and wires if we want them to lift heavy things. | | |
| ▲ | lostdog 11 hours ago | parent [-] | | We begin teaching math by having students solve problems that are trivial for a calculator. Though I also wonder what advanced CS classes should look like. If they agent can code nearly anything, what project would challenge student+agent and teach the student how to accomplish CS fundamentals with modern tools. | | |
| ▲ | burkaman 9 hours ago | parent [-] | | In one of my college classes, after you submitted your project you'd have a short meeting with a TA and/or the professor to talk through your solution. For a smaller advanced class I think this kind of thing is feasible and can help prevent blind copy/pasting. If you wrote your code with an LLM but you're still able to have a knowledgeable conversation about it, then great, that's what you're going to do in the real world too. If you can't answer any questions about it and it seems like you don't understand your own code, then you don't get a good grade even if it works. As an added bonus, being able to discuss your code with another engineer that wasn't involved in writing it is an important skill that might not otherwise be trained in college. |
|
|
|
|
|
|
| ▲ | goostavos 10 hours ago | parent | prev | next [-] |
| I had my first interview last week where I finally saw this in the wild. It was a student applying for an internship. It was the strangest interview. They had excellent textbook knowledge. They could tell you the space and time complexities of any data structure, but they couldn't explain anything about code they'd written or how it worked. After many painful and confusing minutes of trying to get them to explain, like, literally anything about how this thing on their resume worked, they finally shrugged and said that "GenAI did most of it." It was a bizarre disconnect having someone be both highly educated and yet crippled by not doing. |
| |
| ▲ | stahorn 9 hours ago | parent | next [-] | | Sounds a little bit like the stories from Feynman, e.g.:
https://enlightenedidiot.net/random/feynman-on-brazilian-edu... The students had memorized everything, but understood nothing. Add in access to generative AI, and you have the situation that you had with your interview. It's a good reminder that what we really do, as programmers or software engineers or what you wanna call it, is understanding how computers and computations work. | |
| ▲ | yomismoaqui 9 hours ago | parent | prev | next [-] | | This the kind of interaction that makes be think that there are only 2 possible futures: Star Trek or Idiocracy. | | |
| ▲ | steve_adams_86 9 hours ago | parent | next [-] | | Hmmm, I think we're more likely to face an Idiocracy outcome. We need more Geordi La Forges out there, but we've got a lot of Fritos out here vibe coding the next Carl's Jr. locating app instead | |
| ▲ | antonvs 9 hours ago | parent | prev [-] | | Star Trek illustrated the issue nicely in the scene where Scotty, who we should remember is an engineer, tries to talk to a computer mouse in the 20th century: https://www.youtube.com/watch?v=hShY6xZWVGE | | |
| ▲ | MarsIronPI 2 hours ago | parent [-] | | Except that falls apart 2 seconds later when Scotty shocks the 20th-century engineers by being blazing fast with a keyboard. |
|
| |
| ▲ | drob518 10 hours ago | parent | prev | next [-] | | Lots of theory but no practice. | | |
| ▲ | sally_glance 10 hours ago | parent [-] | | More like using a calculator but not being able to explain how to do the calculation by hand. A probabilistic calculator which is sometimes wrong at that. The "lots of theory but no practice" has always been true for a majority of graduates in my experience. | | |
| ▲ | drob518 6 hours ago | parent [-] | | Surely, new grads are light on experience (particularly relevant experience), but they should have student projects and whatnot that they should be able to explain, particularly for coding. Hardware projects are more rare simply because they cost money for parts and schools have limited budgets, but software has far fewer demands. |
|
| |
| ▲ | vonneumannstan 9 hours ago | parent | prev [-] | | This is exactly the end state of hiring via Leetcode. |
|
|
| ▲ | fn-mote 7 minutes ago | parent | prev | next [-] |
| The problem is: now they also need to learn to code with an LLM assistant. That goes beyond "coding it by yourself". Well, it's different, anyway. Another skill to teach. |
|
| ▲ | jillesvangurp 12 hours ago | parent | prev | next [-] |
| What you as a teacher teach might have to adapt a bit. Teaching how code works is more important than teaching how to code. Most academic computer scientists aren't necessarily very skilled as programmers in any case. At least, I learned most of that after I stopped being an academic myself (Ph. D. and all). This is OK. Learning to program is more of a side effect of studying computer science than it is a core goal (this is not always clearly understood). A good analogy here is programming in assembler. Manually crafting programs at the machine code level was very common when I got my first computer in the 1980s. Especially for games. By the late 90s that had mostly disappeared. Games like Roller Coaster Tycoon were one of the last ones with huge commercial success that were coded like that. C/C++ took over and these days most game studios license an engine and then do a lot of work with languages like C# or LUA. I never did any meaningful amount of assembler programming. It was mostly no longer a relevant skill by the time I studied computer science (94-99). I built an interpreter for an imaginary CPU at some point using a functional programming language in my second year. Our compiler course was taught by people like Eric Meyer (later worked on things like F# at MS) who just saw that as a great excuse to teach people functional programming instead. In hindsight, that was actually a good skill to have as functional programming interest heated up a lot about 10 years later. The point of this analogy: compilers are important tools. It's more important to understand how they work than it is to be able to build one in assembler. You'll probably never do that. Most people never work on compilers. Nor do they build their own operating systems, databases, etc. But it helps to understand how they work. The point of teaching how compilers work is understanding how programming languages are created and what their limitations are. |
| |
| ▲ | throw10920 10 hours ago | parent | next [-] | | > Teaching how code works is more important than teaching how to code. People learn by doing. There's a reason that "do the textbook problems" is somewhat of a meme in the math and science fields - because that's the way that you learn those things. I've met someone who said that when he get a textbook, he starts by only doing the problems, and skipping the chapter content entirely. Only when he has significant trouble with the problems (i.e. he's stuck on a single one for several hours) does he read the chapter text. He's one of the smartest people I know. This is because you learn by doing the problems. In the software field, that means coding. Telling yourself that you could code up a solution is very different than actually being able to write the code. And writing the code is how you build fluency and understanding as to how computers actually work. > I never did any meaningful amount of assembler programming. It was mostly no longer a relevant skill by the time I studied computer science (94-99). I built an interpreter for an imaginary CPU at some point using a functional programming language in my second year. Same thing for assembly. Note that you built an interpreter for an imaginary CPU - not a real one, as that would have been a much harder challenge given that you didn't do any meaningful amount of assembly program and didn't understand low-level computer hardware very well. Obviously, this isn't to say that information about how a system works can't be learned without practice - just that that's substantially harder and takes much more time (probably 3-10x), and I can guarantee you that those doing vibecoding are not putting in that extra time. | |
| ▲ | techblueberry 12 hours ago | parent | prev | next [-] | | > The point of this analogy: compilers are important tools. It's more important to understand how they work than it is to be able to build one in assembler. You'll probably never do that. Most people never work on compilers. Nor do they build their own operating systems, databases, etc. But it helps to understand how they work. The point of teaching how compilers work is understanding how programming languages are created and what their limitations are. I don't know that it's all these things at once, but most people I know that are good have done a bunch of spikes / side projects that go a level lower than they have to. Intense curiosity is good, and to the point your making, most people don't really learn this stuff just by reading or doing flash cards. If you want to really learn how a compiler works, you probably do have to write a compiler. Not a full-on production ready compiler, but hands on keyboard typing and interacting with and troubleshooting code. Or maybe to put another way, it's probably the "easiest" way, even though it's the "hardest" way. Or maybe it's the only way. Everything I know how to do well, I know how to do well from practice and repitition. | |
| ▲ | DHPersonal 12 hours ago | parent | prev | next [-] | | I only learn when I do things, not when I hear how they work. I think the teacher has the right idea. | | |
| ▲ | H1Supreme 9 hours ago | parent | next [-] | | A million percent! I was so bad at Math in school. Which I primarily blame on the arbitrary way in which we were taught it. It wasn't until I was able to apply it to solving actual problems that it clicked. | |
| ▲ | moritzruth 11 hours ago | parent | prev [-] | | Yes, I do too, but the point they were trying to make is that "learning how to write code" is not the point of CS education, but only a side effect. | | |
| ▲ | thfuran 11 hours ago | parent [-] | | A huge portion of the students in CS do intend the study precisely for writing code and the CS itself is more of a side effect. | | |
| ▲ | Attrecomet 10 hours ago | parent [-] | | Which is a pretty big failure of somewhere in the education pipeline -- don't expect a science program to do what a trade is there for! (to be clear, I'm not trying to say the students are wrong in choosing CS in order to get a good coding job, but somewhere, expectations and reality are misaligned here. Perhaps with companies trying to outsource their training to universities while complaining that the training isn't spot-on for what they need?) |
|
|
| |
| ▲ | QuadmasterXLII 11 hours ago | parent | prev | next [-] | | When I did a CS major, there was a semester of C, a semester of assembly, a semester of building a verilog CPU, etc. I’d be shocked if an optimal CS education involved vibecoding these courses to any significant | |
| ▲ | vidarh 10 hours ago | parent | prev | next [-] | | > A good analogy here is programming in assembler. Manually crafting programs at the machine code level was very common when I got my first computer in the 1980s. Especially for games. By the late 90s that had mostly disappeared. Indeed, a lot of us looked with suspicion and disdain at people that used those primitive compilers that generated awful, slow code. I once spent ages hand-optimizing a component that had been written in C, and took great pleasure in the fact I could delete about every other line of disassembly... When I wrote my first compiler a couple of years later, it was in assembler at first, and supported inline assembler so I could gradually convert to bootstrap it that way. Because I couldn't imagine writing it in C, given the awful code the C compilers I had available generated (and how slow they were)... These days most programmers don't know assembler, and increasingly don't know languaes as low level as C either. And the world didn't fall apart. People will complain that it is necessary for them to know the languages that will slowly be eaten away by LLMs, just like my generation argued it was absolutely necessary to know assembler if you wanted to be able to develop anything of substance. I agree with you people should understand how things work, though, even if they don't know it well enough to build it from scratch. | | |
| ▲ | user____name 8 hours ago | parent [-] | | > These days most programmers
don't know assembler,
and increasingly don't know languaes as low level as C either. And the world didn't fall apart. Maybe the world didn't fall apart, but user interactions on a desktop pc feel slower than ever. So perhaps they should. |
| |
| ▲ | jandrewrogers 9 hours ago | parent | prev [-] | | While I may not write assembler, there is still significant value in being able to read assembler e.g. godbolt. |
|
|
| ▲ | danmaz74 10 hours ago | parent | prev | next [-] |
| When learning basic math, you shouldn't use a calculator, because otherwise you aren't really understanding how it works. Later, when learning advanced math, you can use calculators, because you're focusing on a different abstraction level. I see the two situations as very similar. |
| |
| ▲ | olliepro an hour ago | parent [-] | | What abstraction levels do you expect will remain only in the Human domain? The progression from basic arithmetic, to complex ratios and basic algebra, graphing, geometry, trig, calculus, linear algebra, differential equations… all along the way, there are calculators that can help students (wolfram alpha basically). When they get to theory, proofs, etc… historically, thats where the calculator ended, but now there’s LLMs… it feels like the levels of abstractions without a “calculator” are running out. The compiler was the “calculator” abstraction of programming, and it seems like the high-level languages now have LLMs to convert NLP to code as a sort of compiler. Especially with the explicitly stated goal of LLM companies to create the “software singularity”, I’d be interested to hear the rationale for abstractions in CS which will remain off limits to LLMs. |
|
|
| ▲ | leros 6 hours ago | parent | prev | next [-] |
| I see junior devs hyping vibe coding and senior devs mostly using AI as an assistant. I fall in the latter camp myself. I've hired and trained tons of junior devs out of university. They become 20x productive after a year of experience. I think vibe coding is getting new devs to 5x productivity, which seems amazing, but then they get stuck there because they're not learning. So after year one, they're a 5x developer, not a 20x developer like they should be. I have some young friends who are 1-3 years into software careers I'm surprised by how little they know. |
| |
| ▲ | saturnite 6 hours ago | parent [-] | | If I find myself writing code in a way that has me saying to myself "there has to be a better way," there usually is. That's when I could present AI with that little bit of what I want to write. What I've found to be important is to describe what I want in natural language. That's when AI might introduce me to a better way of doing things. At that point, I stop and learn all that I can about what the AI showed me. I look it up in books and trusted online tutorials to make sure it is the proper way to do it. |
|
|
| ▲ | WalterBright 11 hours ago | parent | prev | next [-] |
| I remember reading about a metal shop class, where the instructor started out by giving each student a block of metal, and a file. The student had to file an end wrench out of the block. Upon successful completion, then the student would move on to learning about the machine tools. The idea was to develop a feel for cutting metal, and to better understand what the machine tools were doing. -- My wood shop teacher taught me how to use a hand plane. I could shave off wood with it that was so thin it was transparent. I could then join two boards together with a barely perceptible crack between them. The jointer couldn't do it that well. |
| |
| ▲ | WalterBright 10 hours ago | parent | next [-] | | Also, in college, I'd follow the derivation that the prof did on the chalkboard, and think I understood it. Then, doing the homework, I'd realize I didn't understand it at all. Doing the homework myself was where the real learning occurred. | | |
| ▲ | MarsIronPI 2 hours ago | parent [-] | | I guess there's a reason why you don't spend most of your time at school in class with a professor. |
| |
| ▲ | ungreased0675 6 hours ago | parent | prev | next [-] | | This concept can be taken to ridiculous extremes, where learning the actual useful skill takes too long for most participants to get to. For example, the shop class teacher taking his students out into the wilderness to prospect for ore, then building their own smelter, then making their own alloy, then forging billet, etc. | |
| ▲ | darknavi 11 hours ago | parent | prev [-] | | In middle school (I think) we spent a few days in math class hand-calculating trigonometry values (cosine, sin, etc.). Only after we did that did our teacher tell us that the mandated calculators that we all have used for the last few months have a magic button that will "solve" for the values for you. It definitely made me appreciate the calculator more! |
|
|
| ▲ | daxfohl 6 hours ago | parent | prev | next [-] |
| Not only that, it's constitution. I'm finding this with myself. After vibe coding for a month or so I let my subscription expire. Now when I look at the code it's like "ugh you mean now I have to think about this with my own brain???" Even while vibe-coding, I often found myself getting annoyed just having to explain things. The amount of patience I have for anything that doesn't "just work" the first time has drifted toward zero. If I can't get AI to do the right thing after three tries, "welp, I guess this project isn't getting finished!" It's not just laziness, it's like AI eats away at your pride of ownership. You start a project all hyped about making it great, but after a few cycles of AI doing the work, it's easy to get sucked into, "whatever, just make it work". Or better yet, "pretend to make it work, so I can go do something else." |
|
| ▲ | Isamu 10 hours ago | parent | prev | next [-] |
| Same with essay assignments, you exercise different neural pathways by doing it yourself. Recently in comments people were claiming that working with LLMs has sharpened their ability to organize thoughts, and that could be a real effect that would be interesting to study. It could be that watching an LLM organize a topic could provide a useful example of how to approach organizing your own thoughts. But until you do it unassisted you haven’t learned how to do it. |
| |
| ▲ | nonethewiser 10 hours ago | parent [-] | | The natural solution is right there in front of us but we hate to admit it because it still involves LLMs and changes on the teaching side. Just raise the bar until they struggle. |
|
|
| ▲ | GoatInGrey 8 hours ago | parent | prev | next [-] |
| "Why think when AI do trick?" is an extremely alluring hole to jump headfirst into. Life is stressful, we're short on time, and we have obligations screaming in our ear like a crying baby. It seems appropriate to slip the ring of power onto your finger to deal with the immediate situation. Once you've put it on once, there is less mental friction to putting it on the next time. Over time, gently, overuse leads to the wearer cognitively deteriorating into a Gollum. |
| |
| ▲ | ash_091 8 hours ago | parent [-] | | > "Why think when AI do trick?" > grug once again catch grug slowly reaching for club, but grug stay calm |
|
|
| ▲ | sltr 10 hours ago | parent | prev | next [-] |
| LLMs are not bicycles for the mind. They are more like E-bikes. More assist makes you go faster, but provides less exercise. https://www.slater.dev/2025/08/llms-are-not-bicycles-for-the... |
|
| ▲ | pmarreck 10 hours ago | parent | prev | next [-] |
| I haven't done long division in decades, am probably unable to do it anymore, and yet it has never held me back in any tangible fashion (and won't unless computers and calculators stop existing) |
| |
| ▲ | Archer6621 10 hours ago | parent | next [-] | | That makes sense. Some skills just have more utility than others. There are skills that are universally relevant (e.g. general problem solving), and then there are skills that are only relevant in a specific time period or a specific context. With how rapidly the world has been changing lately, it has become difficult to estimate which of those more specific skills will remain relevant for how long. | |
| ▲ | tudelo 10 hours ago | parent | prev [-] | | I am rather positive that if you were sat down in a room and couldn't leave unless you did some mildly complicated long division, you would succeed. Just because it isn't a natural thing anymore and you have not done the drills in decades doesn't mean the knowledge is completely lost. | | |
| ▲ | pmarreck 9 hours ago | parent [-] | | If you are concerned that embedding "from first-principles" reasoning in widely-available LLM's may create future generations that cannot, then I share your concern. I also think it may be overrated. Plenty of people "do division" without quite understanding how it all works (unfortunately). And plenty of people will still come along who love to code despite AI's excelling at it. In fact, calling out the AI on bad design or errors seems to be the new "code golf". |
|
|
|
| ▲ | criddell 11 hours ago | parent | prev | next [-] |
| They don't always do the simple things well which is even more frustrating. I do Windows development and GDI stuff still confuses me. I'm talking about memory DC, compatible DC, DIB, DDB, DIBSECTION, bitblt, setdibits, etc... AIs also suck at this stuff. I'll ask for help with a relatively straightforward task and it almost always produces code that when you ask it to defend the choices it made, it finds problems, apologizes, and goes in circles. One AI (I forget which) actually told me I should refer to Petzold's Windows Programming book because it was unable to help me further. |
| |
| ▲ | stavros 10 hours ago | parent [-] | | I'd prefer it to tell me it can't help me rather than write random code that I then have to spend time debugging. |
|
|
| ▲ | syphia 3 hours ago | parent | prev | next [-] |
| Agreed. I think the divide is between code-as-thinking and code-as-implementation. Trivial assignments and toy projects and geeking out over implementation details are necessary to learn what code is, and what can be done with it. Otherwise your ideas are too vague to guide AI to an implementation. Without the clarity that comes from thinking with code, a programmer using AI is the blind leading the blind. The social aspect of a dialogue is relaxing, but very little improvement is happening. It's like a study group where one (relatively) incompetent student tries to advise another, and then test day comes and they're outperformed by the weirdo that worked alone. |
|
| ▲ | nso 11 hours ago | parent | prev | next [-] |
| I agree 100%. But as someone with 25 years of development experience, holy crap it's nice not having to do the boring parts as much anymore. |
|
| ▲ | xnx 2 hours ago | parent | prev | next [-] |
| > You CAN'T let the machines write the code People said this about compilers. It depends what layer you care to learn/focus on. AI at least gives us the option to move up another level. |
|
| ▲ | nonethewiser 10 hours ago | parent | prev | next [-] |
| But what has changed? Students never had a natural reason to learn how to write fizz buzz. It's been done before and its not even useful. There has always been a arbitrary nature to these exercises. I actually fear more for the middle-of-career dev who has shunned AI as worthless. It's easier than ever for juniors to learn and be productive. |
|
| ▲ | robmccoll 11 hours ago | parent | prev | next [-] |
| Yes! You are best served by learning what a tool is doing for you by doing it yourself or carefully studying what it uses and obfuscates from you before using the tool. You don't need to construct an entire functioning processor in an HDL, but understanding the basics of digital logic and computer architecture matters if you're EE/CompE. You don't have to write an OS in asm, but understanding assembly and how it gets translated into binary and understanding the basics of resource management, IPC, file systems, etc. is essential if you will ever work in something lower level. If you're a CS major, algorithms and data structures are essential. If you're just learning front end development on your own or in a boot camp, you need to learn HTML and the DOM, events, how CSS works, and some of the core concepts of JS, not just React. You'll be better for it when the tools fail you or a new tool comes along. |
| |
|
| ▲ | ray_v 10 hours ago | parent | prev | next [-] |
| Lots of interesting ways to spin this. I was in a computer science course in the late 90s and we were not allowed to use the C++ standard library because it made you a "lazy programmer" according to the instructor. I'm not sure if I agree with that, but the way that I look at it is that computer science all about abstraction, and it seems to me that AI, generative pair programming, vibe coding or what ever you want to call it is just another level of abstraction. I think what is probably more important is to learn what are and are not good programming and project structures and use AI to abstract the boilerplate,. scaffolding, etc so that you can avoid foot guns early on in your development cycle. |
| |
| ▲ | GoatInGrey 8 hours ago | parent | next [-] | | The counterargument here is that there is a distinction between an arbitrary line in the sand (C++ stdlb is bad) and using a text-generating machine to perform work for you, beginning to end. You are correct that as a responsibly used tool, LLMs offer exceptional utility and value. Though keep in sight the laziness of humans who focus on the immediate end result over the long-term consequences. It's the difference between the employee who copy-pastes all of their email bodies from ChatGPT versus the one who writes a full draft themselves and then asks an LLM for constructive feedback. One develops skills while the other atrophies. | | |
| ▲ | amunozo 7 hours ago | parent [-] | | That's why it's so important to teach how to use them properly instead of demonizing them. Let's be realistic, they are not going to disappear and students and workers are not stopping using them. |
| |
| ▲ | bluGill 10 hours ago | parent | prev [-] | | When in school the point is often to learn how to write complex code by writing things the standard library does. Though also in the 90's the standard library was new and often had bugs |
|
|
| ▲ | acessoproibido 10 hours ago | parent | prev | next [-] |
| I'm not so sure.
I spent A LOT of time writing sorting algo code by hand in university.
I spent so much time writing assembly code by hand.
So much more time writing instructions for MIPS by hand.
(To be fair I did study EE not CS) I learned more about programming in a weekend badly copying hack modules for Minecraft than I learned in 5+ years in university. All that stuff I did by hand back then I haven't used it a single time after. |
| |
| ▲ | brightball 10 hours ago | parent | next [-] | | I would interpret his take a little bit differently. You write sorting algorithms in college to understand how they work. Understand why they are faster because it teaches you a mental model for data traversal strategies. In the real world, you will use pre-written versions of those algorithms in any language but you understand them enough to know what to select in a given situation based on the type of data. This especially comes into play when creating indexes for databases. What I take the OPs statement to mean are around "meta" items revolved more around learning abstractions. You write certain patterns by hand enough times, you will see the overlap and opportunity to refactor or create an abstraction that can be used more effectively in your codebase. If you vibe code all of that stuff, you don't feel the repetition as much. You don't work through the abstractions and object relationships yourself to see the opportunity to understand why and how it could be improved. | |
| ▲ | phailhaus 10 hours ago | parent | prev [-] | | You didn't write sorting code or assembly code because you were going to need to write it on the job. It gave you a grounding for how datastructures and computers work on a fundamental level. That intuition is what makes picking up minecraft hack mods much easier. | | |
| ▲ | acessoproibido 10 hours ago | parent [-] | | That's the koolaid, but seriously I don't really believe it anymore. I only had to do this leg work during university to prove that I can be allowed to try and write code for a living.
The grounding as you call it is not required for that at all,since im a dozen levels of abstraction removed from it.
It might be useful if I was a researcher or would work on optimizing complex cutting edge stuff, but 99% of what I do is CRUD apps and REST Apis. That stuff can safely be done by anyone, no need for a degree.
Tbf I'm from Germany so in other places they might allow you to do this job without a degree | | |
| ▲ | phailhaus 4 hours ago | parent [-] | | But nobody go to college specifically training to do CRUD apps. The point is to give you broad training so that you can do CRUD apps and other stuff too. It is a very bad idea to give extremely specific training at scale, because then you get a workforce that has difficulty adapting to changes. It's like trying to manage a planned economy: there is no point in trying to predict exactly what jobs you will get, so let's make sure you can handle whatever's thrown at you. |
|
|
|
|
| ▲ | JimmaDaRustla 6 hours ago | parent | prev | next [-] |
| It doesn't PREVENT them from learning anything - said properly, it lets developers become lazy and miss important learning opportunities. That's not AIs fault. |
|
| ▲ | 11 hours ago | parent | prev | next [-] |
| [deleted] |
|
| ▲ | byronic 8 hours ago | parent | prev | next [-] |
| I was so lucky to land in a CS class where we were writing C++ by hand. I don't think that exists anymore, but it is where I would go in terms of teaching CS from first principles |
|
| ▲ | mellosouls 10 hours ago | parent | prev | next [-] |
| Sure (knowing the underlying ideas and having proficiency in their application) - but producing software by conducting(?) LLMs is rapidly becoming a wide, deep and must-have skill and the lack thereof will be a weakness in any student entering the workplace. |
|
| ▲ | andrewflnr 10 hours ago | parent | prev | next [-] |
| Similarly, it's always been the case that copy-pasting code out of a tutorial doesn't teach you as much much as manually typing it out, even if you don't change it. That part of the problem isn't even new. |
|
| ▲ | FloorEgg 10 hours ago | parent | prev | next [-] |
| AI does have an incredibly powerful influence on learning. It can absolutely be used as a detriment, but it can also be just as powerful of a learning tool. It all comes down to keeping the student in the zone of proximal development. If AI is used by the student to get the task done as fast as possible the student will miss out on all the learning (too easy). If no AI is used at all, students can get stuck for long periods of time on either due to mismatches between instructional design and the specific learning context (missing prereq) or by mistakes in instructional design. AI has the potential to keep all learners within an ideal difficulty for optimal rate of learning so that students learn faster. We just shouldn't be using AI tools for productivity in the learning context, and we need more AI tools designed for optimizing learning ramps. |
|
| ▲ | m463 4 hours ago | parent | prev | next [-] |
| I just think it's like hitting the snooze button. |
|
| ▲ | victorbjorklund 8 hours ago | parent | prev | next [-] |
| Yea, I doubt I could learn to program today if I started today. |
|
| ▲ | acbart 3 hours ago | parent | prev | next [-] |
| Yes, exactly. I'm having a frustrating time reminding senior teachers of this, people with authority who should really know better. There seems to be some delusion that this technology will somehow change how people learn in a fundamental way. |
|
| ▲ | bstar77 7 hours ago | parent | prev | next [-] |
| Completely disagree. It’s like telling typists that they need to hand write to truly understand their craft. Syntax is just a way of communicating a concept to the machine. We now have a new (and admitidly imperfect) way of doing that. New skills are going to be required. Computer science is going to have to adapt. |
|
| ▲ | Quothling 12 hours ago | parent | prev | next [-] |
| I'm an external examiner for CS students in Denmark and I disagree with you. What we need in the industry is software engineers who can think for themselves, can interact with the business and understand it's needs, and, they need to know how computers work. What we get are mass produced coders who have been taught some outdated way of designing and building software that we need to hammer out of them. I don't particularily care if people can write code like they work at the assembly line. I care that they can identify bottlenecks and solve them. That they can deliver business value quickly. That they will know when to do abstractions (which is almost never). Hell, I'd even like developers who will know when the code quality doesn't matter because shitty code will cost $2 a year but every hour they spend on it is $100-200. Your curriculum may be different than it is around here, but here it's frankly the same stuff I was taught 30 years ago. Except most of the actual computer science parts are gone, replaced with even more OOP, design pattern bullshit. That being said. I have no idea how you'd actually go about teaching students CS these days, considering a lot of them will probably use ChatGPT or Claude regardless of what you do. That is what I see in the statistic for grades around here. For the first 9 years I was a well calibrated grader, but these past 1,5ish years it's usually either top marks or bottom marks with nothing in between. Which puts me outside where I should be, but it matches the statistical calibration for everyone here. I obviously only see the product of CS educations, but even though I'm old, I can imagine how many corners I would have cut myself if I had LLM's available back then. Not to mention all the distractions the internet has brought. |
| |
| ▲ | lucianbr 12 hours ago | parent | next [-] | | > I don't particularily care if people can write code like they work at the assembly line. I care [...] That they can deliver business value quickly. In my experience, people who talk about business value expect people to code like they work at the assembly line. Churn out features, no disturbances, no worrying about code quality, abstractions, bla bla. To me, your comment reads contradictory. You want initiative, and you also don't want initiative. I presume you want it when it's good and don't want it when it's bad, and if possible the people should be clairvoyant and see the future so they can tell which is which. | | |
| ▲ | pitched 11 hours ago | parent | next [-] | | I think we very often confuse engineers with scientists in this field. Think of the old joke: “anyone can build a bridge, it takes an Engineer to build one that barely stands”. Business value and the goal of engineering is to make a bridge that is fast to build, cheap to make, and stays standing exactly as long as it needs to. This is very different from the goals of science which are to test the absolute limits of known performance. What I read from GP is that they’re looking for engineering innovation, not new science. I don’t see it as contradictory at all. | | | |
| ▲ | vidarh 10 hours ago | parent | prev | next [-] | | You should worry about code quality, but you should also worry about the return on investment. That includes understanding risk management and knowing what the risks and costs are of failures vs. the costs of delivering higher quality. Engineering is about making the right tradeoffs given the constraints set, not about building the best possible product separate from the constraints. Sometimes those constraints requires extreme quality, because it includes things like "this should never, ever fail", but most of the time it does not. | |
| ▲ | Quothling 9 hours ago | parent | prev | next [-] | | Some of our code is of high quality. Other can be of any quality as it'll never need to be altered in it's lifecycle. If we have 20000 financial reports which needs to be uploaded once, and then it'll never happen again, it really doesn't matter how terrible the code is as long as it only uses vetted external dependencies. The only reason you'd even use developer time on that task is because it's less errorprone than having student interns do it manually... I mean, I wish I could tell you it was to save them from a terrible task, but it'll solely be because of money. If it's firmware for a solar inverter in Poland, then quality matters. | |
| ▲ | stackedinserter 11 hours ago | parent | prev [-] | | > people who talk about business value expect people to code like they work at the assembly line. Churn out features, no disturbances, no worrying about code quality, abstractions, bla bla. That's typical misconception that "I'm an artist, let me rewrite in Rust" people often have. Code quality has a direct money equivalent, you just need to be able to justify it for people that pay you salary. |
| |
| ▲ | bambax 11 hours ago | parent | prev | next [-] | | > That being said. I have no idea how you'd actually go about teaching students CS these days, considering a lot of them will probably use ChatGPT or Claude regardless of what you do. My son is in a CS school in France. They have finals with pen and paper, with no computer whatsoever during the exam; if they can't do that they fail. And these aren't multiple choice questions, but actual code that they have to write. | | |
| ▲ | vidarh 10 hours ago | parent | next [-] | | I had to do that too, in Norway. Writing C++ code with pen and paper and being told even trivial syntax errors like missing semicolons would be penalised was not fun. This was 30 years ago, though - no idea what it is like now. It didn't feel very meaningful even then. But there's a vast chasm between that and letting people use AI in an exam setting. Some middle ground would be nice. | |
| ▲ | WalterBright 10 hours ago | parent | prev [-] | | I wrote code in a spiral notebook because the mainframe was not available to me at home. | | |
| ▲ | nosianu 9 hours ago | parent [-] | | (U880 - GDR Z80 8 bit CPU clone) I wrote assembler on pages of paper. Then I used tables, and a calculator for the two's-complement relative negative jumps, to manually translate it into hex code. Then I had software to type in such hex dumps and save them to audio cassette, from which I could then load them for execution. I did not have an assembler for my computer. I had a disassembler though- manually typed it in from a computer magazine hex dump, and saved it on an audio cassette. With the disassembler I could check if I had translated everything correctly into hex, including the relative jumps. The planning required to write programs on sheets of paper was very helpful. I felt I got a lot dumber once I had a PC and actual programmer software (e.g. Borland C++). I found I was sitting in front of an empty code file without a plan more often than not, and wrote code moment to moment, immediately compiling and test running. The AI coding may actually not be so bad if it encourages people to start with high-level planning instead of jumping into the IDE right away. | | |
| ▲ | lucianbr 8 hours ago | parent [-] | | Real programmers just use a magnetized needle to flip bits on the HDD platter. | | |
|
|
| |
| ▲ | halfmatthalfcat 12 hours ago | parent | prev | next [-] | | Let them use AI and then fall on their faces during exam time - simple as that. If you can't recall the theory, paradigm, methodology, whatever by memory then you have not "mastered" the content and thus, should fail the class. | |
| ▲ | ativzzz 11 hours ago | parent | prev | next [-] | | > That they will know when to do abstractions The only way to learn when abstractions are needed is to write code, hit a dead end, then try and abstract it. Over and over. With time, you will be able to start seeing these before you write code. AI does not do abstractions well. From my experience, it completely fails to abstract anything unless you tell it to. Even when similar abstractions are already present. If you never learn when an abstraction is needed, how can you guide an AI to do the same well? | |
| ▲ | candiddevmike 12 hours ago | parent | prev | next [-] | | > I'm an external examiner for CS students > Hell, I'd even like developers who will know when the code quality doesn't matter because shitty code will cost $2 a year but every hour they spend on it is $100-200. > Except most of the actual computer science parts are gone, replaced with even more OOP, design pattern bullshit. Maybe you should consider a different career, you sound pretty burnt out. There are terrible takes, especially for someone who is supposed to be fostering the next generation of developers. | | |
| ▲ | Quothling 9 hours ago | parent | next [-] | | I don't foster the next generations. I hire them. External examiners are people in the industry who are used as examiners to try and match educations with the needs of the industry. | |
| ▲ | pitched 11 hours ago | parent | prev [-] | | It can take some people a few years to get over OOP, in the same way that some kids still believe in Santa a bit longer. Keep at it though and you’ll make it there eventually too. |
| |
| ▲ | kaydub 10 hours ago | parent | prev | next [-] | | Ah, see, you're outside of the US. In the US education has been bastardized into "job training" Good workers don't really need to think in this paradigm. | |
| ▲ | SoftTalker 12 hours ago | parent | prev [-] | | What is an "external examiner?" | | |
|
|
| ▲ | dfxm12 11 hours ago | parent | prev [-] |
| As a teacher, do you have any techniques to make sure students learn to write the code? |
| |
| ▲ | smj-edison 2 hours ago | parent | next [-] | | I'm taking CS in college right now, and when we do our projects we're required to have a editor plugin that records every change made. That way when they grade it, they see how the code evolved over time, and not just the final product. Copying and posting has very distinct editor patterns, where organically developed code tends to morph over time. | | | |
| ▲ | GoatInGrey 8 hours ago | parent | prev | next [-] | | In-person analog checkpoints seem to be the most effective method. Think internet-disabled PCs managed by the school, written exams, oral exams, and so forth. Making students fix LLM-generated code until they're at their wits' end is a fun idea. Though it likely carries too high of an opportunity cost education-wise. | |
| ▲ | WalterBright 10 hours ago | parent | prev [-] | | If I was a prof, I would make it clear to the students that they won't learn to program if they use AI to do it for them. For the students who wanted to learn, great! For those who just wanted to slide through with AI, I wouldn't care about them. |
|