您的位置:首頁>設計>正文

每一個想成功的程式師

好的開始是成功的一半, 本書首先會試圖告訴你什麼是程式師?為什麼要做這樣的程式?正確的入門方法是什麼?

程式師只有在理解了以上內容的基礎上, 才能進一步更快地提高自身技能, 這時候再開始程式的設計。 其實, 對一個軟體的開發者來說, 真正重要的不在於這行代碼怎麼寫, 那些代碼應該怎麼寫, 關鍵是思路的問題, 而思路事實上是經驗的積累。 經驗是使你從最初的封閉的思維方式, 到最後形成開放式的思維的一個過程。 將我十幾年程式生涯中獲得的一些經驗告訴讀者, 使大家少走彎路也是我想寫這本書的主要目的。

1.1 程式≠軟體

現在很多人以為程式就是軟體, 軟體就是程式。 事實上, 軟體和程式在20世紀80年代時, 還可以說是等同的, 或者說, 在非PC領域裡它們可能還會是等同的, 比如說某個嵌入式軟體領域, 軟體和程式可能是等同的。 但是, 在PC這個領域內, 現在的程式已不等於軟體了。 這是什麼意思呢?

1. 軟體發展簡述

在20世紀80年代的時候, PC剛誕生, 這時國內還沒有幾個人會寫程式。 那麼, 如果你寫個程式, 別人就可以拿來用。 這時候的程式就能產生價值, 這個程式就直接等同於軟體。

但軟體行業發展到現在, 這裡以中國的情況為例(美國在20世紀80年代, 程式已經不等同於軟體了), 程式也不等同於軟體了。

因為現在會寫程式很容易, 但是你的這個程式很難產生什麼樣的商業意義, 也不能產生什麼價值, 這就很難直接變成軟體。 要使一個程式直接變成軟體, 中間就面臨著很高的門檻問題。 這個門檻問題來自於整個行業的形成。

現在, 你寫了一個程式以後, 要面臨商業化的過程。 你要宣傳, 你要讓用戶知道, 你要建立經銷管道, 可能你還要花很多的時間去說服別人用你的東西。 這是程式到軟體的一個過程。 這門檻已比較高了。

我們在和國內的大經銷商的銷售管道的人聊天時, 他們的老闆說, 這幾年做軟體的門檻挺高的, 如果你沒有五、六百萬做軟體, 那是“玩”不起來的。 我說:“你們就使門檻很高了。 ”他說:“那肯定是的。 如果你寫個“爛”程式,

明天你倒閉了, 你的東西還占了我的庫房, 我還不知道找誰退去呢。 我的庫房是要錢的呀!現在的軟體又是那麼多!”

所以, 如果你沒有一定的資產的話, 經銷商都不理你。 實際情況也是這樣的, 如果你的公司比較小, 且沒什麼名氣, 你的產品放到經銷商庫房, 那麼他最多給你暫收, 產品銷不動的話, 一般兩周絕對會退貨。 因為現在經銷商可選擇的餘地已很多了, 所謂的軟體也已經很多了。 而程式則更多, 程式都想變成軟體, 誰都說自己的是“金子”。 但只有經受住用戶的檢驗, 才能成為真正的“金子”。

這就是美國為什麼在20世紀90年代幾乎沒有什麼新的軟體公司產生的原因。 只是原來80年代的大的軟體公司互相兼併,

我吞你, 你吃我。 但是, 寫程式的人很多, 美國的程式變軟體的門檻可能比我們還高, 所以很多人寫了程式就丟在網上, 就形成了共用軟體。

2. 共用軟體

共用軟體是避開商業管道的一種方法。 它避開了商業的門檻, 因為這個行業的門檻發展很高以後就輕易進不去了。 我寫個程式丟在網上, 你下載就可以用, 這時候程式又等於軟體。 共用軟體是這樣產生的, 是因為沒有辦法中的辦法。 如果說程式直接等於軟體的話, 誰也不會輕易把程式丟到網上去。

開始做共用軟體的人並不認為做它能賺錢, 只是後來用的人多了, 有人付錢給他了。 共用軟體使得程式和軟體的距離縮短了, 但是它與商務軟體的距離會進一步拉大。 商務軟體的功能和所要達到的目標就不是一個人能“玩”得起來的了。

這時的軟體也已不是幾個人、一個小組就能做出來的了。 這就是在美國新的軟體公司沒法產生的原因。 比如Netscape網景是在1995~1996年產生的新軟體公司, 但是, 兩三年後它就不見了。

1.1.1 商務軟體門檻的形成

1. 商務軟體門檻的形成

商務軟體門檻的形成是整個行業發展的必然結果。 任何一個行業初始階段時的門檻都非常低, 但是, 只要發展到一定的階段後, 它的門檻就必然抬高。 比如, 現在國內生產小汽車很困難, 但在20世紀50年代~60年代的時候, 你裝4個輪子, 再加上柴油機等就形成汽車。 那時的萊特兄弟裝個螺旋槳, 加兩個機翼, 就能做飛機。 整個行業還沒有形成的時候, 絕對可以這樣做,但是,到整個行業形成時,你就做不了了。所有的行業都是這樣的。

為什麼網站一出來時那麼多人去擠著做?這也是因為一開始的時候,看起來門檻非常低,人人都可以做。只要有一個伺服器,架根網線,就能做網站。這個行業處於初始階段時,情況就是這樣的。但這個行業形成後,你就輕易地“玩”不了了。

國內的軟體發展也是如此。國內的軟體自從軟體經銷商形成以後,這個行業才真正地形成。有沒有一個管道是判斷一個行業是否形成的很重要的環節。任何一個行業都會有一個經銷管道,如果管道形成了,那麼這個行業也就形成了。第一名的經銷商是1994年~1995年成立的,也就是說,中國軟體行業大概也就是在1995年形成的,至今才經歷8年時間的發展。

有一種浮躁的思想認為,中國軟體產業應該很快就能趕上美國。美國軟體行業是上世紀80年代形成的,到現在已經發展了20多年了。中國軟體行業才8年,8年才是一個懵懂的小孩,20多歲是一個強壯的青年,那麼他們的力量是不對等的。但也要看到,當8歲變成15歲的時候,它真正的能量才會反映出來。

2. 軟體門檻對程式師的影響

現在中國軟體行業正在形成。所以,現在做一個程式師一定要有耐心,因為現在已經不等於以前了。你一定要把所有的問題搞清楚,然後再去做程式。

對於程式師來說,最好的工作環境是在現有的或者初始要成立的公司裡面,這是最容易成功的。個人單槍匹馬闖天下已經很困難了。即使現在偶爾做兩個共用軟體放在網上能成名,但是也已經比較困難了。因為現在做軟體的人已經很多了。這也說明軟體已經不等於程式了,程式也不等於軟體。

程式要變成軟體,這中間是一個商業化的過程。沒有門檻以前,它沒有這個商業過程,現在有這個行業了,它中間就有商業化的過程。這個商業的過程就不是一個人能“玩”的。

如果你開始做某一類軟體的時候,別人已經做成了,這時你再決定花力氣去做,那麼你就要花雙倍的力氣去趕上別人。

現在的商務軟體往往是由很多模組組成的,模組是整個系統的一部分。個人要完整地寫一個商業系統幾乎是不可能的。軟體進入Windows平臺後,它已經很複雜了,不像在DOS的時候,你寫兩行程式就能賣,做個ZIP也能賣。事實上,美國的商業編譯器也不是一個人能“玩”的。現在你可能覺得它是很簡單的,甚至Linux還帶了一個GCC,且來源程式還在。你可以把它改一改,做個VC試一試,看它會有人用嗎?它能變成軟體嗎?即使你再做個介面,它也還是一個GCC,絕對不會成為Visual C++那樣能商業化的軟體。

可見,國外軟體行業的門檻要比中國的高很多了。我覺得我們中國即使再去做這樣的東西,也沒有多大的意義了。這個門檻你是追不過來的。不僅要花雙倍的力氣,而且在這麼短的時間內,你還要完成別人已經完成過的工作,包括別人所做的測試工作。只有這樣,才能做到你的軟體與別人有競爭力,能與它做比較。

1.1.2 認清自己的發展

如果連以上認識都不清楚,很可能就以為去書店買一本MFC高手速成之類的書,編兩個程式就能成為軟體高手。就好像這些書是“黃金”,我學兩下,學會了VC、MFC,就能做一個軟體拿出去賣了。這種想法也不是不行,最後一定能行,但要有耐心,還要有機遇。機遇是從耐心中產生的,越有耐心,就越有機遇。你得非常努力,要花很多的精力,可能還要走很多的彎路。

如果你是從MFC入手的,或是從VB入手的,則如要做出一個真正的能應用個人領域的通用軟體,就會走非常多的彎路。直接的捷徑絕對不是走這兩條路。這兩條路看起來很快,而且在很多公司裡面確實需要這樣的東西,比如說我這家公司就是為另一個家公司做系統集成的,那我就需要這樣的東西,我不管你具體怎麼實現,我只需要達到這個目標就行了。

任何軟體的實現都會有n種方法,即使你是用最差的那種方法實現的,也沒有問題,最後它還是能運行。即使有問題,再改一改就是。但是,做通用軟體就不行了,通用是一對多,你做出來的軟體以後要面向全國,如果將來自由貿易通到香港也好,通到國外也好,整個產品能銷到全世界的話,這時候,通用軟體所有做的工作就不是這麼簡單了。所以說,正確的入門方法就很關鍵。

如果你僅僅只是想混口飯吃,找個工作,可能教你成為MFC的高手之類的書對你就足夠了。但是,如果你想做一個很好的軟體,不僅能滿足你謀一碗飯吃,還能使你揚名,最後你的軟體還能成為很多人用,甚至你還想把它作為一個事業去經營,那麼這第一步就非常關鍵。這時就絕對不能找一本MFC或找一本VB的書學兩下就行,而是要從最底層開始做起,從最基本做起。

絕對可以這樣做,但是,到整個行業形成時,你就做不了了。所有的行業都是這樣的。

為什麼網站一出來時那麼多人去擠著做?這也是因為一開始的時候,看起來門檻非常低,人人都可以做。只要有一個伺服器,架根網線,就能做網站。這個行業處於初始階段時,情況就是這樣的。但這個行業形成後,你就輕易地“玩”不了了。

國內的軟體發展也是如此。國內的軟體自從軟體經銷商形成以後,這個行業才真正地形成。有沒有一個管道是判斷一個行業是否形成的很重要的環節。任何一個行業都會有一個經銷管道,如果管道形成了,那麼這個行業也就形成了。第一名的經銷商是1994年~1995年成立的,也就是說,中國軟體行業大概也就是在1995年形成的,至今才經歷8年時間的發展。

有一種浮躁的思想認為,中國軟體產業應該很快就能趕上美國。美國軟體行業是上世紀80年代形成的,到現在已經發展了20多年了。中國軟體行業才8年,8年才是一個懵懂的小孩,20多歲是一個強壯的青年,那麼他們的力量是不對等的。但也要看到,當8歲變成15歲的時候,它真正的能量才會反映出來。

2. 軟體門檻對程式師的影響

現在中國軟體行業正在形成。所以,現在做一個程式師一定要有耐心,因為現在已經不等於以前了。你一定要把所有的問題搞清楚,然後再去做程式。

對於程式師來說,最好的工作環境是在現有的或者初始要成立的公司裡面,這是最容易成功的。個人單槍匹馬闖天下已經很困難了。即使現在偶爾做兩個共用軟體放在網上能成名,但是也已經比較困難了。因為現在做軟體的人已經很多了。這也說明軟體已經不等於程式了,程式也不等於軟體。

程式要變成軟體,這中間是一個商業化的過程。沒有門檻以前,它沒有這個商業過程,現在有這個行業了,它中間就有商業化的過程。這個商業的過程就不是一個人能“玩”的。

如果你開始做某一類軟體的時候,別人已經做成了,這時你再決定花力氣去做,那麼你就要花雙倍的力氣去趕上別人。

現在的商務軟體往往是由很多模組組成的,模組是整個系統的一部分。個人要完整地寫一個商業系統幾乎是不可能的。軟體進入Windows平臺後,它已經很複雜了,不像在DOS的時候,你寫兩行程式就能賣,做個ZIP也能賣。事實上,美國的商業編譯器也不是一個人能“玩”的。現在你可能覺得它是很簡單的,甚至Linux還帶了一個GCC,且來源程式還在。你可以把它改一改,做個VC試一試,看它會有人用嗎?它能變成軟體嗎?即使你再做個介面,它也還是一個GCC,絕對不會成為Visual C++那樣能商業化的軟體。

可見,國外軟體行業的門檻要比中國的高很多了。我覺得我們中國即使再去做這樣的東西,也沒有多大的意義了。這個門檻你是追不過來的。不僅要花雙倍的力氣,而且在這麼短的時間內,你還要完成別人已經完成過的工作,包括別人所做的測試工作。只有這樣,才能做到你的軟體與別人有競爭力,能與它做比較。

1.1.2 認清自己的發展

如果連以上認識都不清楚,很可能就以為去書店買一本MFC高手速成之類的書,編兩個程式就能成為軟體高手。就好像這些書是“黃金”,我學兩下,學會了VC、MFC,就能做一個軟體拿出去賣了。這種想法也不是不行,最後一定能行,但要有耐心,還要有機遇。機遇是從耐心中產生的,越有耐心,就越有機遇。你得非常努力,要花很多的精力,可能還要走很多的彎路。

如果你是從MFC入手的,或是從VB入手的,則如要做出一個真正的能應用個人領域的通用軟體,就會走非常多的彎路。直接的捷徑絕對不是走這兩條路。這兩條路看起來很快,而且在很多公司裡面確實需要這樣的東西,比如說我這家公司就是為另一個家公司做系統集成的,那我就需要這樣的東西,我不管你具體怎麼實現,我只需要達到這個目標就行了。

任何軟體的實現都會有n種方法,即使你是用最差的那種方法實現的,也沒有問題,最後它還是能運行。即使有問題,再改一改就是。但是,做通用軟體就不行了,通用是一對多,你做出來的軟體以後要面向全國,如果將來自由貿易通到香港也好,通到國外也好,整個產品能銷到全世界的話,這時候,通用軟體所有做的工作就不是這麼簡單了。所以說,正確的入門方法就很關鍵。

如果你僅僅只是想混口飯吃,找個工作,可能教你成為MFC的高手之類的書對你就足夠了。但是,如果你想做一個很好的軟體,不僅能滿足你謀一碗飯吃,還能使你揚名,最後你的軟體還能成為很多人用,甚至你還想把它作為一個事業去經營,那麼這第一步就非常關鍵。這時就絕對不能找一本MFC或找一本VB的書學兩下就行,而是要從最底層開始做起,從最基本做起。

Next Article
喜欢就按个赞吧!!!
点击关闭提示