這段時(shí)間在coursera上修吳恩達(dá)那門(mén)deep learning的課抖仅。其間時(shí)不時(shí)出現(xiàn)的公式,勾起了我一些對(duì)形式化的符號(hào)系統(tǒng)的“美妙”回憶辛友。打引號(hào)并不是因?yàn)榛貞浝锶秦瑝?mèng)(盡管當(dāng)年類(lèi)似三天愣是看不懂一個(gè)兩頁(yè)的證明的慘劇時(shí)有發(fā)生……)毅哗。博士幾年的訓(xùn)練讓我對(duì)于符號(hào)系統(tǒng)的美感,有了一種比葉公好龍稍稍高級(jí)一點(diǎn)的喜愛(ài)职烧。所以趁著最近學(xué)習(xí)扁誓,我專(zhuān)門(mén)找來(lái)兩本高分的數(shù)學(xué)書(shū)《什么是數(shù)學(xué)》《微積分的歷程》,好好“懷舊”了一把蚀之。盡管這兩本書(shū)在大神眼里絕對(duì)是科普讀物蝗敢,但是對(duì)我來(lái)說(shuō),足以活動(dòng)腦子足删,甚至逼著我拿起紙筆推演幾步了寿谴。
不過(guò)這篇文章要說(shuō)的不是兩本書(shū)里的數(shù)學(xué)內(nèi)容本身,而是我從中一閃念體會(huì)到的失受,“神圣”“無(wú)暇”的數(shù)學(xué)系統(tǒng)讶泰,和我們IT業(yè)的產(chǎn)品演化過(guò)程的種種神似。這里我舉一個(gè)例子拂到,數(shù)系痪署。
和很多產(chǎn)品一樣,數(shù)系的起點(diǎn)是非常自然而然和直覺(jué)化的——自然數(shù)1兄旬、2狼犯、3……的起源就是為了數(shù)東西。比如說(shuō)部落里的人领铐,有了自然數(shù)悯森,大家就都能數(shù)明白自己人有多少個(gè)了。能數(shù)人了绪撵,大家都很滿意瓢姻。這大概相當(dāng)于產(chǎn)品原型的驗(yàn)證完成。
數(shù)了一段時(shí)間人音诈,大伙兒擴(kuò)展用例汹来,開(kāi)始數(shù)東西,還搞起了商品交易改艇。這時(shí)候大伙發(fā)現(xiàn)一個(gè)問(wèn)題收班,每次交換了東西回來(lái)以后,得重新數(shù)一遍才能知道自己現(xiàn)在有多少個(gè)谒兄。于是誕生了新的需求——加法和減法運(yùn)算摔桦。
加法算多了,發(fā)現(xiàn)有的時(shí)候一直加一樣的數(shù)字挺麻煩,這樣就催生了一個(gè)對(duì)加法功能的enhancement——乘法運(yùn)算邻耕。有了乘法鸥咖,還得能反著算回去,于是又有了除法兄世。
好了啼辣,酷到爆炸的新feature一下加了好幾個(gè),就出問(wèn)題了御滩。2+4=6鸥拧,但是2-4是等于多少?還有6除以3等于2削解,但是5除以3富弦,這又等于多少?還有大伙發(fā)現(xiàn)量東西的時(shí)候量出來(lái)的尺寸經(jīng)常在一個(gè)單位和兩個(gè)單位中間氛驮,這該算多長(zhǎng)……這些都是新的系統(tǒng)實(shí)現(xiàn)和老的系統(tǒng)模型(自然數(shù))不吻合導(dǎo)致的問(wèn)題腕柜,大致相當(dāng)于merge了大的新feature以后出現(xiàn)的bug。
出了bug怎么辦呢矫废,修盏缤!一種比較簡(jiǎn)單的修法是,加if-else蓖扑。比如說(shuō)if被減數(shù)比減數(shù)小萧豆,就拋異常颁股,不算了舱呻。但是這樣用戶(hù)體驗(yàn)太差了物邑,我能寫(xiě)出算式還能說(shuō)出背后的應(yīng)用場(chǎng)景察署,可是你偏偏不讓我算趋急。用戶(hù)不干了那這么修肯定是不行了娘赴。另一種辦法扔傅,是請(qǐng)大牛們來(lái)碰声,重構(gòu)系統(tǒng)模型诡蜓,使得模型、實(shí)現(xiàn)和使用場(chǎng)景邏輯相容胰挑。這里數(shù)系系統(tǒng)上做的就是引入負(fù)數(shù)蔓罚、有理數(shù)的概念擴(kuò)充自身,并且保證所有的運(yùn)算操作的意義和過(guò)程都和自然數(shù)類(lèi)似瞻颂。Bug修好了豺谈,一時(shí)間系統(tǒng)顯得穩(wěn)定無(wú)比,于是再次發(fā)布了贡这。
又過(guò)了一陣茬末,新需求又來(lái)了。大家需要做連乘的簡(jiǎn)便方法——于是有了冪指數(shù)運(yùn)算。這新feature帥的飛起丽惭,除了有個(gè)bug击奶,指數(shù)上面有的有理數(shù)放上去系統(tǒng)就掛了。比方說(shuō)2的1/2次方责掏。關(guān)鍵在于這問(wèn)題不是沒(méi)事找事弄出來(lái)的柜砾,很多實(shí)際的應(yīng)用場(chǎng)景在后邊,比如算一個(gè)正方形的對(duì)角線長(zhǎng)度的時(shí)候經(jīng)常就算出來(lái)等于這玩意换衬。怎么辦痰驱,繼續(xù)呼喚大牛修bug。于是數(shù)系被擴(kuò)充到了無(wú)理數(shù)冗疮。大牛們擴(kuò)充了模型萄唇,還夯實(shí)了新元素和老元素的種種邏輯關(guān)系。系統(tǒng)再次看起來(lái)無(wú)比的美妙术幔,“比上一代提升了10倍”另萤。
可惜沒(méi)過(guò)多久,有用戶(hù)弄出了(-1)的1/2次方這么個(gè)東西……幾位大牛再次從天而降诅挑。復(fù)數(shù)登場(chǎng)……
這么平安的過(guò)了好久四敞,系統(tǒng)都非常的完美。
可是就算是神級(jí)大牛操刀拔妥,系統(tǒng)修補(bǔ)的次數(shù)多了總免不了有些地方比較別扭忿危,于是有人開(kāi)始想一個(gè)問(wèn)題,咱們能不能重新把模型建一下没龙,把這些別扭的地方都能理順了铺厨。在數(shù)學(xué)的領(lǐng)域,一個(gè)叫哥德?tīng)柕耐瑢W(xué)說(shuō)你們就別做夢(mèng)了硬纤,搞不定的解滓,然后還給出了鐵證。大家有點(diǎn)失望筝家,但是給了鐵證也不能視而不見(jiàn)洼裤。問(wèn)題是這系統(tǒng)已經(jīng)這么重要了,總不能因?yàn)樗鼪](méi)法改進(jìn)到完美就不用了吧溪王。怎么辦呢腮鞍,忍著。這樣有的別扭大家就先視而不見(jiàn)好了莹菱,反正也不影響日常使用移国。在數(shù)學(xué)里的例子比如連續(xù)統(tǒng)假設(shè)在zfc系統(tǒng)里既不真也不假……
這個(gè)例子大概就是這樣了。要特別說(shuō)的是數(shù)學(xué)系統(tǒng)有兩個(gè)優(yōu)勢(shì)道伟,導(dǎo)致它的quality比IT產(chǎn)品系統(tǒng)要好得多得多:
第一桥狡,數(shù)學(xué)系統(tǒng)的演化是沒(méi)有資本主義的幽靈在背后玩命的催促的,所以可以做到絕對(duì)的質(zhì)量?jī)?yōu)先。產(chǎn)品一時(shí)半會(huì)出不來(lái)我就慢慢做裹芝。這可能是因?yàn)榻F(xiàn)代的數(shù)學(xué)用高度的抽象性部逮,杜絕了世俗力量給它breakdown,manage嫂易,設(shè)milestone和deadline的可能兄朋。要知道21世紀(jì)數(shù)學(xué)的前沿領(lǐng)域的名稱(chēng)就已經(jīng)不是正常的人話了。比方說(shuō)我現(xiàn)在的項(xiàng)目叫做“證明在非奇異復(fù)射影代數(shù)簇上, 任一霍奇類(lèi)是代數(shù)閉鏈類(lèi)的有理線性組合”怜械,來(lái)吧颅和,你說(shuō)要怎么管理我這項(xiàng)目。要不我給你約個(gè)daily update meeting每天給你講講缕允?
第二峡扩,也許更重要的,是修數(shù)學(xué)系統(tǒng)的bug的人障本,都是這個(gè)星球的歷史上出現(xiàn)過(guò)的最牛的一群人教届。隨便說(shuō)幾個(gè)名字:畢達(dá)哥拉斯、牛頓驾霜、萊布尼茨案训、高斯、歐拉粪糙、柯西强霎、勒貝格、希爾伯特蓉冈、哥德?tīng)柍俏琛嫾尤R……這些人腦子如神一般牛掰不說(shuō),還特別投入特別有激情和使命感寞酿。這幫人對(duì)系統(tǒng)的思考層次和塑造能力家夺,完全不是聚集成千上萬(wàn)每月拿工資的如我等的小聰明可以企及的。
總結(jié)一下這個(gè)體會(huì)就是熟嫩,所有的人造系統(tǒng)都是經(jīng)驗(yàn)主義+實(shí)用主義作為發(fā)展的核心指導(dǎo)思想的秦踪。簡(jiǎn)單的說(shuō)褐捻,就是“事實(shí)說(shuō)話+夠用就行”掸茅。在新需求不斷的沖擊下,這種系統(tǒng)往往過(guò)一陣就得大修一番才能保證不崩潰(據(jù)說(shuō)很多公司就干脆扔了重寫(xiě))柠逞。
另一方面昧狮,要做好的產(chǎn)品,需要不太緊的schedule板壮,和素質(zhì)高并且self-motivated的團(tuán)隊(duì)逗鸣。這是每個(gè)開(kāi)發(fā)團(tuán)隊(duì)管理者的夢(mèng)想。
(莫名的覺(jué)得這里應(yīng)該接個(gè)招聘廣告結(jié)束才比較自然。撒璧。應(yīng)該讓HR準(zhǔn)備一下 lol)