Prototype興衰啟示錄

aqee發表於2012-12-24

  本文的作者Sam Stephenson是Prototype js框架的創始人。他從2006年開始一直在37signals工作做web開發。除了Prototype外,他還開發過很多開源軟體,比如rbenvsprockets 等。

本文的作者 Sam Stephenson

  程式設計師們一起努力來建立共享的軟體基礎工具:這是開源軟體的基本要旨。任何有想法、有激情並且有能力實現這個想法的程式設計師都是在為我們解決一個常見問題,向世界分享其解決方案,然後其他程式設計師會在將來一起改進這個方案,這就是回報。

  做這種共享的基礎軟體工具通常需要具有瘋狂的大腦。我早該知道這些。在2005年,我開發了Prototype指令碼庫——現代web瀏覽器應用設計的第一代JavaScript類庫。在當時瀏覽器創新一片死氣沉沉的景象中,Prototype是一個與眾不同的創意:我們能否通過擴充JavaScript的內建型別、通過增加具有新功能的型別來彌補JavaScript的固有缺陷?

  這種思想很快的被接受。Ruby on Rails選用Prototype作為其JavaScript框架,很快人們就在一些知名的大公司,例如蘋果,紐約時報的網站裡發現了它的身影。

  然而,不久之後,事情越來越清楚:Prototype的核心思想和這個世界的發展方向是不一致的。瀏覽器廠商對JavaScript復興所做的努力是增加新的API,其中很多是和Prototype的實現相沖突。此時,程式設計師開始展現對一些小的,自我實現,模組化的腳步庫的偏愛,而不是大型的框架。

  僅僅短暫的幾年時間,Prototype從一個最佳的開發準則變成了反模式的代表——依賴於你在聽誰說,你甚至會相信它是Web上最糟糕的一個東西。可事實上,儘管架構上有缺陷,Prototype曾給眾多程式設計師帶來幫助。但是春來春去,我最終發現我需要走向新的征途。

  作為個人,很難獨自承擔起Prototype的失敗。批評性的部落格文章讓我感覺這是我個人價值的重創。看著朋友們都去使用其他的指令碼庫,我感覺我的工作都是在浪費時間。

  但這是一種我們讓共享軟體向前進步的過程。為了跟上最新的技術,我們不僅要能去嘗試新思想,還要能放棄那些已經不可用的或者有更好的思想替代的舊思想。我們必須有勇氣的坦率的說出程式碼中的問題,去除內心的自負對犯錯的恐懼。

在開源世界裡我學到了——我並不是我的程式碼。對我的軟體作品的批評並不是對我個人的攻擊。我的軟體的替代品的出現並不是一個敵意或分化。它只是人們永不停息的對現狀改進的願望驅動下的一個簡單的更新換代的結果。

  我Sam Stephenson,37signals公司的一個程式設計師。

  原文連結:You Are Not Your Code

相關文章