Many times I've asked google a specific question and only got results in the form of "Top 10 vaguely related unhelpful bullshit" clickbait. So yeah, actually, it is a lot like a really big version of my own nigh-useless human memory.
The other times you get stack overflow or github repos with licenses that are typically not friendly to your project
For example, how many code bases have things ripped straight from StackOverflow in their code? Are any of them attributing the author based on CC-sharealike license? Nope.
How many snippets from GPL code has been used because it was found in GitHub?
So asking google is great, but it could very well taint your code. The next question is if this ticking time bomb will explode now or later
So many people missed the point of this post that I ended up replying to it instead of them.
"Memory upgrade" means not relying entirely on your own memory and previous knowledge. That doesn't exclude internalizing the language, nor coming up with new solutions. It probably changes a lot depending on what you do, but I've found it imperative to keep up to date with an ever-changing engine, and it would have been malpractice to just rely on memory, and a great waste of my employer's time.
Not entirely related but I think its a good practice.
Anytime I learn something new, I create a simple project using that new thing as a way to memorize it better but also be able after few years revisit it and either remind myself about it or improve it.
Since one's brain is not able to translate a thought into a search engine query which leads straight to the answer, that virtual memory analogy doesn't work at all.
No one said it’s not still valuable, but less so on it’s own with the advent of the internet and Google. The same thing can be said with taking notes in school: you’re less effective using human memory alone without the augment of note taking.
Yes, you need both. I think it's even more important today with the massive amount of information that's available. And in addition you need the skill to look up stuff.
I agree; human memory is good at keeping indexes, which is augmented by the internet to retrieve the full content. You only need to store enough in your mind to know what to Google for. Memorization as a skill is less valuable now than it used to be.
I've been thinking about this topic a few months ago when considering how I go about finding out information on how various things are implemented in the Linux kernel, as someone that's not a kernel developer:
* option A is that I start by reviewing the literature (most books are quite old, but I might get lucky) to get a general idea about the topic e.g. memory management under memory pressure. Then I search the kernel docs. Then I use any references that I found to e.g. LWN or similar websites. Message groups search. Finally I would do general internet search, SO, etc. In between these steps I might look at sources, although that's hit or miss, depending on the specific topic.
At the end of this adventure, I will probably have a vague or middling understanding of what I was looking for.
* option B is that I ask our kernel expert and he tells me what I want to know, because he's continuously read all of the above resources for the past couple of decades.
So not only is the human memory not obsolete, it is daft to think that Google - which is getting amnesia to boot - could "upgrade" it.
Most of the value you create is done by your subconscious and it can't just google things, so getting things into your head is still required and the more you have there the better.
Software is not so complicated that you have to Google search everything every time. If you are not internalizing new knowledge, you are performing poorly.
There is definitely a point in a framework with strong structure where it becomes easier to read the code than google the problem. But if you aren't working on a single codebase for a while you are definitely better off with google on your side.
Some frameworks are written in a way that makes reading the code a pain in the ass too, with generation, magic methods, annotations and other meta coding techniques that turn conventions into code. In those cases even if you have a really niche problem google may still be faster than delving into the dark depths of non-code.