音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊(cè) 首頁(yè) | 行業(yè)黑名單 | 幫助
維庫(kù)電子市場(chǎng)網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

我看過(guò)的一篇好文章(轉(zhuǎn)貼)

作者:zzf123 欄目:嵌入式系統(tǒng)
我看過(guò)的一篇好文章(轉(zhuǎn)貼)
編程高手箴言
好的開(kāi)始是成功的一半,本文首先會(huì)試圖告訴你什么是程序員?為什么要做這樣的程序?正確的入門(mén)方法是什么?
程序員只有在理解了以上內(nèi)容的基礎(chǔ)上,才能進(jìn)一步更快地提高自身技能,這時(shí)候再開(kāi)始程序的設(shè)計(jì)。其實(shí),對(duì)一個(gè)軟件的開(kāi)發(fā)者來(lái)說(shuō),真正重要的不在于這行代碼怎么寫(xiě),那些代碼應(yīng)該怎么寫(xiě),關(guān)鍵是思路的問(wèn)題,而思路事實(shí)上是經(jīng)驗(yàn)的積累。經(jīng)驗(yàn)是使你從最初的封閉的思維方式,到最后形成開(kāi)放式的思維的一個(gè)過(guò)程。將我十幾年程序生涯中獲得的一些經(jīng)驗(yàn)告訴讀者,使大家少走彎路也是我想寫(xiě)這本書(shū)的主要目的。

1.1 程序≠軟件
現(xiàn)在很多人以為程序就是軟件,軟件就是程序。事實(shí)上,軟件和程序在20世紀(jì)80年代時(shí),還可以說(shuō)是等同的,或者說(shuō),在非pc領(lǐng)域里它們可能還會(huì)是等同的,比如說(shuō)某個(gè)嵌入式軟件領(lǐng)域,軟件和程序可能是等同的。但是,在pc這個(gè)領(lǐng)域內(nèi),現(xiàn)在的程序已不等于軟件了。這是什么意思呢?
1. 軟件發(fā)展簡(jiǎn)述
在20世紀(jì)80年代的時(shí)候,pc剛誕生,這時(shí)國(guó)內(nèi)還沒(méi)有幾個(gè)人會(huì)寫(xiě)程序。那么,如果你寫(xiě)個(gè)程序,別人就可以拿來(lái)用。這時(shí)候的程序就能產(chǎn)生價(jià)值,這個(gè)程序就直接等同于軟件。
但軟件行業(yè)發(fā)展到現(xiàn)在,這里以中國(guó)的情況為例(美國(guó)在20世紀(jì)80年代,程序已經(jīng)不等同于軟件了),程序也不等同于軟件了。因?yàn)楝F(xiàn)在會(huì)寫(xiě)程序很容易,但是你的這個(gè)程序很難產(chǎn)生什么樣的商業(yè)意義,也不能產(chǎn)生什么價(jià)值,這就很難直接變成軟件。要使一個(gè)程序直接變成軟件,中間就面臨著很高的門(mén)檻問(wèn)題。這個(gè)門(mén)檻問(wèn)題來(lái)自于整個(gè)行業(yè)的形成。
現(xiàn)在,你寫(xiě)了一個(gè)程序以后,要面臨商業(yè)化的過(guò)程。你要宣傳,你要讓用戶(hù)知道,你要建立經(jīng)銷(xiāo)渠道,可能你還要花很多的時(shí)間去說(shuō)服別人用你的東西。這是程序到軟件的一個(gè)過(guò)程。這門(mén)檻已比較高了。
我們?cè)诤蛧?guó)內(nèi)的大經(jīng)銷(xiāo)商的銷(xiāo)售渠道的人聊天時(shí),他們的老板說(shuō),這幾年做軟件的門(mén)檻挺高的,如果你沒(méi)有五、六百萬(wàn)做軟件,那是“玩”不起來(lái)的。我說(shuō):“你們就使門(mén)檻很高了!彼f(shuō):“那肯定是的。如果你寫(xiě)個(gè)“爛”程序,明天你倒閉了,你的東西還占了我的庫(kù)房,我還不知道找誰(shuí)退去呢。我的庫(kù)房是要錢(qián)的呀!現(xiàn)在的軟件又是那么多!”
所以,如果你沒(méi)有一定的資產(chǎn)的話,經(jīng)銷(xiāo)商都不理你。實(shí)際情況也是這樣的,如果你的公司比較小,且沒(méi)什么名氣,你的產(chǎn)品放到經(jīng)銷(xiāo)商庫(kù)房,那么他最多給你暫收,產(chǎn)品銷(xiāo)不動(dòng)的話,一般兩周絕對(duì)會(huì)退貨。因?yàn)楝F(xiàn)在經(jīng)銷(xiāo)商可選擇的余地已很多了,所謂的軟件也已經(jīng)很多了。而程序則更多,程序都想變成軟件,誰(shuí)都說(shuō)自己的是“金子”。但只有經(jīng)受住用戶(hù)的檢驗(yàn),才能成為真正的“金子”。
這就是美國(guó)為什么在20世紀(jì)90年代幾乎沒(méi)有什么新的軟件公司產(chǎn)生的原因。只是原來(lái)80年代的大的軟件公司互相兼并,我吞你,你吃我。但是,寫(xiě)程序的人很多,美國(guó)的程序變軟件的門(mén)檻可能比我們還高,所以很多人寫(xiě)了程序就丟在網(wǎng)上,就形成了共享軟件。
2. 共享軟件
共享軟件是避開(kāi)商業(yè)渠道的一種方法。它避開(kāi)了商業(yè)的門(mén)檻,因?yàn)檫@個(gè)行業(yè)的門(mén)檻發(fā)展很高以后就輕易進(jìn)不去了。我寫(xiě)個(gè)程序丟在網(wǎng)上,你下載就可以用,這時(shí)候程序又等于軟件。共享軟件是這樣產(chǎn)生的,是因?yàn)闆](méi)有辦法中的辦法。如果說(shuō)程序直接等于軟件的話,誰(shuí)也不會(huì)輕易把程序丟到網(wǎng)上去。
開(kāi)始做共享軟件的人并不認(rèn)為做它能賺錢(qián),只是后來(lái)用的人多了,有人付錢(qián)給他了。共享軟件使得程序和軟件的距離縮短了,但是它與商業(yè)軟件的距離會(huì)進(jìn)一步拉大。商業(yè)軟件的功能和所要達(dá)到的目標(biāo)就不是一個(gè)人能“玩”得起來(lái)的了。這時(shí)的軟件也已不是幾個(gè)人、一個(gè)小組就能做出來(lái)的了。這就是在美國(guó)新的軟件公司沒(méi)法產(chǎn)生的原因。比如netscape網(wǎng)景是在1995~1996年產(chǎn)生的新軟件公司,但是,兩三年后它就不見(jiàn)了。
1.1.1 商業(yè)軟件門(mén)檻的形成
1. 商業(yè)軟件門(mén)檻的形成
商業(yè)軟件門(mén)檻的形成是整個(gè)行業(yè)發(fā)展的必然結(jié)果。任何一個(gè)行業(yè)初始階段時(shí)的門(mén)檻都非常低,但是,只要發(fā)展到一定的階段后,它的門(mén)檻就必然抬高。比如,現(xiàn)在國(guó)內(nèi)生產(chǎn)小汽車(chē)很困難,但在20世紀(jì)50年代~60年代的時(shí)候,你裝4個(gè)輪子,再加上柴油機(jī)等就形成汽車(chē)。那時(shí)的萊特兄弟裝個(gè)螺旋槳,加兩個(gè)機(jī)翼,就能做飛機(jī)。整個(gè)行業(yè)還沒(méi)有形成的時(shí)候,絕對(duì)可以這樣做,但是,到整個(gè)行業(yè)形成時(shí),你就做不了了。所有的行業(yè)都是這樣的。
為什么網(wǎng)站一出來(lái)時(shí)那么多人去擠著做?這也是因?yàn)橐婚_(kāi)始的時(shí)候,看起來(lái)門(mén)檻非常低,人人都可以做。只要有一個(gè)服務(wù)器,架根網(wǎng)線,就能做網(wǎng)站。這個(gè)行業(yè)處于初始階段時(shí),情況就是這樣的。但這個(gè)行業(yè)形成后,你就輕易地“玩”不了了。
國(guó)內(nèi)的軟件發(fā)展也是如此。國(guó)內(nèi)的軟件自從軟件經(jīng)銷(xiāo)商形成以后,這個(gè)行業(yè)才真正地形成。有沒(méi)有一個(gè)渠道是判斷一個(gè)行業(yè)是否形成的很重要的環(huán)節(jié)。任何一個(gè)行業(yè)都會(huì)有一個(gè)經(jīng)銷(xiāo)渠道,如果渠道形成了,那么這個(gè)行業(yè)也就形成了。第一名的經(jīng)銷(xiāo)商是1994年~1995年成立的,也就是說(shuō),中國(guó)軟件行業(yè)大概也就是在1995年形成的,至今才經(jīng)歷8年時(shí)間的發(fā)展。
有一種浮躁的思想認(rèn)為,中國(guó)軟件產(chǎn)業(yè)應(yīng)該很快就能趕上美國(guó)。美國(guó)軟件行業(yè)是上世紀(jì)80年代形成的,到現(xiàn)在已經(jīng)發(fā)展了20多年了。中國(guó)軟件行業(yè)才8年,8年才是一個(gè)懵懂的小孩,20多歲是一個(gè)強(qiáng)壯的青年,那么他們的力量是不對(duì)等的。但也要看到,當(dāng)8歲變成15歲的時(shí)候,它真正的能量才會(huì)反映出來(lái)。
2. 軟件門(mén)檻對(duì)程序員的影響
現(xiàn)在中國(guó)軟件行業(yè)正在形成。所以,現(xiàn)在做一個(gè)程序員一定要有耐心,因?yàn)楝F(xiàn)在已經(jīng)不等于以前了。你一定要把所有的問(wèn)題搞清楚,然后再去做程序。
對(duì)于程序員來(lái)說(shuō),最好的工作環(huán)境是在現(xiàn)有的或者初始要成立的公司里面,這是最容易成功的。個(gè)人單槍匹馬闖天下已經(jīng)很困難了。即使現(xiàn)在偶爾做兩個(gè)共享軟件放在網(wǎng)上能成名,但是也已經(jīng)比較困難了。因?yàn)楝F(xiàn)在做軟件的人已經(jīng)很多了。這也說(shuō)明軟件已經(jīng)不等于程序了,程序也不等于軟件。
程序要變成軟件,這中間是一個(gè)商業(yè)化的過(guò)程。沒(méi)有門(mén)檻以前,它沒(méi)有這個(gè)商業(yè)過(guò)程,現(xiàn)在有這個(gè)行業(yè)了,它中間就有商業(yè)化的過(guò)程。這個(gè)商業(yè)的過(guò)程就不是一個(gè)人能“玩”的。
如果你開(kāi)始做某一類(lèi)軟件的時(shí)候,別人已經(jīng)做成了,這時(shí)你再?zèng)Q定花力氣去做,那么你就要花雙倍的力氣去趕上別人。
現(xiàn)在的商業(yè)軟件往往是由很多模塊組成的,模塊是整個(gè)系統(tǒng)的一部分。個(gè)人要完整地寫(xiě)一個(gè)商業(yè)系統(tǒng)幾乎是不可能的。軟件進(jìn)入windows平臺(tái)后,它已經(jīng)很復(fù)雜了,不像在dos的時(shí)候,你寫(xiě)兩行程序就能賣(mài),做個(gè)zip也能賣(mài)。事實(shí)上,美國(guó)的商業(yè)編譯器也不是一個(gè)人能“玩”的,F(xiàn)在你可能覺(jué)得它是很簡(jiǎn)單的,甚至linux還帶了一個(gè)gcc,且源程序還在。你可以把它改一改,做個(gè)vc試一試,看它會(huì)有人用嗎?它能變成軟件嗎?即使你再做個(gè)界面,它也還是一個(gè)gcc,絕對(duì)不會(huì)成為visual c++那樣能商業(yè)化的軟件。
可見(jiàn),國(guó)外軟件行業(yè)的門(mén)檻要比中國(guó)的高很多了。我覺(jué)得我們中國(guó)即使再去做這樣的東西,也沒(méi)有多大的意義了。這個(gè)門(mén)檻你是追不過(guò)來(lái)的。不僅要花雙倍的力氣,而且在這么短的時(shí)間內(nèi),你還要完成別人已經(jīng)完成過(guò)的工作,包括別人所做的測(cè)試工作。只有這樣,才能做到你的軟件與別人有競(jìng)爭(zhēng)力,能與它做比較。
1.1.2 認(rèn)清自己的發(fā)展
如果連以上認(rèn)識(shí)都不清楚,很可能就以為去書(shū)店買(mǎi)一本mfc高手速成之類(lèi)的書(shū),編兩個(gè)程序就能成為軟件高手。就好像這些書(shū)是“黃金”,我學(xué)兩下,學(xué)會(huì)了vc、mfc,就能做一個(gè)軟件拿出去賣(mài)了。這種想法也不是不行,最后一定能行,但要有耐心,還要有機(jī)遇。機(jī)遇是從耐心中產(chǎn)生的,越有耐心,就越有機(jī)遇。你得非常努力,要花很多的精力,可能還要走很多的彎路。
如果你是從mfc入手的,或是從vb入手的,則如要做出一個(gè)真正的能應(yīng)用個(gè)人領(lǐng)域的通用軟件,就會(huì)走非常多的彎路。直接的捷徑絕對(duì)不是走這兩條路。這兩條路看起來(lái)很快,而且在很多公司里面確實(shí)需要這樣的東西,比如說(shuō)我這家公司就是為另一個(gè)家公司做系統(tǒng)集成的,那我就需要這樣的東西,我不管你具體怎么實(shí)現(xiàn),我只需要達(dá)到這個(gè)目標(biāo)就行了。
任何軟件的實(shí)現(xiàn)都會(huì)有n種方法,即使你是用最差的那種方法實(shí)現(xiàn)的,也沒(méi)有問(wèn)題,最后它還是能運(yùn)行。即使有問(wèn)題,再改一改就是。但是,做通用軟件就不行了,通用是一對(duì)多,你做出來(lái)的軟件以后要面向全國(guó),如果將來(lái)自由貿(mào)易通到香港也好,通到國(guó)外也好,整個(gè)產(chǎn)品能銷(xiāo)到全世界的話,這時(shí)候,通用軟件所有做的工作就不是這么簡(jiǎn)單了。所以說(shuō),正確的入門(mén)方法就很關(guān)鍵。
如果你僅僅只是想混口飯吃,找個(gè)工作,可能教你成為mfc的高手之類(lèi)的書(shū)對(duì)你就足夠了。但是,如果你想做一個(gè)很好的軟件,不僅能滿(mǎn)足你謀一碗飯吃,還能使你揚(yáng)名,最后你的軟件還能成為很多人用,甚至你還想把它作為一個(gè)事業(yè)去經(jīng)營(yíng),那么這第一步就非常關(guān)鍵。這時(shí)就絕對(duì)不能找一本mfc或找一本vb的書(shū)學(xué)兩下就行,而是要從最底層開(kāi)始做起,從最基本做起。
1.2 高手是怎樣練成的
1.2.1 高手成長(zhǎng)的六個(gè)階段
程序員怎樣才能達(dá)到編程的最高境界?最高境界絕對(duì)不是你去編兩行代碼,或者是幾分鐘能寫(xiě)幾行代碼,或者是用什么所謂的可視化工具產(chǎn)生最少的代碼這些工作,這都不是真正的高手境界。即使是這樣的高手,那也都是無(wú)知者的自封。
我認(rèn)為,一個(gè)程序員的成長(zhǎng)可分為如下六個(gè)階段。
第一階段
此階段主要是能熟練地使用某種語(yǔ)言。這就相當(dāng)于練武中的套路和架式這些表面的東西。
第二階段
此階段能精通基于某種平臺(tái)的接口(例如我們現(xiàn)在常用的win 32的api函數(shù))以及所對(duì)應(yīng)語(yǔ)言的自身的庫(kù)函數(shù)。到達(dá)這個(gè)階段后,也就相當(dāng)于可以進(jìn)行真實(shí)散打?qū)毩,可以真正地在?shí)踐中做些應(yīng)用。
第三階段
此階段能深入地了解某個(gè)平臺(tái)系統(tǒng)的底層,已經(jīng)具有了初級(jí)的內(nèi)功的能力,也就是“手中有劍,心中無(wú)劍”。
第四階級(jí)
此階段能直接在平臺(tái)上進(jìn)行比較深層次的開(kāi)發(fā)。基本上,能達(dá)到這個(gè)層次就可以說(shuō)是進(jìn)入了高層次。這時(shí)進(jìn)入了高級(jí)內(nèi)功的修煉。比如能進(jìn)行vxd或操作系統(tǒng)的內(nèi)核的修改。
這時(shí)已經(jīng)不再有語(yǔ)言的束縛,語(yǔ)言只是一種工具,即使
2樓: >>參與討論
highend
像是一個(gè)外行寫(xiě)的。
尤其是關(guān)于64bit的描述。




3樓: >>參與討論
st963432
支持
 
4樓: >>參與討論
艾森豪威爾
愚蠢!。
 
5樓: >>參與討論
leo_ok
兄弟有沒(méi)有新一點(diǎn)的?
N 年前就看過(guò)了,還有點(diǎn)道理。不過(guò)兄弟有沒(méi)有新一點(diǎn)的?

參與討論
昵稱(chēng):
討論內(nèi)容:
 
 
相關(guān)帖子
請(qǐng)問(wèn)各位高人,我是不是不會(huì)有機(jī)會(huì)了
請(qǐng)教,我這個(gè)三行的程序是錯(cuò)誤在哪里呢?
請(qǐng)教,什么樣的中斷是軟中斷,什么樣的中斷是 硬件中斷?
各種單片機(jī)資料與開(kāi)發(fā)工具下載
做什么樣的軟件才是真正的嵌入式軟件工程師?
免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào)