Need help?
<- Back

Comments (155)

  • apricot
    I am this very term teaching 18-year-old students 6502 assembly programming using an emulated Apple II Plus. They've had intro to Python, data structures, and OO programming courses using a modern programming environment.Now, they are programming a chip from the seventies using an editor/assembler that was written in 1983 and has a line editor, not a full-screen one.We had a total of 10 hours of class + lab where I taught them about assembly language and told them about the registers, instructions, and addressing modes of the chip, memory map and monitor routines of the Apple, and after that we went and wrote a few programs together, mostly using the low-resolution graphics mode (40x40): a drawing program, a bouncing ball, culminating in hand-rolled sprites with simple collision detection.Their assignment is to write a simple program (I suggested a low-res game like Snake or Tetris but they can do whatever they want provided they tell me about it and I okay it), demo their program, and then explain to the class how it works.At first they hated the line editor. But then a very interesting thing happened. They started thinking about their code before writing it. Planning. Discussing things in advance. Everything we told them they should do before coding in previous classes, but they didn't do because a powerful editor was right there so why not use it?...And then they started to get used to the line editor. They told me they didn't need to really see the code on the screen, it was in their head.They will of course go back to modern tools after class is finished, but I think it's good for them to have this kind of experience.
  • AstroBen
    I wish more was being invested in AI autocomplete workflows. That was a nice middle-ground.But yeah my hunch is "the old way" - although not sure we can even call it that - is likely still on par with an "agentic" workflow if you view it through a wider lens. You retain much better knowledge of the codebase. You improve your understanding over coding concepts (active recall is far stronger than passive recognition).
  • temporallobe
    The very first few years of my career I spent writing code (mostly Perl) in vi (not even vim) on a SPARC running Solaris. I bought myself the O’Riley Perl Cookbook and that was pretty much my sole guide apart from the few internet forums that were available at the time. Search engines were still primitive, so getting help when you got stuck was far more difficult. But it forced me to deeply learn a lot of things - Perl syntax (we had no syntax highlighting, intellisense, etc.) terminal tools, and especially vi keystrokes. Looking back, there was far less distraction and “noise”, though I admit that could have been the fact that it was the beginning of my career and expectations were lower. I miss those times because now everything feels insanely more layered and complex.
  • phaser
    Here’s how i do it: I create a lot of stuff using AI to the max, but I also spend the necessary of time on reviewing that the AI is producing code that passes my cognitive load standards. this involves some tokens spent on grooming code and documenting well. Most of this is effortless thanks to an AGENTS.md based on this: https://github.com/zakirullin/cognitive-load/blob/main/READM... but i have a good sense of catching when things are getting weird and i steer back.Then, when credits run out. It’s show time! The code is neatly organized, abstractions make sense, comments are helpful so I have a solid ground to do some good old organic human coding. I make sure that when i’m approaching limits I’m asking the AI to set the stage.I used to get frustrated when credits ran out because the AI was making something I would need to study to comprehend. Now I’m eager to the next “brain time hand-out”It sounds weird but it’s a form of teamwork. I have the means to pay for a larger plan but i’d rather keep my brain active.
  • mindcrime
    I'm a big advocate for AI, including GenAI. But I still spend a fair amount of time coding by hand, or "by hand + Copilot completions enabled". And yes, I will use spec driven development with SpecKit + OpenCode, or just straight up "vibe code" on occasion but so far I am unwilling to abdicate my responsibility to understand code and abandon the knowledge of how to write it. Heck, I even bought a couple of new LISP and Java books lately to bone up on various corners of those respectively. And I got a couple of Forth books before that. Not planning to stop coding completely for a while, if ever.
  • fouronnes3
    I wonder if we could design a programming language specifically for teaching CS, and have a way to hard-exclude it from all LLM output. Kinda like anti virus software has special strings that are not viruses but trigger detections for testing.This would probably require cooperation during model training, but now that I think of it, is there adversarial research on LLM? Can you design text data specifically to mess with LLM training? Like what is the 1MB of text data that if I insert it into the training set harms LLM training performance the most?
  • fouronnes3
    This is awesome! I myself did a 12 weeks batch at RC (W1'24) and had an absolute blast. Happy coding! Stay curious.
  • tossandthrow
    I love being able to put my brain cells at lean, coq, haskell. All the fun stuff. And have my money job taken care of mostly with agents.
  • derangedHorse
    > We don’t have teachers or a curriculum, and there’s very little required structure beyond making a full-time commitment during your retreatI saw this quote when looking at the Recurse Center website. How does one usually go about something like this if they work full time? Does this mainly target those who are just entering the industry or between jobs?I know the article is mostly about what the author built at the coding retreat, but now he has me interested in trying to attend one!
  • birdfood
    Getting to spend 3 months on a self learning journey sounds wonderful. My hunch is that these deep skills will be valuable long term and that this new abstraction is not the same as moving from assembly to c, but I am not completely sure. Lately most of my code has been llm generated and I can’t say I feel any sense of enjoyment, accomplishment, or satisfaction at the end of a work day. But I’ve also come to realise I really only enjoy 5-10% of the coding anyway and the rest is all the tedious semi-mechanical changes that support that small interesting core. On the scale of human history working with computers is a blip in time and I wonder how the period of hand writing code will be viewed in a hundred years, perhaps as a footnote or simply bundled as ‘everything before machines were self automating’.
  • beej71
    I'll bet we see more and more of this in the future. As developer skills atrophy due to over-reliance on LLMs, we'll have to keep our skills sharp somehow. What better way than a sabbatical?
  • brianjlogan
    I started using Zed as a half measure. I think I'll start using AI for planning and suggested implementation steps.I am seeing non technical people getting involved building apps with Claude. After the Openclaw and other Agentic obsession trends I just don't see it pragmatic to continue down the road of AI obsession.In most other aspects of life my skills were valuated because of my ability to care about details under the hood and the ability to get my hands dirty on new problems.Curious to see how the market adapts and how people find ways to communicate this ability for nuance.
  • serbrech
    Should have LLM providers create stack overflow type of site based on user’s most asked problem. At least we won’t deplete de source of normal searches results.
  • linkregister
    It's easy to take for granted lots of experience programming before the advent of LLMs. This seems like a good strategy to develop understanding of software engineering.I remember writing BASIC on the Apple II back when it wasn't retro to do so!
  • ludr
    I've settled into a pattern of using agents for work (where throughput/results are the most important) and doing things the hard way for personal or learning projects (where the learning is more important).
  • abcde666777
    Personally I haven't stopped doing things the old way. I haven't had any issues using LLMs as rubber ducks or brain storming assistants - they can be particularly useful for identifying algorithms which might solve a given problem you're unfamiliar with. Basically a variant on google searching.But when it comes to the final act I find myself unwilling to let an LLM write the actual code - I still do it myself.Perhaps because my main project at the moment is a game I've been working on for four years, so the codebase is sizable, non-trivial, and all written by me. My strong sense even since coding LLMs showed up has been that continuing to write the code is important for keeping it coherent and manageable as a whole, including my mental model of it.And also: for keeping myself happy working on it. The enjoyment would be gone if I leaned that far into LLMs.
  • moomin
    Not the point of the article but> 15 years of Clojure experienceMy God I’m old.
  • epx
    It is all a conspiracy, now that mechanical keyboards are affordable and available and so many shapes and switches, they want to take this last pleasure (typing) from us
  • bitwize
    The fact that with AI development, your brain is no longer in a tight feedback loop with the codebase, leading to a significant drift between your model and reality, is still a sticking point with me and agentic development. It feels like trying to eat with silicone rubber chopsticks. I lose all precision and dexterity.I still keep hoping there'll be a glut of demand for traditional software engineers once the bibbi in the babka goes boom in production systems in a big way:https://m.youtube.com/watch?v=J1W1CHhxDSkBut agentic workflows are so good now—and bound to get better with things like Claude Mythos—that programming without LLMs looks more and more cooked as a professional technique (rather than a curiosity or exercise) with each passing day. Human software engineers may well end up out of the loop completely except for the endpoints in a few years.
  • fallingfrog
    I mean, that's the only way I code. I don't use llm's to do my work for me. I'm perfectly capable of solving any sort of problem on my own, and then I'll understand it well enough to explain it to someone later.
  • delbronski
    So we’ve already grown nostalgic for the old days… skimming through an alien looking codebase, scratching your head trying to figure what crazy abstraction the last person who touched this code had in mind. Oh shit it was me? That made so much more sense back then… but it’s been 6 hours and I can’t figure out why this does not work anymore. So you read some docs but they are poorly written. So you find something on Google and try to hack that into your solution. But nope, now more stuff broke. There goes your day.
  • pizzafeelsright
    I like to write personal letters too. I also send emails.I do the former for fun. The latter to provide for my family.There is a reason old men take on hobbies like woodworking and fixing old cars and other stuff that has been replaced by technology.
  • daneel_w
    Depressing. It's like reading has-been actors' stories about how they went to wellness retreats to "reconnect with themselves" to try get back on the job. I can't wait for the day when the same type of people as the author - or indeed, the author himself - start labeling plain regular programming as "artisanal" and "craft".
  • dang
    [stub for offtopicness](I swapped the title for the subtitle earlier because I thought it was more informative. What I missed was the flamebaity effect that "the old way" would have. Obvious in hindsight!)
  • mchusma
    You should do what you want, and as a break it’s fine. But IMO right now the most leverage for most people is learning how to effectively manage agents. It’s really hard. Not many are truly good with it. It will be relevant for a long time.
  • LeCompteSftware
    This is ominous and very depressing given what we've recently learned / reconfirmed about LLMs sapping our ability to persist through difficult problems:> There were 2 or 3 bugs that stumped me, and after 20 min or so of debugging I asked Claude for some advice. But most of the debugging was by hand!Twenty whole minutes. Us old-timers (I am 39) are chortling.I am not trying to knock the author specifically. But he was doing this for education, not for work. He should have spent more like 6 hours before desperately reaching for the LLM. I imagine after 1 hour he would have figured it out on his own.
  • fsckboy
    how about the whole thing was written by an AI as satire, mocking human "coding retreat"
  • einpoklum
    [flagged]
  • lrvick
    I did things the old way for 25 years and my carpal tunnels are wearing out. LLMs let me produce the same quality I always have with a lot less typing so not mad at that at all. I review and own every line I commit, and feel no desire to go back to the old way.What scares the shit out of me are all these new CS grads that admit they have never coded anything more complex than basic class assignments by hand, and just let LLMs push straight to main for everything and they get hired as senior engineers.It is like hiring an army of accountants that have never done math on paper and exclusively let turbotax do all the work.If you have never written and maintained a complex project by hand, you should not be allowed to be involved in the development of production bound code.But also, I feel this way about the industry long before LLMs. If you are not confident enough to run Linux on the computer in front of you, no senior sysadmin will hire you to go near their production systems.Job one of everyone I mentor is to build Linux from scratch, and if you want an LLM build all the tools to run one locally for yourself. You will be way more capable and employable if you do not skip straight to using magic you do not understand.