5 ms·
This does not sound fun. It's better to work on your side projects with manual coding. You will learn more. Retyping things is inefficient for learning. It's l
by f311a 2mo ago
This does not sound fun. It's better to work on your side projects with manual coding. You will learn more.
Retyping things is inefficient for learning. It's like trying to retype calculus solutions — you don't learn from it. Even if there is an explanation of why the code is written in such a way, you did not come up with it, and you don't know alternative solutions. It is a practice for memorizing, not for building your intuition.
A better option is to write it yourself first and ask LLMs for better options. They are pretty good at it, especially when you need to optimize hot loops.
- ainch 2mo agoI'm not sure I agree about retyping calculus solutions. I often find that writing out a proof or derivation forces me to engage with some minor detail that I hadn't fully appreciated beforehand. That usually raises productive questions.
- mathgeek 2mo agoRetyping calculus solutions is a great way to remember your LaTeX.
- WJW 2mo agoIn which case it would be the engagement with minor details that does the productive work. Retyping is merely a gateway to (sometimes) trigger the engagement. The solution in TFA feels like an on-ramp to cargo culting somehow; observing that manual typing and good results often go together, but then thinking that it's the typing that directly causes the good results rather than the thought process that accompanied the typing. There's a much better article hiding inside the current one that's titled "Prevent cognitive debt by understanding deeply the code that your LLM spits out", but that sounds like hard work and would probably not be very popular. It's much better for audience engagement to provide a simple solution that anyone can do and does not require a lot of deep thought like "manually retype everything the LLM generated", even if it doesn't actually work.
- JeremyNT 2mo agoI think the disconnect here is that you can't only retype the solutions. You have to already sort-of know what's going on and you have to also care to understand the gaps. So transcription can definitely be helpful when part of a broader, intentional process, while also being insufficient to do much on its own. And the next logical question to ask is whether there's a better form of intentional behavior that might be more effective.
- tempfile 2mo agoIt is far, far less effective than deriving the solution yourself. Don't take my word for it: > If you absolutely cannot do it then go home and think but for heavens sakes don't look it up in a book till you give up. Looking it up in a book is giving up. > > Paul Halmos (https://www.robots.ox.ac.uk/~adutta/blog/quotations-powerful-and-concise-thoughts-of-the-giants.html https://www.robots.ox.ac.uk/~adutta/blog/quotations-powerful...)
- trentor 2mo agoI had fun and also learned a lot when I retyped programs from magazines back in the day. I am not sure if it's suitable now but there is certainly some merit to the idea.
- thijson 2mo agoAfter typing in the program, I found that single stepping the program in a debugger greatly helped with understanding.
- jdiff 2mo agoWriting reinforces. You won't learn from blind uncomprehending rewriting, sure, but when you already know the field, writing gives you the space to comprehend and digest. Certainly more than copying and pasting or blind acceptance of generated code. It doesn't have to be fun to be better.
- Thanemate 2mo agoAt the beginning of my professional journey I was coding along youtube tutorials to learn, and I can tell you for a fact that all writing reinforces is syntax, which is reinforced regardless when you build your own projects while you develop your decision making skills at the same time.
- jdiff 2mo agoWriting certainly reinforces more than that when you're not just starting out. It's a poor learning tool. When you have no grasp at all of the meaning, yes, it'll only enforce the syntax you can grasp at that point. I'll maintain that it's a good reinforcement tool, especially to the ends mentioned in the article.
- deleted 2mo ago[deleted]
- rootsudo 2mo agoFor fun I typed out code from old old magazines and it taught me quite a few things. Also essays too and other texts non code from llm or books, it helps.
- linker3000 2mo agoOne thing it taught me was that sometimes the corrections would be in next month's edition, so I had that long to figure out for myself why the program didn't work as stated.
- mexicocitinluez 2mo ago> Retyping things is inefficient for learning. It's like trying to retype calculus solutions Says who? You're saying this unequivocally like you have research that supports this. I used to re-write the notes I took for studying and it was like night and day for how well I did on tests. IT also gave me a chance to tighten the information I was receiving. And it's exactly what's happening here.
- polymer8563 2mo agoOC out here denying the actual learning and reinforcement research because of vibes
- baq 2mo agoIt’s very common here on HN from the threads I’ve engaged in - everybody has an idea how learning works but it’s usually based on perceived personal experience and not actual research. I.e. you’re completely right with calling it vibe learning.
- mexicocitinluez 2mo agoI had to re-read it a few times to make sure I was actually interpreting it correctly because I couldn't believe someone would make a claim like that for everyone.
- UpsideDownRide 2mo agoYou have implicit assumption that the person rewriting does nothing else. Understanding intention and solution is in there too for most people. A lot of calculus is rewriting blocks of solutions and applying them to problems. There is a huge chasm between how calculus and real analysis are taught. By your logic calculus should be of very low value. Yet somehow it opens a lot of doors for people to learn other things based on it.
- 1718627440 2mo ago> you don't learn from it Except that you do. Otherwise you could just sit in school or university and just listen and do nothing, but that way you just learn A LOT less, instead of taking down the lecture/lesson.
- baq 2mo agoEven better would be to rewrite it by hand with a pen.
- jazzyjackson 2mo agoYes some people teach C this way, for a little while, I don’t forget semicolons as much as people around me later seemed too, may or may not be related
- chronogram 2mo agoI started programming this way as a kid with books and notes that I'd then periodically would be able to enter into a computer to see if it runs.
- pessimizer 2mo agoI programmed this way my first year of community college because I didn't have a computer. I'd retype all of my work in the computer lab.
- 1718627440 2mo agoMe too. And this way you make way fewer bugs, almost none.
- syntheticnature 2mo agoIt confused me at the time, mainly because I had a class with written-out C and one with written-out Pascal in the same semester. The Pascal prof wouldn't mark off for C syntax but the C one would would mark off for Pascal syntax.
- sarreph 2mo agoWhen I was learning to code at college, by myself (I did a Business degree), I bought a book on iOS development[0]. This book mandated that you type all the examples out line-by-line. I thought the idea was a pretty silly one, but I stuck with it because I didn't know what I was doing and wanted to learn. 14 years later, as a software engineer, I still think about that book and the way I can trace back a lot of my initial improvements to its requirement that code got written line-by-line. I still maintain the habit of rote text copying as a way to pick up new tools and commands (i.e. copying documentation examples exactly into my editor), and also when people make an assertion like: > It's like trying to retype calculus solutions — you don't learn from it. Maybe not everyone learns that way, but I sure did! [0] - https://www.amazon.co.uk/iPhone-iPad-Apps-Absolute-Beginners/dp/1430236027 https://www.amazon.co.uk/iPhone-iPad-Apps-Absolute-Beginners...
- miningape 2mo agoVery much similar experience to yourself, when I was learning from YouTube tutorials I refused to copy/paste from their repos and instead typed everything out. Maybe changing variable names or structure. I can definitely say it helped me learn a lot more than just blindly copy/pasting everything over.
- dev360 2mo agoI like coding katas (or even trying leetcode problems) when learning new languages.
- palmotea 2mo ago> When I was learning to code at college, by myself (I did a Business degree), I bought a book on iOS development[0]. This book mandated that you type all the examples out line-by-line. I thought the idea was a pretty silly one, but I stuck with it because I didn't know what I was doing and wanted to learn. It seems like an exercise to force you to attend to the details. I had a similar experience with a "certified X programmer" exam my employer bought for me. I wouldn't say passing such an exam makes anyone a good programmer, but it was an unexpectedly valuable experience because it forced me to attend to a broad set of details (instead of getting a spotty command of them, due to path-dependent experience). Similar thing happens with notes: I rarely reference them but taking them keeps my mind from wandering.
- cautiouscat 2mo ago> you don't learn from it. I strongly disagree. I used this strategy for learning how to reverse engineer and hook functions in a game with C++ and learned a ton. I also used this strategy to learn Imgui and it worked great. Before LLMs I did this when learning from books too.
- trklausss 2mo agoI'll note this one down. I was under the impression that yes, retyping helps learning something about a language and architecture, but I found myself forgetting it after a while... Trying it first sounds slower, but definitely better for cognitive training :)
- dev360 2mo agoWouldn't it maybe make more sense to try to use Cursor-style auto complete if you are trying to learn a language in this day and age? Having Codex/Claude write all of it won't really benefit you imho.
- xpct 2mo agoI think it depends on what type of cognition you want to stimulate. It's probably useful to familiarize yourself with a suite of API calls, or get a big picture view of how an algorithm runs.
- nunez 2mo agoEveryone learns differently. Retyping was extremely helpful for me. The key, for me, was to look up what I didn't understand.
- andai 2mo agoHow do you build intuition about something you cannot remember?
- epolanski 2mo agoWorking on the problems yourself and have AI in a reviewer/feedback mode is the most productive way to challenge complex software problems.
- safehuss 2mo agoAs time goes on, I become more and more convinced of this also. Also fits in with how many of us already learn via feedback loops - just now it's an LLM instead of a human giving you that feedback.
- 8note 2mo ago> It's like trying to retype calculus solutions — you don't learn from it ??? i entirely learned all the math and applied math by working through problems whether myself or copying down from the solutions manual or text book over and over again until it stuck