Why not just google it? Seems like a better use of both time and brain space. Reminds me of Socrates complaining about how the kids these days write everything down and don't bother memorizing anything.
Why would you learn Spanish? If you got to Mexico you can just Google "how to understand Spanish" and then you'll understand it completely, just like in the Matrix.
While you are trying to Google the right thing and make use of the answer, you're missing the limited chance to be talking with people in Spanish, had you already known it.
Instead of Googling "how do I trim a string in {language}" you could be thinking about the problem you actually want to solve.
This seems like a case of comparing apples and oranges. Human language processing is largely based on sounds and requires extensive immersion to even be able to differentiate sounds, syllables, words, tone, etc. That is—you need a lot of training to even figure out what to look up (ignoring the tech-assisted technology that is still extremely rough in my experience).
There's no parallel to programming languages even in the slightest. Especially once you recognize patterns across syntaxes, the immediate value of understanding any one programming language plummets to near zero. Exceptions might be:
- SQL, just a singularly useful syntax to internalize. Probably also goes for datalog if you use that.
> "Especially once you recognize patterns across syntaxes"
That's where my original point is - you can't do that until you have internalised (memorised) several syntaxes well enough that they drop down to automatic and you can step back and look at the patterns. If your attention is on Googling for how to write a list, it can't also be on the problem you're trying to solve. If you want to read Rust you're going to have to know what the ' does and what & does and it will be very slow going if you have to google it every time - but I'm not even sure you could google it, if you didn't have enough background to understand the concepts, and still pick it up on the fly. Say a Python programmer trying to google C++ "syntax" without having used anything low level, ever, isn't going to be designing a good C++ solution, at best they will very slowly write Python-in-C++-with-bugs.
Which raises a second point - spend some time in C# world watching people write Java-in-C#, they're both curly brace OOP languages but they are different and the runtimes and libraries and common styles and frameworks are all different. Step out to people learning Prolog and APL and "knowing the syntax" is useless, the ways of thinking and solving problems are very different to mainstream languages. You aren't going to recognise the Prolog pattern `foo(bar, Baz)` because it's not a function call and you can't google "what do the parens do" and make any sense of it being a term with a functor and arity which could be a fact or a goal or a data structure depending on the context. Here, learning/knowing just the syntax isn't sufficient to know the patterns. Or spend time with people coming from Bash to PowerShell and assuming the only difference is syntax, when it isn't.
You can have conversations across language with Google translate. You take turns speaking into the microphone. It's actually pretty awesome. Obviously you probably aren't going to make best friends or fall in love this way, but you can ask almost any question and understand the answer in many languages without having had spent several years learning the language.
You probably also won't get that via learning a language via flashcards, either. That seems like an inherently different problem to solve than "memorizing a language".
I personally use Kagi, but "google" is really just short-hand for searching a specific resource (like, say, docs.python.org).
I suppose if you're googling an open-ended error with little context it's probably rougher now, but I don't see how you could possibly prepare for answering questions about arbitrary errors with no context via flashcards.
Who said anything about errors? I was referring to APIs. Often, I'll enter a Python standard library function as a Google search hoping to get to the Python docs so I can see the proper documentation for that function. It's quite often that the link to the Python docs is not in the first "screen" of results. Instead I get 3rd party sites that explain how to use that API.
For some APIs, it definitely saves more time putting it into the flashcard. The overall time it takes to type it, and then review it over the next so many years, can be less than it takes to search it, click, and then read the Python docs over and over.
As Michael Nielsen pointed out:
> In an appendix below I estimate that for an average card, I'll only need 4 to 7 minutes of total review time over the entire 20 years. Those estimates allow for occasional failed reviews, resetting the time interval.
(He's excluding the time to type, which could be another minute or so). So anything that takes, say, 10 minutes to repeatedly look up and read over your life is better suited to be in your flashcards. If you don't think you'll need to look it up often enough, leave it out.