巨人肩膀_如何站在巨人的肩膀上

巨人肩膀

“If I have seen further than others, it is by standing on the shoulders of giants.” Isaac Newton

“如果我能比其他人看到更多,那就是站在巨人的肩膀上。” 艾薩克·牛頓

In 1676, Isaac Newton spoke of the great thinkers who came before him as “giants.” Their insights helped him discover new insights of his own.

1676年,艾薩克·牛頓談到以“巨人”身份出現在他之前的偉大思想家。 他們的見解幫助他發現了自己的新見解。

340 years later, the giants are much taller. They’re all over the place — not just in books, like in Newton’s time. They’re in open academic journals. Open source projects. Open datasets.

340年后,巨人的身高更高。 它們無處不在-就像牛頓時代一樣,不僅在書本上。 他們在公開的學術期刊中。 開源項目。 打開數據集。

With an internet connection, you can stand on the shoulders of as many giants as you’d like.

通過互聯網連接,您可以隨心所欲地站在眾多巨頭的肩膀上。

But most people don’t realize how much they’d see if they bothered climbing up there. Most people figure they can see far enough from where they’re already standing. The climb doesn’t seem like it would be worth the effort.

但是大多數人不知道如果他們不愿意去那里爬,會看到多少。 大多數人認為他們可以從已經站立的地方看到足夠遠的地方。 攀登似乎不值得付出努力。

Before you can stand on the shoulders of giants, you need to accept that you don’t see everything. You need to recognize how much there is out there that only these giants can show you.

在您站在巨人的肩膀上之前,您需要接受自己看不到所有東西。 您需要認識到只有這些巨人才能向您展示的數量。

的Ubuntu (Ubuntu)

“I am what I am because of who we all are.” — English translation of the Zulu word “Ubuntu”
“我就是我,因為我們都是誰。” —祖魯語“ Ubuntu”的英語翻譯

Even in the darkness of human prehistory, we started figuring out some cool things.

即使在人類史前時代的黑暗中,我們也開始想出一些很酷的東西。

Giants started to emerge, riding on oral tradition. Then books.

依靠口頭傳統,巨人開始興起。 然后書籍。

We compounded insight onto insight. And the giants grew.

我們將洞察力加進洞察力。 巨人成長了。

Over the aeons, we discovered some pretty neat ideas and built some pretty cool things. Things worth using.

歷代以來,我們發現了一些漂亮的主意,并建造了一些很酷的東西。 值得使用的東西。

But every day, thousands of people ignore these things. They say: “I know, I’ll build this new thing from scratch.”

但是每天都有成千上萬的人無視這些事情。 他們說:“我知道,我將從頭開始構建新事物。”

And they embark on a costly journey to build their dreams from the ground up.

他們踏上了昂貴的旅程,從頭開始建立自己的夢想。

We spend a lot of money on software. About 60% of the $2.5 trillion we spend on technology every year goes toward software development and software consulting services.

我們在軟件上花了很多錢。 我們每年在技術上花費的2.5萬億美元中,約有60%用于軟件開發和軟件咨詢服務。

That’s one and a half trillion dollars. Enough to acquire Instagram 1,500 times over. Every year.

那是一個半萬億美元。 足以將Instagram收購1500倍。 每年。

And we don’t always get our money’s worth.

而且,我們并非總能賺錢 。

此處未發明 (Not Invented Here)

Humans are over-confident. We think we can reinvent the wheel, and that our version will be better.

人類過分自信。 我們認為我們可以重新發明輪子,并且我們的版本會更好。

Who knows, maybe the wheel can in fact be improved upon. But if we’re trying to design something more complicated — like a car — do we really want to spend all our time re-inventing wheels?

誰知道,也許實際上可以改進輪子。 但是,如果我們要設計更復雜的東西(例如汽車),我們是否真的想花所有的時間重新發明輪子?

It’s in our nature to want to build things ourselves.

想要自己構建事物是我們的本性。

We love vertically integrated products like Ferraris, Rolexes, and iPhones.

我們喜歡垂直集成的產品,例如Ferraris,Rolexes和iPhone。

We admire the craftsmanship that goes into each detail.

我們很欣賞每個細節的Craft.io。

We marvel at how the design, manufacturing, and distribution all flow together in one controlled process.

我們驚奇于設計,制造和分配如何在一個受控過程中一起流動。

And we want that entire stack to ourselves, too.

我們也希望將整個堆棧交給我們自己。

But in doing so, we fall prey to a paralyzing mentality called Not Invented Here.

但是,這樣做會使我們陷入被稱為“此處未發明”的癱瘓狀態。

“Not Invented Here Syndrome is the tendency of a project group to believe it possess a monopoly of knowledge of its field, which leads it to reject new ideas from outsiders, to the likely detriment of its performance.” — Ralph Katz and Thomas J. Allen of the MIT Sloan School of Management
“此處未發明綜合癥是一個項目組傾向于認為自己擁有其領域知識的傾向,這導致它拒絕外界的新想法,從而可能損害其績效。” —麻省理工學院斯隆管理學院的拉爾夫·卡茨和托馬斯·艾倫

Here’s a PDF of the most widely cited paper on Not Invented Here — originally published in 1982 — in case you want to geek out on the gravity of its findings.

如果您想了解研究結果的嚴重性,以下是1982年首次發表的《此處未發明》一文中被引用最多的論文的PDF。

What this paper doesn’t tell you is that 34 years later, we’re still falling for this same old cognitive bias.

這篇文章沒有告訴您的是,34年后,我們仍然因為同樣的舊認知偏見而陷入困境。

A recent example of Not Invented Here is India’s Swayam online course platform. They could have just built on top of edX’s open source course platform for free. Dozens of other organizations did so, including China’s popular XuetangX platform.

最近未公開的示例是印度的Swayam在線課程平臺。 他們本可以只是在edX的開源課程平臺之上免費構建的。 數十個其他組織也這樣做了,其中包括中國流行的XuetangX平臺。

Instead, Swayam spent $6 million building a platform of their own. And they’ll spend millions more in the coming years to maintain this custom solution.

相反,Swayam花了600萬美元建立了自己的平臺。 在未來幾年中,他們將花費數百萬美元來維護此定制解決方案。

This may not sound like much money, but put that figure in the context of the $30 million they budgeted for paying teachers to create the courses. And this also set back their launch date by two years.

這聽起來似乎并不多,但將這個數字與他們為向教師支付課程費用而預算的3000萬美元相結合。 這也將其推出日期推遲了兩年。

Not Invented Here starts innocently enough…

沒有發明這里足夠天真地開始……

“Why should we use WordPress for our blog? Blogs aren’t hard. Let’s build our own CMS.”
“為什么我們的博客應該使用WordPress? 博客并不難。 讓我們建立自己的CMS。”

Then people get bolder and start thinking…

然后人們變得更大膽,開始思考...

“Why should we use Sugar CRM to keep track of donors? Donor tracking isn’t hard. Let’s build our own CRM.”
“為什么我們應該使用Sugar CRM跟蹤捐贈者? 捐助者追蹤并不難。 讓我們建立自己的CRM。”

Which only further emboldens people to propose things like:

這只會進一步鼓勵人們提出類似的建議:

“Why should we use AWS? Cloud isn’t hard. Let’s build our own data center and implement our own private cloud.”
“我們為什么要使用AWS? 云并不難。 讓我們建立自己的數據中心并實施自己的私有云。”

Left unchecked, this mentality can lead to projects like HealthCare.gov — a $90 million project that ended up costing American taxpayers $1.7 billion.

如果放任不管,這種心態可能會引發類似HealthCare.gov的項目,該項目耗資9000萬美元,最終使美國納稅人損失了17億美元。

I was one of the millions of people who wasted hours of their lives trying to sign up for health insurance, only to be thwarted by JavaScript errors and unresponsive servers.

我是數以百萬計的人,他們浪費了數小時的時間來嘗試購買健康保險,但后來卻因JavaScript錯誤和服務器無響應而受挫。

Amid the Healthcare.gov meltdown, three San Francisco developers decided to grab some off-the-shelf components. They integrated some public APIs. They built significant chunks of Healthcare.gov’s functionality. And they did all this in just a few weeks, for a few hundred dollars.

在Healthcare.gov崩潰期間,三名舊金山開發人員決定購買一些現成的組件。 他們集成了一些公共API。 他們構建了Healthcare.gov的重要功能。 他們花了幾百美元就在短短幾周內完成了所有這些工作。

站在巨人肩膀上的故事。 我自己的。 (A tale of standing on the shoulders of giants. My own.)

Two years ago, I wanted to start a community where busy people could learn to code together.

兩年前,我想建立一個社區,忙碌的人們可以一起學習編碼。

I had just spent 18 months building a huge custom solution: a course recommendation engine that it turned out no one wanted to use.

我剛剛花了18個月的時間建立了一個龐大的自定義解決方案:一個課程推薦引擎,結果卻沒人愿意使用。

So I decided to go in the exact opposite direction. I would write as little code as necessary, and focus instead on using other people’s code.

所以我決定朝相反的方向走。 我將編寫盡可能少的代碼,而專注于使用其他人的代碼。

So what did the community need?

那么社區需要什么呢?

  1. a way to communicate with one another

    一種相互交流的方式
  2. a blog where everyone could share their personal insights and stories

    每個人都可以分享自己的見解和故事的博客
  3. a curriculum, and a way to track people’s progress through it

    課程,以及通過課程跟蹤人們進步的方法

The old Not Invented Here-prone me would have:

老的這里沒有發明的我會:

  1. built a chatroom using web sockets, then built the moderation tools, various API integrations, and figured a good way to persist messages across sessions.

    使用Web套接字建立了一個聊天室,然后構建了審核工具,各種API集成,并找到了一種在會話之間持久保存消息的好方法。
  2. built a blog from scratch, dealt with design issues like readability, tagging, embedding, and basic features people have come to expect, such as RSS.

    從頭開始建立博客,處理諸如可讀性,標記,嵌入以及人們期望的基本功能(例如RSS)等設計問題。
  3. built a custom CMS for the interactive coding challenges, then built out the profile system, then designed and implemented a core programming curriculum.

    建立了針對交互式編碼挑戰的自定義CMS,然后建立了個人檔案系統,然后設計并實施了核心編程課程。

This last step probably would have taken me years to do on my own.

這最后一步可能要花我數年時間才能獨自完成。

And before you tell me “in this day and age, no one’s silly enough to roll their own blog” — well, apparently I was, because I spent a few days doing just that. A few days that I’ll never get back.

在您告訴我“在當今時代,沒有人會愚蠢地推出自己的博客”之前-顯然我是,因為我花了幾天的時間來做這個。 有幾天我永遠都不會回來。

But here’s what the new me — fresh from an 18-month descent into Not Invented Here Hell — decided to do.

但是,這就是新來的我決定做的-從18個月的血統下降到“這里不是地獄”。

I didn’t know any Node.js at the time. But I knew smart people who convinced me that full stack JavaScript was the future.

當時我還不知道任何Node.js。 但是我認識一些聰明的人,他們使我相信全棧式JavaScript是未來。

I also knew about the Hackathon Starter, a popular open source Node.js boilerplate. So I forked it.

我也了解Hackathon Starter ,這是一個流行的開源Node.js樣板。 所以我分叉了。

Since I’d spent the last 18 months scraping, auditing, and classifying thousands of online courses, I knew which ones best covered programming and computer science. So instead of designing a curriculum, I curated existing resources.

由于我在過去的18個月中一直在對數千種在線課程進行抓取,審核和分類,因此我知道哪門課程最適合編程和計算機科學。 因此,我沒有設計課程,而是策劃了現有資源。

For the chat room, I just used HipChat. For the blog, I just used Blogger.

對于聊天室,我只是使用HipChat。 對于博客,我只是使用Blogger。

And within 3 days, the new community was live.

在3天之內,新社區就建立了。

It’s hard to predict how a solution will evolve over time. You learn so much from just shipping the damn thing.

很難預測解決方案將隨著時間的發展而變化。 您可以從運送該死的東西中學到很多東西。

If you get started immediately using off-the-shelf solutions, you can swap them out later, and fine-tune things as you go.

如果您立即開始使用現成的解決方案,則可以稍后將其換出,并在進行過程中進行調整。

Over time, our community has made thousands of small tweaks based on feedback. We’ve also moved our chat rooms over to Gitter, and our community’s blog over to Medium.

隨著時間的流逝,我們的社區根據反饋進行了數千次小調整。 我們還將聊天室移至Gitter,并將社區博客移至Medium 。

Once we had a critical mass of open source contributors, we set to work designing and implementing our own 1,200 hour curriculum.

一旦有大量的開源貢獻者,我們便著手設計和實施自己的1200小時課程。

Today, more than 5,000 people from our community have learned to code well enough to get their first developer jobs.

如今,來自我們社區的5,000多人已學會編寫足夠好的代碼,以找到他們的第一個開發人員職位。

But if I hadn’t resisted my Not Invented Here tendencies, I never would have gotten things off the ground.

但是,如果我沒有抵制“這里沒有發明”的傾向,那我永遠也不會付諸實踐。

如何站在巨人的肩膀上 (How to stand on the shoulders of giants)

I’ll leave you with three simple tips for making the most of the thousands of years of insights at your fingertips.

我將為您提供三個簡單的技巧,使您可以輕松利用數千年的洞察力。

提示1:學會識別自己和他人的未曾發明的東西。 (Tip 1: Learn to recognize Not Invented Here in yourself and others.)

Accept that it’s in our nature to want to build things ourselves. The light side of this is a hobbyist building their own furniture. The dark side is a developer rolling their own security.

接受我們自己的東西,這是我們的本性。 光的一面是業余愛好者自己建造家具。 陰暗的一面是開發人員自己滾動安全性 。

提示2:了解那里提供了哪些工具。 (Tip 2: Learn what tools are out there.)

The easiest way to understand what types of tools are available is to continue doing what you’re doing right now: reading about technology.

了解可用工具類型的最簡單方法是繼續做您現在正在做的事情:閱讀技術。

Most major open source projects are on GitHub, where you can view their documentation. You can deploy many of these tools in minutes to your own cloud server.

大多數主要的開源項目都在GitHub上,您可以在其中查看其文檔。 您可以在幾分鐘之內將許多這些工具部署到自己的云服務器。

提示3:閱讀歷史記錄。 (Tip 3: Read history.)

I’m sure your high school history teacher quoted you this, and they were right:

我確定您的高中歷史老師對此進行了引用,他們是對的:

“Those who do not read history are doomed to repeat it.” — George Santayana in 1905
“那些不讀歷史的人注定要重復它。” — 1905年,喬治·桑塔亞娜(George Santayana)

There are a lot of excellent books about the history of technology. I recommend this one by Walter Isaacson, the same guy who wrote the famous Albert Einstein and Steve Jobs biographies. It’s specifically about the history of software:

關于技術歷史,有很多很棒的書。 我推薦沃爾特·艾薩克森(Walter Isaacson)的這一本書,他是寫著名的阿爾伯特·愛因斯坦和史蒂夫·喬布斯傳記的那個人。 特別是關于軟件的歷史:

The Innovators: How a Group of Hackers, Geniuses, and Geeks Created the Digital RevolutionEdit descriptionamzn.to

創新者: 一群 黑客,天才和怪胎如何創造數字革命 編輯描述 amzn.to

The giants are eager to hoist you onto their shoulders. Let them. They will give you a view of just how many problems are still out there, waiting for you to go solve them.

巨人渴望將您抱在肩上。 讓他們。 他們將為您提供一個解決方案,讓您了解仍有多少問題等待著您解決。

I only write about programming and technology. If you follow me on Twitter I won’t waste your time. ?

我只寫關于編程和技術的文章。 如果您在Twitter上關注我,我不會浪費您的時間。

翻譯自: https://www.freecodecamp.org/news/how-to-stand-on-shoulders-16e8cfbc127b/

巨人肩膀

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/396335.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/396335.shtml
英文地址,請注明出處:http://en.pswp.cn/news/396335.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

mysql 觸發器定義變量_MySQL 函數存儲過程觸發器定義簡單示例

1.變量提示NEW 是新值-- OLD 是舊值INSERT 只有NEW ----UPDATE有NEW和OLD ---DELETE只有OLD2.準備測試表(userinfo、userinfolog)use test;create table userinfo(userid int,username varchar(10),userbirthday date);create table userinfolog(logtime datetime,loginfo varc…

[EOJ439] 強制在線

Description 見EOJ439 Solution 先考慮不強制在線怎么做。 按詢問區間右端點排序&#xff0c;從左往右掃&#xff0c;維護所有后綴的答案。 如果掃到 \(a[i]\)&#xff0c;那么讓統計個數的 \(cnt[a[i]]\). 如果\(cnt[a[i]]<a[i]\)&#xff0c;那么在當前的右端點固定的情況…

大數據 就業 缺口_中國AI&大數據就業趨勢報告:平均月薪超2萬,缺口650萬人...

2019世界人工智能大會開幕式上&#xff0c;特斯拉公司聯合創始人兼首席執行官Elon Musk 和中國企業家俱樂部主席、聯合國數字合作高級別小組聯合主席馬云進行了一場“雙馬”對話。談到人工智能話題時&#xff0c;馬斯克認為&#xff0c;“未來的科技發展變化將超越我們的能力”…

Android pm 命令詳解

一、pm命令介紹與包名信息查詢 1.pm命令介紹 pm工具為包管理&#xff08;package manager&#xff09;的簡稱 可以使用pm工具來執行應用的安裝和查詢應用寶的信息、系統權限、控制應用 pm工具是Android開發與測試過程中必不可少的工具&#xff0c;shell命令格式如下&#xff1a…

開源 非開源_開源為善

開源 非開源by Michael D. Johnson邁克爾約翰遜(Michael D.Johnson) 開源為善 (Open Source for Good) We’ve spent two years coding for a cause, one nonprofit at a time. And now Free Code Camp’s pushing ahead to help organizations at scale.我們花了兩年的時間為…

mysql5.6熱升級_Mysql5.6主從熱備配置

數據庫是應用系統的核心&#xff0c;為了保證數據庫的安全采用主從熱備是很常見的方法&#xff0c;也就是主數據庫DDL、DML都將被同步到從數據庫。一、 實驗環境操作系統&#xff1a;windowsserver 2008 R2數據庫&#xff1a;mysql-advanced-5.6.21-winx64二、 準備工作1、…

InfluxDB(官方使用說明)

安裝InfluxDB OSS 此頁面提供有關安裝&#xff0c;啟動和配置InfluxDB的說明。 InfluxDB OSS安裝要求 root為了成功完成&#xff0c;需要安裝InfluxDB軟件包或具有管理員權限。 InfluxDB OSS網絡端口 InfluxDB默認使用以下網絡端口&#xff1a; TCP端口8086用于通過InfluxDB的H…

incc與oracle連接_Oracle 連接和會話的區別

連接并不是會話的同義詞&#xff0c;發現這一點時很多人都很詫異。在大多數人眼里&#xff0c;它們都是一樣的&#xff0c;但事實上并不一定如此。在一條連接上可以建立0個、一個或多個會話。各個會話是單獨而且獨立的&#xff0c;即使它們共享同一條數據庫物理連接也是如此。一…

CodeForces 176B Word Cut(DP)

題意&#xff1a;給你a串和b串&#xff0c;你能切k次&#xff0c;每次切完將尾部分放在頭的前面&#xff0c;問有多少種方案切k次從a串變為b串 思路&#xff1a;令dp[i][0]為砍了i次變成b串的方案數&#xff0c;dp[i][1]為砍了i次變成非b串的方案數&#xff0c;然后預處理一下前…

如何將React App轉換為React Native

I have been working on a lot of mobile projects lately?—?including Cordova, PhoneGap, React Native, some Ionic and Swift?—?but I have to say, React Native is by far the best experience in mobile development I have had so far. It has great, web-like d…

HTTP狀態碼:400\500 錯誤代碼

轉自&#xff1a;http://blog.sina.com.cn/s/blog_59b052fa0100it74.html一些常見的狀態碼為&#xff1a;200 - 服務器成功返回網頁404 - 請求的網頁不存在503 - 服務不可用詳細分解&#xff1a;1xx&#xff08;臨時響應&#xff09;表示臨時響應并需要請求者繼續執行操作的狀態…

dhcp服務

安裝與配置 配置文件 修改配置文件 復制這個文件到另一端 打開另一端的配置文件 原端輸入這些命令可以去掉英文 然后vim進入另一端配置文件 全局配置不在{}內的 分發范圍是指哪個ip到哪個ip的范圍 指定固定電腦獲取固定位置 原端修改配置文件 下面進行啟動dhcp 克隆一臺虛擬機&…

python數據結構與算法40題_Python數據結構與算法40:遞歸編程練習題3:ASCII謝爾賓斯基地毯...

注&#xff1a;本文如涉及到代碼&#xff0c;均經過Python 3.7實際運行檢驗&#xff0c;保證其嚴謹性。本文閱讀時間約為7分鐘。遞歸編程練習題3&#xff1a;ASCII謝爾賓斯基地毯謝爾賓斯基地毯謝爾賓斯基地毯是形如上圖的正方形分形圖案&#xff0c;每個地毯可分為等大小的9份…

使用Python發送電子郵件

by Arjun Krishna Babu通過Arjun Krishna Babu 如何使用Python發送電子郵件 (How to send emails using Python) As a learning exercise, I recently dug into Python 3 to see how I could fire off a bunch of emails. There may be more straightforward methods of doing…

此blog不更了

1轉載于:https://www.cnblogs.com/ybai62868/p/5384097.html

Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart)

在接觸WebService時值得收藏的一篇文章&#xff1a; 在調試Axis1.4訪問WebService服務時&#xff0c;出現以下錯誤&#xff1a; Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart) 有錯誤找到錯誤原因以及發現值得收藏的…

java遍歷樹結構數據_Java數據結構——二叉樹的遍歷(匯總)

二叉樹的遍歷分為深度優先遍歷(DFS)和廣度優先遍歷(BFS)DFS遍歷主要有&#xff1a;前序遍歷中序遍歷后序遍歷一、遞歸實現DFSNode.java:public class Node {private Object data;Node richild;Node lechild;public Object getData() {return data;}public void setData(Object …

vue 移動端頭像裁剪_使用vue-cropper裁剪正方形上傳頭像-阿里云開發者社區

引用方式在組件內使用import { VueCropper } from vue-croppercomponents: {VueCropper,},main.js里面使用import VueCropper from vue-cropperVue.use(VueCropper)基本使用方法ref"cropper":img"option.img":autoCrop"true":fixedNumber"[…

規則引擎 設計 git_引擎蓋下的Git

規則引擎 設計 gitby Wassim Chegham由Wassim Chegham 引擎蓋下的Git (Git under the hood) Let’s explore some common Git commands, and dive into its internals to see what Git does when you run them.讓我們探索一些常見的Git命令&#xff0c;并深入了解其內部&#…

練習題之死鎖

public class PrintMain {public static String obj1"obj1";public static String obj2"obj2";public static void main(String[] args) {new Thread(new Runnable() {public void run() {System.out.println(new Date().toString "LockA開始執行&qu…