程式猿日記S01E01

2021-09-23 17:35:28 字數 2249 閱讀 2674

"人類世界是個對許多事情無動於衷或冷嘲熱諷的地方,布道勢必付出重大成本,克服很多不利條件,才足以服人。"

動物世界有太多雌性專愛一些看似很愚蠢的雄性炫耀,包括利用鮮豔的羽毛、寬大的角、誇大的求偶儀式炫耀等等。

例如,雄孔雀必須耗費許多精力保養漂亮的尾羽,儘管尾羽有礙它的飛行能力,使它更易被掠食者捕獲。雌孔雀自己的單調羽色證明她深信保護色大有優點,但是她幾乎每次選物件都挑中尾巴更大、羽色更鮮豔的乙個。

雌性之所以會選擇某種誇張的特徵,完全是因為這個特徵確實能證明該雄性是乙個理想配偶。按這個論點,孔雀的巨大尾巴的益處何在?愛爾蘭大鹿為什麼進化出幅寬3.6公尺的大角?弗塞特為什麼要乘著熱氣球活活受罪?

扎哈維已有了理論上的答案,後來又在觀察阿拉伯鶥的時候獲得證實。某日他在思索乙個問題:鶥見了隼為什麼不悄悄地躲入樹叢,反而不斷對著隼大叫?「於是我明白了,它們是在對掠食者說話。」

鶥向隼暴露自己的位置,乃是將不利條件加諸於自己,也是以類似廣告的方式宣布:你用奇襲不會成功。這件事使扎哈維相信,浮誇炫耀的不利條件:鶥的大叫、雄孔雀的尾巴、鹿的角,其實都是有用途的。能討雌性歡心的那些炫耀,其實也能使掠食者和雄性對手知難而退。

愛做危險的炫耀行為的本能,以及欣賞這種危險行為的傾向,也因此在物種之內持續增多。

扎哈維的理論基於對動物繁殖的本能來描述動物為什麼會在生理上保持一些看似愚蠢卻是正確的特徵。

從網際網路公司**式創業來看,一樁事可能因為它有危險卻能帶來更大的機遇。社會的進步需要這種精神,也依賴於自由的環境,這個是另外乙個因素。

從公司內部來看,相似團隊間的差異性,體現了不同的創新能力。很難說誰能夠決定這種差異性,是乙個團隊的所有人行為的結果。從leader到葉節點成員,都付出了成本,為了創新需要付出更大的成本,克服更多的不利條件。道是團隊的目標和方向,正確的道會持續產生影響力,為更多的人採用。這也是我們願意去創新的一種本能的驅動力,低俗一點說就是動物的炫耀本能,高尚一點是說是對社會進步的一種責任感。

對於我現在的認知來說,推動個人和社會進步一點點的變化都叫創新。

好的軟體作品,源自於開發者的個人需要。

需求和業務那麼多,你讓我搞創新?看似乙個悖論,實則不然。優秀的程式猿知道如何去使用工具提公升效率,如何把**設計得復用性和擴充套件性更好,如何貢獻給其他人使用,如何考慮使用者的體驗。不同的程式猿對業務場景的認知能力,抽象能力有差異。大部分時候,前瞻性的設計被誤認為是「過度設計」。事實上體現了兩方面的問題,評審團的認知能力過低和缺乏理論指導。遇到這種情況,好的設計會被扼殺在設計階段或者在發展階段被帶歪。

開源社群遵循同儕評價的原則,設計好不好由和你差不多認知和經驗的人來評判。如果讓某個領域的大神來評判,就像牛頓的段子一樣,在他的眼裡只有兩種人,sb和更sb,這就尷尬了。如果讓認知能力差的人來評價,往往就會被認為過度設計。

基於理論作設計和實踐,比憑經驗對設計和編碼評判更準確、客觀。編碼設計中經常用到的solid原則,dag、sap分包原則;指導系統形態的康威法則。這些都可以作為評判設計好壞的理論,和具體業務產品無關。解決具體業務場景問題的時候,設計者從腦海中挑選決策樹,選出能夠解決當前問題,同時確保一定階段的擴充套件性,能夠承載這個階段業務的發展和變化。用**的資料和業務變化點來論證這個決策到底是不是「牛刀」或者是不是一次性**。兩者相比,一次性**設計更應該被杜絕,這種設計缺乏思考的深度,復用性和擴充套件性都沒考慮,無法應對業務變化,不適合網際網路move fast and break things的理念。要戰勝競品公司,快速實現產品的feature是乙個核心競爭力。就像矽谷創業之父paul graham說的「競爭對手乙個團隊發布的新功能,我們第二天就把相應的功能推出」,他們的秘密**就是lisp語言,但是競爭對手一直沒發現和在意。相反,paul graham會去看當時的其他網際網路公司在招聘什麼樣程式猿,他會重點關注在招聘使用lisp等黑客青睞的語言的公司,real programmer。

集團內部,很多應用的**都值得參考,這是阿里的財富,也是我們能夠互相學習的資源。但是我們沒法像開源社群一樣去改喜歡的應用的**,還沒有形成集市模式。資訊不對稱,產生了很多重複的輪子;設計的前瞻性缺失,讓你必須造一些輪子。造輪子的時候,你是否讓其他人覺得你進步了,同儕是否欣賞你,克服了多少不利條件,你自己是否進化了?

「人類的智慧型就像孔雀的羽毛,只是乙個奢侈的展示,旨在吸引伴侶。所有的藝術、文學,莫扎特、威廉、莎士比亞、公尺開朗基羅,甚至帝國大廈,都只是乙個精心的求偶儀式……但是當然,孔雀不能飛翔。它們生活在塵土裡,用喙挑出蟲子吃掉。「 -- 福特(編劇:喬納森.諾蘭,西部世界s01e07)

福特認為ai的認知能力有屏障,無法飛翔,只能在塵土中吃蟲子,都是他制定好的程式。我覺得諾蘭應該會讓ai突破這個屏障,按照人類文明進化的方式,不斷創新超越自我,即使前方有很多危險,要付出重大的代價。

演算法訓練 s01串 (簡單遞迴)

link 演算法訓練 s01串 時間限制 1.0s 記憶體限制 256.0mb 問題描述 s01串初始為 0 按以下方式變換 0變1,1變01 輸入格式 1個整數 0 19 輸出格式 n次變換後s01串 樣例輸入 3 樣例輸出 101資料規模和約定 0 19 ac code include incl...

小猿日記 程式猿的日常日記(1)

上週看了天氣預報,發現下週都有雨,便把傘放在了公司。誰知道這老天爺,今天大清早的就下雨了,卡在了我起床的點。不過也是奇怪,在我想要請假前幾分鐘,雨便停了。也打消了我上午請假的念頭。匆忙來到公司,來不及做到工位上,便早早迎來了產品經理的bug,我知道,前天上線專案的鍋來了。聽了產品的問題描述,來不及多...

牛客每日練習 翻硬幣,s01串,乘積最大

小明正在玩乙個 翻硬幣 的遊戲。桌上放著排成一排的若干硬幣。我們用 表示正面,用 o 表示反面 是小寫字母,不是零 比如,可能情形是 oo oooo 如果同時翻轉左邊的兩個硬幣,則變為 oooo oooo 現在小明的問題是 如果已知了初始狀態和要達到的目標狀態,每次只能同時翻轉相鄰的兩個硬幣,那麼對...