谷歌瀏覽器有時會卡頓
by Jeremy Gunter
杰里米·甘特(Jeremy Gunter)
Google不會,不要學:為什么搜索有時會比了解更好 (Google not, learn not: why searching can sometimes be better than knowing)
A few months ago, I was reading through some of the posts in my home town’s freeCodeCamp study group. I came across an intriguing post.
幾個月前,我正在閱讀家鄉的freeCodeCamp研究小組中的一些帖子。 我遇到了一個有趣的帖子。
One of the campers expressed her frustration with not being able to immediately come up with solutions, and questioned whether this will ever gets any easier. At the end of her post, she lamented needing to google for answers — as though this were something to be ashamed of.
其中一名營員表達了她對無法立即提出解決方案的沮喪態度,并質疑這樣做是否會變得更容易。 在帖子的結尾,她感嘆需要用谷歌搜索答案-好像這是可恥的。
I remember exactly what it felt like to be in that situation. I was angry with myself for not being able to rattle off code on demand. I felt like using Google to search for answers was a sign of defeat. Something that, in my mind, signified I was incapable of thinking like a programmer.
我確切記得在那種情況下的感覺。 我對自己無法按需編寫代碼感到生氣。 我覺得用Google搜索答案是失敗的標志。 在我看來,這意味著我無法像程序員一樣思考。
Fast-forward 18 months, and I’m currently employed as a full-stack Software Engineer. I spend a considerable amount of time asking Google for help with my day-to-day work. I no longer see it as a weakness when I search StackOverflow for an explanation. It’s actually one of my first steps towards a solution.
快進18個月,目前我是一名全職軟件工程師。 我花了大量時間向Google尋求日常工作方面的幫助。 當我搜索StackOverflow以獲得解釋時,我不再將其視為弱點。 實際上,這是我尋求解決方案的第一步。
So what caused this change of heart? A lot of things. But here are a couple major insights.
那么,是什么原因導致了這種改變? 很多東西。 但是,這里有一些主要見解。
見解1:記住所有事情浪費您的時間和精力 (Insight 1: Memorizing everything is a waste of your time and brainpower)
Don’t believe me? Check out this Quora question, where hundreds of other programmers all responded with basically the same opinion on the matter.
不相信我嗎 看看這個Quora問題,數百名其他程序員在此問題上的回答基本相同 。
Not good enough, how about a quote from this guy you may have heard of:
還不夠好,您可能聽說過這個人的話:
“Never memorize something that you can look up.” — Albert Einstein
“永遠不要記住您可以查找的內容。” - 艾爾伯特愛因斯坦
This is not a conclusion I arrived at easily. After spending hours upon hours poring over blogs and talking with professional developers, I finally came to realize something unexpected: the best in our profession don’t methodically scan and memorize documentation. Most, in fact, don’t bother memorizing anything they don’t have to.
這不是我輕易得出的結論。 在花了幾個小時瀏覽博客并與專業開發人員交談之后,我終于意識到一些出乎意料的事情:我們行業中的佼佼者不會有條不紊地掃描和記憶文檔。 實際上,大多數人都不會忘記記住他們不需要的任何東西。
Think about all the words you know in your native tongue. I’d be willing to bet you know a lot more words than you use on a daily basis. If you forget the meaning of a word, what do you do? Just ask Siri or crack open a dictionary and move on with your day. You don’t sit there and beat yourself up for not remembering a word.
想一想用母語說出的所有單詞。 我愿意打賭,您知道的單詞比每天使用的單詞多得多。 如果您忘記了單詞的含義,該怎么辦? 只需詢問Siri或打開字典,然后繼續前進即可。 您不會坐在那里,因為不記得一個單詞而毆打自己。
Let me clarify my meaning a little with a quick story.
讓我用一個簡短的故事來澄清我的意思。
I was listening to a panel discussion at CSSDay in Phoenix this past December when I heard a panelist give a tip that I’ve heard more than once in one variation or another:
去年12月,我在鳳凰城CSSDay上聽了一個小組討論,當時我聽到一個小組成員給我的提示是,我在一個或另一個版本中聽到了不止一次的聲音:
“Only memorize the things you use every day. Everything else, just memorize how to look it up.”
“只記住您每天使用的東西。 其他所有內容,只需記住如何查找即可。”
This concept, and the internalization of it, has been the single greatest boon to my confidence and progress as a developer.
這個概念及其內在化,一直是我作為開發人員的信心和進步的最大福音。
Early in my journey, I struggled to retain anything. The concepts, syntax, best-practices, they were all incredibly difficult to grasp. I’ve always considered myself a smart person, and a quick learner, but I truly believed I had come up against the first intellectual challenge of my life that I might not conquer.
在旅途的早期,我努力保留所有東西。 這些概念,語法和最佳實踐都難以理解。 我一直認為自己是一個聰明的人,也是一個快速的學習者,但我真正相信自己已經遇到了人生中第一個我可能無法克服的智力挑戰。
Then I had a crazy idea: “Stop caring about how to write it, and just focus on understanding what it should do.” I stopped stressing over syntax and started happily writing out extensive pseudo-code. Then once I felt I had fleshed out the core parts of the solution, it was off to the search-engines I went!
然后我有了一個瘋狂的想法:“停止關心如何編寫它,而只專注于理解它應該做什么。” 我不再強調語法,開始愉快地編寫大量的偽代碼。 然后,一旦我覺得自己已經充實了解決方案的核心部分,就由我使用的搜索引擎決定了!
This had exactly the effect I hoped it would. I was no longer spending my study-time struggling to remember what method to use to add an item to the end of an array, or if the key in a Javascript Object Literal needed to be wrapped in quotes like its JSON counterpart (it doesn’t).
這正是我希望的效果。 我不再花時間在學習上來記住使用什么方法將項目添加到數組的末尾,或者是否需要將Javascript Object Literal中的鍵用引號引起來,例如JSON對應( t)。
Instead of going mental trying to remember method names, I focused on what action I needed to perform. When I wanted to add an item to the beginning of an array, I found it easier to google the phrase “add item to beginning of array JavaScript” than to try and use my own memory to differentiate between shift()
, unshift()
, and pop()
.
我沒有試圖記住方法名稱,而是專注于需要執行的操作。 當我想將項目添加到數組的開頭時,我發現用谷歌搜索“將項目添加到數組JavaScript的開頭”比嘗試使用自己的內存來區分shift()
, unshift()
容易。和pop()
。
In addition to this reduction in time spent trying to generate answers from my own head, it had a couple of other distinct benefits:
除了減少我自己想出答案的時間之外,它還具有其他一些明顯的好處:
I found myself able to pick up on new (to me) languages much faster than I would have ever imagined, because (surprise, surprise), most of these concepts are found in every language, and
我發現自己能夠以比我想象的更快的速度接受新的(對我而言)語言,因為( 驚奇,驚奇 ),大多數概念都可以在每種語言中找到,并且
I realized my understanding of these concepts was rapidly deepening. Thanks in large part to forcing myself to read more about the topic, and thus accruing less technical debt.
我意識到我對這些概念的理解正在Swift加深。 在很大程度上要感謝自己強迫自己閱讀有關該主題的更多信息,從而減少了技術債務 。
Aside from the aforementioned positives, which I had hoped would be the result, there was another huge bonus that I didn’t expect at all.
除了上述希望帶來的積極結果外,還有我完全沒想到的另一筆巨額獎金。
見解2:您可以從別人的錯誤中學習,而不必自己犯錯誤 (Insight 2: You can learn from the mistakes of others without having to make those mistakes yourself)
When you start googling for answers to a problem you are facing, you quickly learn that you are not the only person to deal with this, and that other people will come up with vastly different solutions to the same problem.
當您開始搜尋所面臨問題的答案時,您很快就會發現自己不是唯一要解決此問題的人,而其他人將為同一問題想出極大不同的解決方案。
Reading through a few different questions and solutions on Stack Overflow will open your eyes to different ways of thinking, or perhaps highlight flaws in your own methodology.
閱讀有關Stack Overflow的一些不同問題和解決方案將使您對不同的思維方式睜開眼睛,或者可能會突出您自己的方法中的缺陷。
In doing so, you give yourself a chance to learn from other more experienced developers, and see how they work through a problem. This insight has been invaluable.
這樣,您就有機會向其他更有經驗的開發人員學習,并了解他們如何解決問題。 這種見解非常寶貴。
I no longer search blog posts or Stack Overflow questions with the intention of finding an exact solution. Now, I do these things so I can learn different ways to think through problems.
我不再搜索博客文章或Stack Overflow問題以尋求確切的解決方案。 現在,我做這些事情,以便我可以學習思考問題的不同方法。
您可以通過搜索了解更多 (You learn a lot more by searching)
I’m literally programming my brain to tackle problems from perspectives other than my own. I’m making myself better by understanding how someone else would write something, and merging their knowledge with mine. Their struggles become my triumphs.
我實際上是在編程我的大腦,以從我自己之外的角度解決問題。 通過了解別人會如何寫東西,并將他們的知識與我的知識相結合,我正在使自己變得更好。 他們的斗爭成為我的勝利。
And you know what? It works…really well. After starting down this path to become a programmer in May of 2015, I accepted my first position as a full-stack software engineer in September of 2016.
你知道嗎? 效果很好 。 在2015年5月踏上成為程序員的道路后,我于2016年9月接受了我的第一份全棧軟件工程師職位。
In less than 18 months, I had gone from an extremely basic understanding of HTML, to writing Ansible scripts, backend APIs in Ruby on Rails, and creating front-end components using React.
在不到18個月的時間里,我從對HTML的非常基本的理解,變成了編寫Ansible腳本,在Ruby on Rails中使用后端API,以及使用React來創建前端組件。
I don’t consider myself an advanced programmer by any definition of the word, but I do feel much more confident in my ability to learn new concepts quickly, and be able to search for the syntax on-the-fly without ever missing a beat.
我不認為自己是一個高級程序員,但我確實對自己快速學習新概念的能力充滿信心,并且能夠在不丟失任何內容的情況下即時搜索語法。 。
Very few programmers will remember every method name or function call the first time they see them. Even fewer still will rely solely on their memory to face the challenges in their daily work.
很少有程序員會在第一次看到它們時記住每個方法名稱或函數調用。 更少的人仍然會完全依靠自己的記憶來面對日常工作中的挑戰。
The best advice I can offer you is that you should never be afraid to admit you don’t know something, and seek to correct it using whatever means necessary.
我能為您提供的最佳建議是,您永遠不要害怕承認自己不了解某些東西,并尋求使用必要手段進行糾正。
There is only one cure for ignorance, and that will always be asking questions.
只有一種方法可以解決無知,而這總是會問問題。
翻譯自: https://www.freecodecamp.org/news/google-not-learn-not-why-searching-can-be-better-than-knowing-79838f7a0f06/
谷歌瀏覽器有時會卡頓