When we have a question we don’t know the answer to, our instinct (in most cases) is to Google it. This eliminates the process of critical thinking; no time is spent thinking about what the question is asking, what potential pathways could be taken to answer the question and limited thought is being put into what is actually being asked of us.
There was a time, long ago, where all knowledge was in books. If you wanted to do something new, you had to:
Step 3 is perhaps the most important step, although step 1 might have been the hardest.
Anyway, this time is long-past. If you want to do something new today you will:
So, the difficult step of “finding the right book” is gone - thank goodness. BUT so is the most important step of “internalising”. As a result, you - the modern student - has far less practice of this important skill than those who went before you. Unfortunately for you, that skill is about to become very, very important.
Thus, one of your jobs, now you have reached this point in your education, is to commit to a different approach to learning new things; an approach that is unfamiliar and might seem inneficient.
We don’t put all the work on you though, we have met you half-way. This site is book-like in that it guides you in a way that will help you internalise the knowledge, but it takes advantage of all the advances we have on the web.
On your journey to learning new things, you are asked to answer questions and to create programs. The person teaching you already knows the answers, and has already created those programs. They are asking you as a way of triggering a process of thought in your own mind that will lead you to understanding. Teachers are actually quite good at working out just the right question at just the right time to lead you where you need to go.
If you are focussed on providing the answer or program asked of you then Google looks like your best friend. Just ask, and you shall find it. But Google is cheating you of the thought processes that were going to improve your knowledge. It is like training for a marathon by taking an Uber from the start line to the finish line.
Don’t take an Uber if you are training for a marathon and don’t use Google (the wrong way) if you are learning to program.
The world is awash with people who can put a search into google and pass on the answer. This is not a skill you will be employed for. You will be employed for what you know and (importantly) the things you know that most other people don’t know. That is the very definition of working in the knowledge economy.
Were you to learn a new spoken language, I am sure you would not imagine building your knowledge only from Google translate. It is an amazing tool for those who don’t want to learn the language and still get by, but can only be a tiny part of the story for those wanting to actually learn the language. Are you aiming to learn to program? Then you can’t be very reliant on Google to teach you. If you simply wish to get by in a world of programmers but not actually become one, then you needn’t be here at all!
The question you are answering today is just a stepping stone on your path to becoming a programmer. The future holds ever-more complex questions and ever-more complex knowledge. It won’t be long before Google can’t answer your question and you won’t be able to understand the answer unless you have the base knowledge required. Note, I say “you have the base knowledge”, not “you can access the base knowledge”. This is because you need to put together more than one thing at a time when moving to these higher levels of knowledge.
Yes this is true. However, the knowledge of an experienced programmer is much more comprehensive than that of a beginner. So when they search the web, it is to remind themselves of a concept that they have already learnt. Programming languages are very nuanced, and it would be impossible to memorise all the small differences for each language. This is where the web is helpful, as it can serve to jog someones memory of a particular languages quirks.
Also, programming languages, and the computer we run them on, are very complex. There are dozens of arguments for any program or function you might want to run and you will run many dozens of these each day. You can’t remember all the details, sometimes you have to look them up.
If you are searching from a position of ignorance, you are not helping yourself. If you are searching to remind yourself of, or to double-check, something you already partly know, you are doing it right.