Think of programming as speaking in a language. He who has more of the language committed to memory will be orders of magnitude greater at communicating in that language than someone who has to look up every odd word. Furthermore, the concepts that can be created will be much more complex and abstract than the person who doesn't have a handle on the basics: people who are clever and quick-witted in a language they are fluent in will often seem dull in a language they don't know well. Having the basics committed to memory is absolutely critical. Its unfortunately that this level of mastery has been devalued with the rise of the "just google it" culture.