隨筆 跳出程式設計師思維看世界

2022-05-07 15:09:07 字數 2659 閱讀 6794

作為程式設計師,我真的有時候特別想 debug 這個世界。看看這個世界究竟是怎麼執行的。因為經常會遇到她的輸出跟我斷言的不一樣,或者我覺得正常的輸入,卻被她判定為非法。

先分享兩件事吧。

第一件事,記得去年考駕照的時候,應該是在練科目三。教練帶著我練車,當開到乙個地方時,讓我停車。然後跟我說:『這裡是乙個考點,看到前面那棵樹沒?考試的時候,你把車開到離那棵樹大概這麼長的距離,停一下車』。我頓時懵逼了,我發現我對『大概這麼長』完全沒有個概念。我就問教練『大概這麼長是多長?』,這下就輪到教練懵逼了,然後,就聽到後座早就等的不耐煩排隊練車的三個同學跟教練異口同聲的對我說『大概這麼長就是這麼長呀』,同時給我乙個看著智障一樣的眼神。大概這麼長就是這麼長,那到底是多長,我徹底凌亂了。那一刻我才發現我和世界不一樣。

好在後來教練沒有放棄對我的**,但我能明顯感覺出來,她教我的方式跟其它人不太一樣。後面跟我說話的畫風都是這樣的。『看到前面那棵樹沒?考試的時候,你把車開到離那棵樹半公尺的距離,停一下車。看到那個花台沒?車輪與花台平行,並且保持20公分的距離。看到前面那個電線桿沒?車頭與它的夾角成60度的時候,方向盤及時回正』,半公尺、平行、20公分、60度,這些詞讓我覺得這才是正確的描述。但我還是不明白別人是怎麼明白『大概這麼長』是多長的。

第二件事,我發現我怎麼都學不會做菜。究其原因是什麼呢?因為我發現自己完全看不懂菜譜。每次看到裡面充斥著類似鹽少許、醋若干、醬油適量等這樣的描述我都氣不打一處來。我如果自己明白適量是多少,我還去看菜譜幹什麼。我一直覺得寫這種菜譜的人,心裡一點 b 數都沒有。但是呢?跟上面練車的例子一樣,別人就是可以通過這些少許、若干、適量的字眼學會做菜,還做的不錯。這樣看來我可能才是那個沒有 b 數的那個。

說到 b 數,我其實覺得這是乙個比較粗俗的詞彙。但是,我一時又想不到有什麼詞可以去替換它。如果非要找個詞的話,我就想起以前上學打『英雄聯盟』的時候,各種坑隊友。隊友總是能預判出哪個草叢可能有人,哪個地方會有誰來 gank 你,什麼時候該到**去。他們之間的溝通,乙個眼神、乙個訊號就夠了。而我啥也 get 不到,總是送人頭,打單機。後來我就問他們是怎麼感覺出來,簡直像開掛一樣,我怎麼什麼也感覺不到。他們給我的評價是『因為你沒有意識』。對,就是『意識』這個詞。

為什麼我沒有意識。可能意識這個東西比較偏感性思維,而我偏理性思維,也可能我天生就是乙個意識薄弱的人。但是毫無疑問的是,當我選了理科,當我進入社會成了一名程式設計師,都一直在弱化意識這個東西。

就拿**來說,**裡面寫的最多的是什麼,應該是方法。每個系統是由 n 個類組成,每個類又是由 n 個方法組成。而方法又叫函式,取自數學上的概念。wiki 上是這樣描述它的,『_函式就像機器或黑箱,給予輸入值便產生唯一輸出值』。_注意唯一這個詞,理論上函式的外部輸入值一樣,最終得到的結果也是一樣。我們寫**的時候大部分情況下也是這樣,少部分情況下不一致很可能是因為 bug。這就跟意識沒有半毛錢關係了,通常在你輸入的時候就能知道他應該有什麼樣的輸出,用程式設計師的話說就是斷言。而如何知道輸出斷言,不是靠感覺出來的,是你通過邏輯一步一步推導出來的,容不得半點感性思維在裡面。

另外乙個場景,大家就很熟悉了。就是跟產品經理日常吵架。吵的原因如下,比如加需求了、比如改需求了、再比如需求不明確了。。。無外乎都是圍繞著需求的。而其中最傷腦筋的就是需求不明確。

最近幾年 ai 非常火,每種職業都有一種,以後會不會被 ai 取代的焦慮,程式設計師也不例外。以前就看到過這樣的帖子,作者表達出類似的擔憂。帖子的大概內容就是覺得 ai 發展十分迅速,假以時日,可能以後就沒有什麼程式設計師了,只有產品經理。以後開發系統的場景可能是這樣的,產品經理登入乙個 ai 系統,在系統介面劈哩叭啦把需求輸入進去,然後 ai 系統根據輸入的需求瞬間生成了一堆**,組成乙個新的系統。看到這個帖子,我瞬間就感受到了那種焦慮,然後我就往下拉,看帖子的回覆,當我看到回覆裡面點讚最高的那一條時,我立刻就釋然了。點讚最高的那一條回覆是這樣說的『這種場景永遠也不可能出現,除非有一天,產品經理能把他們的需求說清楚』。

男程式設計師思維VS女程式設計師思維

今天下午參加了乙個技術分享,產生了一些想法。本文沒有什麼理論性,也沒有什麼科學性,單純主觀感受。如果您讀後有所收穫,那就再好不過啦。先說事情的流程 知識點就不涉及了,主要講講大boss問的問題帶給我的思考。問題 1 2 請參考上圖 1 問題 為什麼不能直接通訊,而是經過 解決 這就能牽扯出 這一部分...

程式設計師思維定勢

程式設計師思維定勢 程式設計師思維定勢 1 機器思維 優秀的程式設計師最擅長和電腦程式打交道,並通過 去控制反饋。而管理需要和人打交道,需要收集人的反饋。電腦是按邏輯來執行的,而人卻要複雜很多,特別是團隊中有女性成員,挑戰難度就更大。由於長期和電腦接觸,很多程式設計師缺乏和別人溝通的技巧,或者說情商...

程式設計師看婚姻

又有人要說他 她 要是想出軌公布各種密碼也沒用。這句話就像在說乙個當官的想貪擋都擋不住一樣。這裡說說法律,法治社會人會不會犯法?還是會有的,所以乙個婚姻監督體系的存在仍然杜絕不了 出軌 總體上來講可以降低這種事件的發生。再說說信任。信任從 來,不是憑空而來的,光說 你怎麼不相信我?關鍵是 我為什麼要...