2014年12月31日 星期三

2014


2014年,過得真的太慘了。
差點回不來。
還好,我回來了一半。
正慢慢回復中。

原因呢?我認為與不平衡有關。
來自於工作、感情、健康,各方面的壓力。
我以前總認為,這些東西,對我來說,沒有什麼。
但事實是,原來我都是逞強。

所以,2015,就是以下三點。

1. 簡單生活、健康生活。
2. 努力工作、默默練功。
3. 隨興所至、即時行樂。

簡單生活,讓生活中所有的小事,都盡量單純化。
我沒有那麼多的精力,去思考這些無所謂的事。
人生還有更重要的部份,更值得我去關注。

健康生活,不用說了,我已得到深刻教訓。

努力工作,就是努力工作,我也不求什麼,就是把事情做好就可以了。
其它的,隨它吧。
盡人事、聽天命。

默默練功,不會再肖想要做些什麼,但我會鴨子划水。
心情上也會調整過來,我以會玩樂的態度去面對。

隨興所至,事實上就是遵循以往的人生哲學。
快樂生活最重要,不要太勉強自己。
一切隨興。

即時行樂,想到什麼,就去實行。
別等了,沒那麼多時間的。

誰都無法阻止我。
就讓我至少任性的過這一年吧。


2014我已經夠難過的了。

2014年5月22日 星期四

放棄


我錯了。

選擇和自己相差過大的生活方式,搞得我自己壓力太大,導致近期快出狀況了。

不能再這樣下去了。

我要收回2013年底的話。
放棄追求極致。

如果可以的話。
接下來,就還是以一貫的人行道方式生活。

這才是我的本性,這才符合我。

我錯了。

真的很後悔。
我再也不會去嘗試不適合自己的事了。
真的。

2014年1月17日 星期五

2014年了,我們的銀彈在哪裡?

在大學時期,我曾短暫接觸過網頁技術。

當時我們有門課,其中教的是網頁的基本語法(也就是所謂的html),另外也有涉足到一些Flash
在當時,其實我認為我算學得不錯的了,即使我壓根兒不知道什麼叫網站程式。
畢竟那時大夥兒都還停留在 web 1.0 的思維階段,寫寫靜態網頁、用Flash跑跑動畫大家也就很高興了。
程式?有的,我們教了 C 語言,學校也教了我們一點點做 3D 遊戲的基本程式。
但其實當時的我,根本不知道這些東西是拿來幹什麼用的,所以總是對這些課程興趣缺缺。
這部份就這樣被我給放掉了,畢業後當然也從沒想過要用走這一行,以寫程式換飯吃。
一直到我從澳洲回來,進入資策會重新學了半年多的網頁程式技術,我才重新認識了程式設計。
也幸好資策會的課程規劃裡,是用了比較簡單易懂的程式語言(PHP)作為入門,挫折感沒那麼大,我才能繼續念下去。
因為 PHP 天生的特性,讓程式很快、也很容易就能得到回饋,也就是說只要你把環境設定好,程式寫了什麼,馬上就會在網頁上秀出來給你看成果,這大幅增加了學習上的成就感。
不像以前學的 C 語言,寫了半天還要去給它編譯,編譯完了就在螢幕上秀出幾行字...然後呢?沒了!
如果你要做個有畫面有特效的應用程式,那可不是初學個幾天就能搞定的了...

當然,C語言雖然不像表面上那麼方便,但它的彈性相當的大,甚至可以寫出一個新的程式語言都沒有問題,無論是在效能上與用途上,都與 PHP 是不同等級的,但學習上就必須多花點功夫了。

半年的受訓很快的結束了。
2013年初,我進入了某知名網路公司,擔任網路程式設計師一職。
經過了一年的時間,對網站技術絕不能稱已經是精通熟練,但也至少脫離新手村有一段距離了。
前陣子,偶然在網路上看到這篇,裡頭介紹了許多軟體工程相關的必讀經典。
其中的一本,人月神話,前陣子在圖書館剛好有找到,當下就借回家來細細品嘗一番。

看完的心得,以後有機會在寫,這一篇不是讀書心得。
我提到這本書的原因,是因為作者(他算是軟體界大師級的人物了)在書後附了一篇名為沒有銀彈的文章。
有關於這篇文章有多麼的有名,在此就不贅述了,你或許也可以在網路上搜尋到這篇文章的全文。
它的大意就如同 wiki 上寫的,軟體工程無論如何的發展下去,依舊『不會有任何特效藥』。

所以作者在文章中表明,不會有那麼一天,我可以直接把需求說出來,電腦就會自動產生程式與軟體來解決我的問題,這完全是癡心妄想。

許多人在這篇文章公諸於世之後,紛紛提出了自己的見解與主張。
有人同意、有人不同意,而我呢?老實說程式資歷這麼淺、各種技能也都還沒熟透的我,根本沒資格去討論什麼。

但在玩了網站程式一年多之後,我越來越傾向去同意,沒有銀彈這個理論,至少在網站技術這一個領域上來說。

如果要針對程式本身的進步與方便性來講,銀彈確實是慢慢的製成中。(但還沒完成!)
比起10年前,現在要寫一個可以跑程式的網站,實在方便太多太多了。
我根本無法想像,以前如果沒有這些方便的程式語言時,要用 C 語言來寫網站該怎麼做。
雖然技術上來說絕對是做得到的,但我的學習時間恐怕要比 PHP 在長個兩、三倍以上,效能也不見得會比 PHP 自己幫我處裡來得好。

所以如果要稱 PHP 是網頁程式設計上的銀彈,以某種角度來說,確實是如此沒有錯。
你可以省掉超級超級多的心力,去開心的建置一個網站,好好發揮你的想像與創意,不必拘泥在那些細節上。

但是,以一個已經身陷於專案之中的工程師的角度來說,真的是如此嗎?

對,PHP是很方便沒有錯,但程式是不是還是得寫?
當網站功能一多起來,麻煩的地方還是麻煩,問題還是一堆問題。
這些問題或許不是像古早年代,那種記憶體溢位、或是資料型別錯誤那樣,但是在程式整體結構上依舊是一片狼藉。

為什麼會這樣?因為『需求』阿!

需求本身造就了麻煩的程式,不斷變更的需求將會導致程式的複雜度與日俱增。

這是所謂作者所說的程式『本質性』的問題。
如果今天我們只需要知道 1+1 等於多少,那當然簡單阿!
但偏偏人的需求千變萬化,甚至很多時候連我們自己想要什麼,我們自己都說不太清楚了,更何況寫程式...

再來是『附加性』的問題。
程式的部份,老實說算是還算容易的了。
雖然很多架網站的環境已經先進到可以讓你一鍵上線,但如果你要依照自己的需求效調東西,那又另當別論。
程式的部份看看那個跨瀏覽器問題...
可能一段 JS 或是一段 CSS(這兩樣都是建構網站不可或缺的東西),在 Chrome 跟在 IE 上跑起來卻不一樣?

怎麼會有這種事情發生?

現在讓我們以一個普通人用普通的思考方式來仔細想想看,2+2 等於多少?
答案很簡單對不對?
但如果有天某一個國家公佈 2+2 等於 5,那該怎麼辦?行得通嗎?

當然行不通!

但令人難以致信的,現在網站的技術就是這副德行!
在真實世界裡已經發生了 2+2=5 這種事了!

現在的網站對 Chrome 來說可能 2+2 是等於 3、而 FireFox 可能等於 6、另外 IE 又是等於 500
各自為政的結果就是讓所有網路從業人員一個頭兩個大!浪費了許許多多的時間,用各種奇奇怪怪的方式去解決這種根本性的問題!
這整件事從一開始就有問題。
原因呢?當然是因為所謂的利益阿!
當技術伴隨著過大的利益而持續演進時,簡單的事情就會變得麻煩,快樂的事就會變得痛苦。
各大知名網路公司推出自己的瀏覽器,只支援自己的技術,讓別人都不用不得、或吃不到、或跟不上,心裡想得是怎麼樣才能從中獲取最大利益,做的盡是些阻礙技術發展的垃圾步!
這就是為什麼已經到了2014年了,網路技術的銀彈卻還是生不出來的原因!
試想一下,如果大家全體達成共識,將技術與利益分配給說好、談好,然後各自為了那一方面而努力,今天跨瀏覽器的問題會是問題?
更不要說其實這種鎖國政策的技術發展根本也沒讓你賺到多少錢,卻得賠上千千萬萬的技術人員寶貴的時間與金錢,浪費在不必要的事物上。
我承認上述的技術世界烏托邦思想有點太過一廂情願,但我真的認為,即使是從商業利益面來看,各自為政的網路技術策略絕對沒有同心協力來得好賺!這是我敢百分之一百打包票的!
可惜那號稱個個都絕頂聰明、頂尖大學畢業的CEO或是創辦人們就是選擇對這個問題視而不見。
不管再多少個十年,我認為都不會有銀彈產生。
甚至還會有人主張要將銀彈摧毀,而且這是現在就在發生的事。
為的就是那點私心,技術人員終將活在一個充滿錯誤、挫折以及滿是荊棘的世界之中。

我或許太悲觀,但是面對越來越多的新技術、新標準、以及大型公司的商業策略與發展,我實在無法眛著良心說,我在網路技術的領域中,已看見了光明的未來。