一直到現(xiàn)在我都還能記得第一次看到 web.py 時(shí)候的感覺(jué), 驚艷? 這是一個(gè)單文件的 python web framework, 相比我曾經(jīng)見(jiàn)到過(guò)的 django, zope, pylons 和 turbogears 這些框架, 這意味著一個(gè)時(shí)代的開(kāi)始, python的微框架時(shí)代.
很可惜, 直到 Aaron Swartz 去世的時(shí)候, 我才真正開(kāi)始關(guān)注這位天才少年. 或許這個(gè)世界上有一小部分和我一樣的 python/web 程序員, 曾經(jīng)與這位天才的作品如此接近, 卻從來(lái)沒(méi)有關(guān)注過(guò)框架作者的姓名. 構(gòu)思這篇文章已經(jīng)很久, 也是故意等到今天才發(fā)出來(lái), 逝者已經(jīng)離我們而去整整一年.
當(dāng) Aaron Swartz 離我們而去的那一段時(shí)間, 獲得了不少媒體的關(guān)注, 無(wú)非是發(fā)現(xiàn)一個(gè)挺有才, 也挺有錢的年輕人, 就這么自己了結(jié)了, 挺可惜的. 報(bào)道中說(shuō)的關(guān)于 RSS 1.0 標(biāo)準(zhǔn)的制定者什么的, 好吧, RSS 也將隨著時(shí)間以及移動(dòng)互聯(lián)網(wǎng)隨風(fēng)而去. 另外一個(gè)巨大的爭(zhēng)議, 是關(guān)于美國(guó)的檢察部門對(duì)于 Aaron 的指控"有著不顧一切, 非同尋常的亢奮". 看來(lái)我們生活在 hard 模式的程序員, 和那些生活在 easy 模式的國(guó)家的人們, 追求夢(mèng)想都不是一件容易的事情.
我們來(lái)談?wù)剰某绦騿T geek 的角度, Aaron 改變了這個(gè)世界的那么一點(diǎn)點(diǎn). web.py 是 python 世界的第一個(gè)微框架, 影響到的不僅僅是在此之后的 tornado, flask 這些, 也間接的影響到了 ruby 世界的框架比如 sinatra. 在移動(dòng)互聯(lián)網(wǎng)到來(lái)的時(shí)候, 基于微框架的 web 程序應(yīng)為寫 API 比較方便而大行其道. 這就像是那只蝴蝶翅膀扇動(dòng)引起的氣旋, 后來(lái)形成的颶風(fēng).
我們依然相信, 如果 Aaron 不選擇離開(kāi), 那么他這一生可能會(huì)給我們這個(gè)世界帶來(lái)更多的改變. 他不僅僅是一個(gè) web 框架的作者而已, reddit 也是他的作品之一, wikipedia 的那篇關(guān)于貢獻(xiàn)者的文章也是可圈可點(diǎn). 作為一個(gè)程序員, 他的眼界明顯已經(jīng)超越了技術(shù), 開(kāi)始關(guān)注到信息對(duì)這個(gè)社會(huì)的價(jià)值.
我們依然無(wú)法更多的了解, 這位少年在做出選擇之前, 獨(dú)自面對(duì)的困難和絕望, 似乎在某一時(shí)刻以后, 他的行為就開(kāi)始遇到各種各樣的阻力. 這些問(wèn)題包括法律的, 也有世俗的. 就像那些成年人對(duì)待小動(dòng)物一樣, 他們對(duì)待年輕人, 甚至新興事物的態(tài)度, 都幾乎是一個(gè)樣子的. 但是我們相信, Aaron 的離開(kāi)一定不是為了逃避, 而是用這個(gè)行為給社會(huì)有力的回?fù)? 我們?yōu)榇烁械酵锵? 但是我們依然為一個(gè)敢于執(zhí)行和堅(jiān)持的年輕人, 豎起大拇指. 希望這個(gè)社會(huì)不要那么快忘記他, 并從中學(xué)到點(diǎn)什么.
當(dāng)年web.py第一版的下載鏈接是 http://webpy.org/web.py, 我在 github 上一直都找不到那個(gè)最初的 0.1 版本, 最后發(fā)現(xiàn)在官網(wǎng)上這個(gè)版本一直沒(méi)有被刪除, 僅僅是換了一個(gè)地方而已, 現(xiàn)在的地址是這個(gè) http://webpy.org/static/web.py
讓我們共勉, Aaron 的精神!
補(bǔ)充:
根據(jù) http://en.wikipedia.org/wiki/Markdown, Aaron Swartz 也是Markdown 的主要貢獻(xiàn)者之一, 和 John Gruber 一起發(fā)明并實(shí)現(xiàn)了這種傳播信息的重要語(yǔ)言.