I’m just starting out in SQL and brand new to coding. I’m wondering about memory expectations to be successful here. How do coders remember the commands and syntax? As I’m working through the lesson, I am totally understanding the code, but then I got to the first project, and I couldn’t remember any of the commands and the syntax. I had to look at the hint to remember that it was INSERT or ALTER or whatever. And I’m just on the first, like six, basic commands!! Is it expected that as I code more and more, I’ll remember this or do coders have cheat-sheets that they refer to regularly? I’m an old school learner in this “new world” and I’m wondering if I need to start studying command flashcards to be successful at this?!
My answer would be that memory-commitment is really about practical usage; the more real-world, the better. When you apply your knowledge to a real-world project, I think this crystalises understanding at a different level.
Thus I’m only learning code + tools here that I need to apply in projects I’m ready to kick off. That will be where I commit this stuff to memory.
I would say that memorizing the code is not necessary. It might help if you are in a traditional school where there are closed book tests. What I like to do is create a reference file with the commands and a description and example of it. It’s kind of like a cheat sheet. This will help at first, but as you program and use these commands, you’ll eventually remember them. At least that’s been my experience.
The problem with committing things to memory is that we sometimes remember things the exact opposite way they are meant to be remembered. I call this
binary selectiveness and if one’s brain is like mine, you will be up against this many times, repeatedly. I’ve often said that when there are two items to choose between, and we’re asked the same question 10 weeks in a row, we will invariably give both answers when viewed over time.
Think in terms of concept and create usable, definitive examples that help one to recognize the concept(s), not the code itself. In time you will be comfortable reaching for a variety of tools to perform a task and not be thinking of terms of only one tool.
In that post we examine some basic kinematic concepts and relationships. Notice how we can derive other formulae from these?
For instance, if
d = v * t and
v = a * t, then
d / t = a * t
d = a * t ** 2
We would never commit these formulae to memory, as we would never have to.