天天看點

原生的沒落與腳本的崛起 - 從科幻小說到現實漫談程式設計語言

鄭重聲明:科幻小說有很多内容是經不起認真推敲的,即使是所謂的硬科幻。但是,這種硬傷并不影響我們學習他們從另一個角度來觀察、思考我們面臨的問題,是以,在這個基礎上學習别人先進思想經驗同時擯棄糟粕是非常必要的。是以在看本文時一定要牢牢記住這句話以免被帶偏。慎重慎重!

還是先從科幻小說《三體》開始,三體中非常震撼人心一個武器是二向箔,這是一種直接将三維空間坍縮到二維空間的武器(注意,我們不是來探讨硬傷的,參看上文聲明),這種武器的可怕之處就在于以光速湮滅掉了三維空間中的所有生物。當然,三體的腦洞還不止于此,她還虛構了更高維的空間,比如四維五維空間等等,甚至還在三維空間中殘留了少量的四維碎片等神奇内容。相信看過《三體》的同學都會深有感觸,此處就不再多費口舌,我們直接進入正題 - 從降維武器角度來看待程式設計語言。

程式設計語言的發展史幾乎是每個開發語言的必講内容,具體來說就是從機器語言->彙編語言->進階語言->腳本語言的一個全面演化過程。按照進化論的說法,這是一個必然的演化過程。顯然這不是我們今天要說的内容,今天要說的是從降維武器(三體)角度來看這個過程。

好了,假設機器語言屬于5維空間,我們可以類推出彙編語言屬于4維,進階語言屬于3維空間,腳本語言屬于2維空間,每個次元的進化都代表着這個次元毀滅性(光速)的打擊。這個跟小說中所描寫的情況高度相似,是以,我們大開一下腦洞,來從小說角度看看都發生了什麼:

1.每次降維打擊都是毀滅性的,且是高速(光速)進行的。這個很顯然、很容易了解也很重要。從程式設計語言的進化史來看,就是一批一批語言的高速死亡。

2.低維相當于高維的投影,這個跟上面那條一樣是不可逆的。是以,從高維角度看低維會覺得異常簡單:從彙編語言來看進階語言的代碼會感覺非常簡單,有很多看起來在低維很難甚至是幾乎無解的問題實際上在高維上簡單得簡直跟1+1差不多。

3.每次降維打擊都要死一大批無法适應低維空間的高維生物(開發工具廠商、軟體開發商),而早早做好了适應低維生存能力的生物能夠更長遠的生存下去。例如從微硬的VC到C#就很能說明問題。當然,這中間死掉了一大批開發工具廠商,此處就不展開了,有興趣的話自己去搜尋吧。

4.從科幻小說(三體)中的文明發展角度看開發語言的使用者也是一個很有趣的事情:無論把腳本語言使用的多麼NB,充其量也隻是能是三體文明的水準,這和歌者文明(開發工具廠商)比起來簡直就是渣渣,同樣,在歸零者文明(CPU供應商)面前,歌者文明就成了渣渣。從這個角度來看,同樣會發現更多有意思的事情:硬體廠商、作業系統、各種GPU等等内容應該屬于什麼文明呢?FaceBook、Google、Twitter、BAT又屬于什麼文明呢?神級文明又是什麼呢?也許可以參考三體來寫一篇計算機進化史的高科技科幻小說或者腦洞出一個場景宏大的西部世界也不是不可能的(此處希望我們的編劇、導演能夠多讀點兒書多看看世界多些腦洞。這句話極可能是對牛彈琴,算了)。當然,你也可以認為這個純粹是胡說八道的腦洞。這個内容就此打住,同樣有興趣的同學可以用自己的腦袋打開一扇新世界的大門。

5.堅守高維空間的開發廠商和開發者更像是三維空間中的四維碎片,結果不言而喻:要麼死亡湮滅要麼成為更高維的文明。說到這裡,其實我很心痛,但事實就是這樣:我用滴血的心深深了解每個四維碎片的價值,但又隻能用适者生存法則來光速湮滅每一個四維碎片!我很想做一個歌者,但很遺憾,我不是。不說了,你懂的。。。

6.光明的未來?看到各種所謂的嶄新開發語言(多如牛毛,說實話,看看某個榜單,我真的記不住)如同雨後春筍般快速成長、壯大,不知道是該興奮還是該悲傷。從進化角度來看,這種現象隻是曆史不斷螺旋上升的一個過程而已。從科幻小說的角度看,這隻是歌者文明使用二向箔進行清理前的前奏而已!是不是很悲慘?是不是有點兒難過?

7.開發語言前瞻:站在行業内部,面對鋪天蓋地的各種“文明”宣傳,我們很難看清未來路在何方。那麼我們就從小說角度看看開發語言的發展方向。首先要提一下老套的公式:程式=資料結構+算法。資料結構這個内容我們不做深談,單說算法,算法可以簡單的認為就是一個個的數學公式(這個表述因條件轉移而非常不嚴謹,請見諒),也就是說用一條條的數學公式将資料結構串起來就得到了程式(結果)。那麼,從這個思路出發,顯然,下一波的開發語言必定是最容易了解的公式語言,且必定是腳本化的!展開一下,我們會看到:泛型的意義有多重要能了解嗎?異步執行多重要能了解嗎?回過頭來,提醒一下:這個是我個人的粗淺了解,請慎重參考。還有,這裡有一個前提條件,就是在人機輸入沒有跨越式的突破之前。最後請思考一下更遠的開發語言應該是什麼樣子?

8.本文的意義:換個角度來思考問題也許會有完全不一樣的發現。同時對于初入開發行業的人員也是一個參考:你想幹什麼?想怎麼幹?以及幹到什麼水準?當然,我很希望每個入行的開發人員都有一顆神級文明的心。

最後,向奮戰在開發戰線上的每一個開發人員緻以最崇高的敬意!無論面對哪個文明的清理都希望你們能夠認清自己:身體最重要!保重!

繼續閱讀