我爲何要作 zendAPI 項目

通過緊張的開發,我終於費了九牛二虎之力將 zendAPI 的項目官網作好上線了,眨眼已經入職奇虎一年了,我也走完了個人職業生涯規劃的第一年,別問我以前4年幹啥去了,我去瀟灑了 (拉着幾個大學同窗創業去了)。回想這一年一路走來有太多的酸甜苦辣了,不過整體來講吉人自有天相過程還算順利。php

曾經有人問我,你爲何要作開源項目呢?如今開源項目這麼多,在 Github 上大到操做系統,小到一個網頁按鈕的顏色設置都有相應的開源項目,咱們拿來用就能夠了,爲何還得本身去費這麼大的力氣去作一個根本不賺錢的項目呢?平時工做已經這麼忙了,還得擠出時間去研究和開發。git

對於這個問題我想從以下幾個方面進行回答:程序員

PHP 內核項目的現狀

隨着 PHP7 的發佈,其實 PHP 在語言特性和運行速度上來講已經能夠知足了絕大數的系統開發,在易用性和穩定性上都沒有什麼問題,同時文檔書籍豐富,很是容易入手。可是在另外一個方面 PHP 社區在 zend engine 也就是 PHP 內核開發上就不是很用心了,接口難用,基本沒有什麼好的文檔,大大增長了擴展的開發。曾經有一個笑話說 PHP 社區裏面的幾個重要成員要是同時失蹤了,PHP 內核項目估計就完蛋了,盤子太大很差接。笑話歸笑話,可是也從側面反映了 PHP 社區確實在作的很差,核心引擎的文檔實在太匱乏。另外一方面是由於是 C 開發,雖然速度快,可是開發效率不是很高,項目代碼量大了加上各類宏調用,可讀性確實不高。github

爲了改善這種狀況,我嘗試作 zendAPI 項目,使用現代的 C++11 對 zend engine 的核心數據結構和接口進行二次封裝,同時保證封裝出來的接口都有文檔描述。努力在不下降性能的前提下,大大下降 PHP 擴展的開發難度。swoole

我的成長經歷

我對計算機是有很大的興趣,回想當年高考就立志要成爲一名牛叉的程序員,高中時候就買了不少計算機書籍,不過都被高中老師收繳了,高考以後就火燒眉毛報考了計算機,在大學開始了本身的自學歷程。這個階段我是處於一個朦朧的階段,相信本身的自學能力,可是事實證實沒有好的導師指導,光靠本身不行。總得來講,從大三開始到入職奇虎這5年,一直處於本身探索階段,各類折騰,浪費了很多青春,收穫總得來講不是很大。這我的生經歷讓我具有了通常人所沒有的危機感,正是這種危機感讓我一刻也不敢鬆懈。入職奇虎以後,有了一份穩定的工做,今後一天看成兩天來用,惡補我以前浪費的青春。
總結來講,我不怕折騰。數據結構

關於重新發明輪子問題

有人曾經問我,不少開源項目都已經有了,爲何還要從新發明輪子, 好比像 zendAPI 這種項目有相似的項目架構

PHP-CPP 官網網址: http://www.php-cpp.com/ 作了好久了,也算比較成熟了。
PHP-X 官網網址:https://github.com/swoole/PHP-X 國內 PHP 大牛韓天峯(swoole 框架做者)的項目框架

是否是別人作了,咱們就放棄作了?放棄享受架構與實現整個項目的樂趣,或者爲本身的懶惰找一個藉口?
我感受答案是否認的,我感受咱們不但要作,並且就是要着重去從新發明這個輪子,咱們的重點不在輪子自己,而是發明輪子這個過程,輪子的成敗其實對咱們我的來講沒有過程重要,在從新發明輪子的過程當中,相信我,您會收穫不少的。性能

我的情懷

一直以來,我都在思考一個問題,做爲一名程序員,我應該作到什麼程度,纔對得起本身,沒有白活一輩子,我一直都很羨慕國外的那些大牛,爲整個領域作出了傑出的貢獻,我也很想跟他們同樣,爲後人留下點什麼。因此我一直在追求着同樣東西,目標一直就沒有變,zendAPI 之後算我留下的一個做品,我會一直在路上,這個只是一個開始。操作系統

在文章的最後,借用 Linux 中一句很出名的話結束這篇博文, Have a lot of fun !

相關文章
相關標籤/搜索