Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I disagree with this. You can just google syntax so I don’t bother memorizing syntax. Specific syntax is never going to be the thing I remember that puts all the pieces together. Remembering how things are done and having a good conceptual memory on the other hand is extremely valuable. You can’t google the long story your colleague told you about the incredibly hard to identify bug (well maybe if they have a blog, but you see what I’m getting at?). That stuff is worth remembering, the stuff you can’t just google. Or the vague notion of what to google to solve the problem. You need both good memory and a good sense of what’s worth remembering and what you can just look up.


+1 to your points. I think the thing to remember is the "patterns" that are novel. Remembering approaches to solving problems, ways of thinking, are the things that help with creativity. Remembering specific solutions to problems isn't as useful, unless they're things you do regularly.

I think the trick is to take a problem and "see" the higher-level patterns in the solution rather than the specifics.


But just spending an insignificant amount of time learning to remember the syntax that you use constantly is even more efficient: why waste time looking up what you already know? Spend that time on the real thing you want to do, instead.

Not remembering what you can look up is the beginner's shortcut, not looking up what you can just remember is the advanced tactic, and is what gets you to fluency in any subject.


You're assuming anyone here seriously resists learning something they use all the time because they can google it, something I have a hard time believing yet you assert otherwise.

In reality, the things you tend to google every time you need it are precisely things you don't actually use enough to memorize. When you do memorize them, enough time elapses each time to where you forget.


Exactly this. Googling to me is long term memory - I can access it, but it takes a tiny bit longer to retrieve. Stuff I use more frequently I do memorize.


As with many other things, the extremes might be clearer but the interesting parts lay in the huge grey area in between. Sure, we might not need to deliberately memorize syntax, but what about memorizing the different ways of writing loops (for the lack of an better example atm)?

My take is that there is value in putting in deliberate effort to remember the key takeaways from our readings or talks we've listened to (among other things), as the original comment pointed out. The blog post is then on how to go about doing it.


Don't ask me, ask the person I responded to. It sure sounded like that was their modus operandus and their counter-argument to the article's "remember the things you are enthusiastic about learning".


It's interesting that whenever memorization is mentioned, there will always be a response like "I don't need to memorize X", when the person never said you should. Your parent did not recommend memorizing syntax.


Maybe they can't remember what the person said, so they argue against what they misremember.


I provided two specific examples. One area where memorization isn't valuable. And one where it is. That's the point of the comment.


> You can just google syntax so I don’t bother memorizing syntax. Specific syntax is never going to be the thing I remember that puts all the pieces together.

As you continue programming in a given language, you automatically memorize low-level things like syntax and idioms. That's not something that everyone needs or wants to practice explicitly with flashcards or whatever (that's not how I learn, anyway). But memorization of syntax is absolutely critical to achieve "fluency" in the programming language, just as in human language.

Imagine a monolingual English speaker learning German and scoffing at their classmates' attempts to internalize the grammar rules. You can Google or look all that stuff up in a few seconds! But having to pause and look up every conjugation or word ordering is exactly what prevents the learner from actually communicating clear ideas at a useful speed in their target language.


My biggest problem is remembering the things that are done similarly everywhere: is it .length, .len, .size or .count? Or are they methods? Or globals? Why do these things have to differ even between SQL dialects


IDE helps in those situations. Or cheat sheets.


This is why I'm such a big fan of good code completion. I don't need it that much in my main language, but when I use other languages every once in a while it's much much quicker than googling these things.


Yes to that! Last semester I had to program in Java, and while having very little specific knowledge of the languague, the IDE (and some basic OOP understanding) basically enabled me to solve the tasks without any troubles.

Java is especially good for that, though. You just add a point to a variable and choose what you want (out of 1000 methods).


> As you continue programming in a given language, you automatically memorize low-level things like syntax and idioms.

I thought so too. Then I ended up with having to write a lot of tSQL. And even though I used them quite regularly, I always had to look up the syntax for things like MERGE, or PIVOT. So I made flashcards, and it has increased my productivity enormously. Not so much because looking up the syntaxes took particular much time, but it always interrupted my train of thoughts. And before I know the syntax by heart I always felt this slight resistance to use these constructs because I knew I had to look them up and would probably make some small mistake somewhere et c.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: