一個(gè)ASP程序員的奮斗歷程
終于升星了~~
在CSDN中辛辛苦苦爬了三載
也做了三載的ASP開(kāi)發(fā)
這期間經(jīng)常在CSDN中看到許多朋友討論究竟學(xué)哪種語(yǔ)言的問(wèn)題
在此我要說(shuō)明的是
其實(shí)我個(gè)人認(rèn)為ASP并不是最好的WEB開(kāi)發(fā)語(yǔ)言
但也決不是最差的!
和其他的語(yǔ)言一樣或多或少存在著某些缺陷
但從我的學(xué)習(xí)和工作中積累下來(lái)的經(jīng)驗(yàn)看來(lái)
我覺(jué)得有兩句話值得大家借鑒
1、術(shù)業(yè)有專攻
其實(shí)我并非計(jì)算機(jī)專業(yè)科班出身
甚至連相關(guān)專業(yè)都算不上
大學(xué)的時(shí)候因?yàn)樨澩孢B計(jì)算機(jī)二級(jí)都沒(méi)過(guò),汗!
工作后因?yàn)榘l(fā)展需要才轉(zhuǎn)學(xué)的計(jì)算機(jī)
一開(kāi)始按領(lǐng)導(dǎo)要求接觸的是C語(yǔ)言
但學(xué)習(xí)一段時(shí)間毫無(wú)建樹(shù)后又按領(lǐng)導(dǎo)要求轉(zhuǎn)攻VB、VBA
在開(kāi)發(fā)了幾個(gè)小的管理軟件后
領(lǐng)導(dǎo)重新提出新的思路
于是我才真正開(kāi)始ASP的學(xué)習(xí)之路
記得剛開(kāi)始那段時(shí)間
因?yàn)閷?duì)ASP及網(wǎng)絡(luò)編程完全不了解
身邊惟一的一本參考資料
就只有那本現(xiàn)在已經(jīng)破爛不堪的《ASP與網(wǎng)頁(yè)數(shù)據(jù)庫(kù)設(shè)計(jì)》
最早的開(kāi)發(fā)工具是FRONTPAGE
由于條件所限,又不知道如何在網(wǎng)上查資料
我常常因?yàn)榍短椎难h(huán)結(jié)構(gòu)而頭破血流
常常因?yàn)閿?shù)組結(jié)構(gòu)而苦苦思索
常常因?yàn)橄雽憥讉€(gè)很簡(jiǎn)單字符串處理函數(shù)而加班加點(diǎn)
…… ……
很難想象我曾經(jīng)一度因?yàn)橄覨RONTPAGE不爽而直接用NOTEPAD編程
后來(lái)才改用現(xiàn)在一直在用的DREAMWEAVER
慢慢的,我漸漸才摸清ASP編程過(guò)程中所需要具備的各種基礎(chǔ)條件
首先,你必須要具備一定的美感
因?yàn)橐粋€(gè)網(wǎng)站的評(píng)判標(biāo)準(zhǔn)中,頁(yè)面美觀簡(jiǎn)潔實(shí)用是最直接的評(píng)判標(biāo)準(zhǔn)
好的印象分往往可以掩蓋很多技術(shù)上的不足
為了讓自己的美感能夠得到充分的展示
我對(duì)PHOTOSHOP進(jìn)行了系統(tǒng)的學(xué)習(xí)
并最終拿到了國(guó)家勞動(dòng)部頒布的結(jié)業(yè)證書
也算是對(duì)圖形處理網(wǎng)頁(yè)設(shè)計(jì)方面的學(xué)習(xí)有了個(gè)總結(jié)
另外,對(duì)CSS樣式表單的熟悉程度也間接決定了你代碼的簡(jiǎn)潔性
我早期的作品中常常充斥著各種樣式定義
HTML、CSS、ASP代碼混用現(xiàn)象嚴(yán)重代碼冗長(zhǎng)而繁瑣
其實(shí),開(kāi)發(fā)大型ASP管理系統(tǒng)時(shí),文件的組織也是異常重要的
其次,你必須能夠很熟練的運(yùn)用VBScript、JavaScript
這里可能會(huì)有人問(wèn)為什么不提及HTML
因?yàn)槲艺J(rèn)為HTML應(yīng)該是ASP程序員所具備的最基本的常識(shí)!
由于完全是自學(xué),在最初學(xué)習(xí)JavaScript的同時(shí)
我稀里糊涂的把Java、JSP以及JavaScript相關(guān)的資料亂啃一通
在一陣陣茫然加驚訝后才明白這三者的區(qū)別
現(xiàn)在想來(lái)實(shí)在汗顏!
當(dāng)然,也不是什么東西都必須用JavaScript或者VBScript寫
在我寫的代碼中JavaScript通常是用來(lái)處理字符串和數(shù)組的
而VBScript則用得相當(dāng)?shù)纳?br />只在遠(yuǎn)程數(shù)據(jù)庫(kù)控制和服務(wù)器端數(shù)據(jù)初始化方面才會(huì)用到
我這邊有個(gè)程序員以前比較擅長(zhǎng)C/C++
當(dāng)?shù)弥梢杂肑avaScript實(shí)現(xiàn)很多網(wǎng)頁(yè)特效后
在剛開(kāi)始寫ASP程序時(shí)曾一度拒絕使用ASP語(yǔ)言
并很不屑的表示ASP能做的他用JavaScript/VBScript也能實(shí)現(xiàn)
其后果可想而知
程序中到處都充斥著各種各樣的函數(shù)
結(jié)構(gòu)化編程中函數(shù)堆砌的毛病全部移植到ASP寫的程序中
造成整個(gè)程序運(yùn)行時(shí)效率低下
與數(shù)據(jù)庫(kù)交互的同時(shí)服務(wù)器近乎癱瘓
最后不得不低下那曾高昂的頭顱
為什么一定非要經(jīng)歷失敗才懂得回頭呢??
如果一開(kāi)始按照我指導(dǎo)的那樣做
相信今天問(wèn)題也不至于這么嚴(yán)重了
再次,你必須具備關(guān)系型數(shù)據(jù)庫(kù)設(shè)計(jì)的基本知識(shí)
因?yàn)楹芏郃SP開(kāi)發(fā)的軟件都是基于數(shù)據(jù)庫(kù)的
數(shù)據(jù)庫(kù)在整個(gè)軟件中所占的地位非同一般
如果底層的數(shù)據(jù)庫(kù)沒(méi)有設(shè)計(jì)好
那么帶來(lái)的影響必定是災(zāi)難性的
這可以用前面提到那個(gè)程序員的事例作為佐證!
說(shuō)到這,又不得不提SQL語(yǔ)言的學(xué)習(xí)了
我覺(jué)得SQL語(yǔ)言的學(xué)習(xí)和數(shù)據(jù)庫(kù)理論的學(xué)習(xí)應(yīng)該是同步的
任何語(yǔ)言都只是工具,你所要做的不僅僅是因?yàn)橐獙W(xué)習(xí)它所以才學(xué)習(xí)它
更重要是知道應(yīng)該如何去運(yùn)用它!
多寫多練,絕對(duì)是很有必要的
我后來(lái)帶的幾個(gè)徒弟中就有人起初只知道成天看書
從來(lái)不動(dòng)手試著編寫代碼
問(wèn)其何故,答曰:書上不是有嗎?
大錯(cuò)特錯(cuò)!
代碼看一遍就過(guò)和自己在機(jī)器上敲完再調(diào)試一遍的差距簡(jiǎn)直是天壤之別
尤其是初學(xué)的時(shí)候一定要自己敲代碼
有些人喜歡偷懶,只要有現(xiàn)成的就CTRL+C
我可以告訴你,如果你已經(jīng)很熟練了
這個(gè)無(wú)疑是很方便也是高效的
但對(duì)于初學(xué)者,此乃大忌!
看到這估計(jì)又有人有問(wèn)題了
為什么不提學(xué)習(xí)ASP?
呵呵,ASP語(yǔ)言學(xué)習(xí)的必要性就仿佛戰(zhàn)場(chǎng)上的槍
槍都不帶的人上戰(zhàn)場(chǎng)作甚!
最后,你必須能夠堅(jiān)持不斷的學(xué)習(xí)、學(xué)習(xí)、再學(xué)習(xí)。。。。
計(jì)算機(jī)方面的知識(shí)更新得實(shí)在真的太快
我已經(jīng)不止一次聽(tīng)人講ASP過(guò)時(shí)了
其實(shí),從技術(shù)要求上,從需求變化上
ASP確實(shí)存在很多的缺陷
也確實(shí)有很多更好的語(yǔ)言完全可以取代ASP
但從本人曾經(jīng)做的市場(chǎng)調(diào)查的結(jié)果看
ASP現(xiàn)時(shí)還是比較適合中國(guó)國(guó)情的
起碼短期內(nèi)是這樣
如果現(xiàn)在不抓緊學(xué)習(xí),以后要轉(zhuǎn)就遲了
與其把時(shí)髦的技術(shù)掛在嘴邊
不如把過(guò)時(shí)的技術(shù)爛熟于心
雖然領(lǐng)導(dǎo)一再叫我不要放松對(duì)C/C++的學(xué)習(xí)
并敦促我加強(qiáng)ASP.NET和C#的學(xué)習(xí)
但我卻始終堅(jiān)持一定要先把ASP吃透
就這樣在彷徨和矛盾中堅(jiān)持了三年
現(xiàn)在看來(lái)我當(dāng)初的堅(jiān)持未必就是錯(cuò)的
回想自己歷來(lái)所做的項(xiàng)目
每次新項(xiàng)目的開(kāi)始就標(biāo)志著自己ASP技術(shù)的進(jìn)一步提升
從最初最原始的結(jié)構(gòu)化編程到現(xiàn)在將面向?qū)ο蟮乃枷肴谌氲紸SP中
自己對(duì)ASP的理解也漸入佳境
給我啟發(fā)最大的莫若于DVBBS了
我曾經(jīng)這樣評(píng)價(jià)DVBBS,說(shuō)它代表了ASP應(yīng)用的最高水平
不知是否偏頗,但本人通過(guò)閱讀DVBBS的代碼確實(shí)受益匪淺
現(xiàn)在無(wú)論B/S還是C/S結(jié)構(gòu)的軟件中比較流行的XML
自己如今已經(jīng)可以比較熟練的與ASP結(jié)合使用了
但有些細(xì)節(jié)方面的問(wèn)題仍然還需要不斷努力學(xué)習(xí)
畢竟對(duì)于XML而言,我要學(xué)的東西還很多
先前學(xué)習(xí)的VB也不是全無(wú)用處
起碼現(xiàn)在我也能自己編寫組件了
最得意的莫過(guò)于自己寫的基于NOKIA手機(jī)的發(fā)送短信的組件了
聯(lián)想到B/S結(jié)構(gòu)軟件的發(fā)展方向
三層架構(gòu)在大型的數(shù)據(jù)庫(kù)系統(tǒng)中將占主導(dǎo)地位
我相信自己編寫數(shù)據(jù)庫(kù)操作類、字符串處理類的組件總有一天會(huì)派上用場(chǎng)的
學(xué)習(xí)、只有不斷努力的學(xué)習(xí)。。。
2、需求決定價(jià)值
這是為什么我能堅(jiān)持到現(xiàn)在的原因
雖然ASP在外面的世界里總是風(fēng)雨飄搖
但在我所在的單位
我絕對(duì)是這方面的權(quán)威
這點(diǎn)連我領(lǐng)導(dǎo)也不得不承認(rèn)
但這并不是什么吹噓的資本
因?yàn)樗麄兇_實(shí)需要我
而我也很樂(lè)意在享受這份虛榮的同時(shí)
交出自己最好的作品作為報(bào)答
業(yè)余時(shí)間我也在不斷的加強(qiáng)學(xué)習(xí)
再過(guò)一年計(jì)算機(jī)的本科畢業(yè)證就能拿到了
這標(biāo)志著我的專業(yè)已經(jīng)徹底轉(zhuǎn)換了
最高興的莫過(guò)于通過(guò)了軟件設(shè)計(jì)師的考試
與C++那份若即若離的感情終于有了結(jié)果
那些挑燈夜戰(zhàn)的日子也總算沒(méi)有白熬
記得參加微軟MCSD認(rèn)證培訓(xùn)的時(shí)候
那個(gè)授課老師在介紹自己時(shí)
說(shuō)自己一直都從事計(jì)算機(jī)教育
前后學(xué)習(xí)過(guò)的語(yǔ)言有三十幾種
當(dāng)時(shí)就崇拜得五體投地!
后來(lái)才知道,他所欠缺的只是開(kāi)發(fā)經(jīng)驗(yàn),絕對(duì)的學(xué)院派
而以他現(xiàn)在的薪水,完全沒(méi)必要去做代碼工了
每天輕輕松松幾節(jié)課
一年十萬(wàn)保底,絕對(duì)夠了
寫到這似乎有點(diǎn)跑題了哦^_^
我舉了自己和那個(gè)培訓(xùn)老師的例子
相信大家能夠明白其中的道理了吧
是的,需求決定價(jià)值!
如果我們單位不認(rèn)同我用ASP寫的各種系統(tǒng)
我或許現(xiàn)在還在干自己的老本行
每天畫畫圖搞搞工程設(shè)計(jì)
如果培訓(xùn)中心不認(rèn)同那個(gè)老師的教學(xué)能力
他或者現(xiàn)在正在開(kāi)軟件公司
苦心經(jīng)營(yíng)著自己的夢(mèng)想
生活真的是很現(xiàn)實(shí)的東西!
找到真正可以體現(xiàn)自身價(jià)值的東西才是最重要的
我們要知道自己想要的是什么
這也是我經(jīng)常跟我下面的程序員灌輸?shù)?/p>
我從不反對(duì)他們跳槽反而有時(shí)甚至是鼓勵(lì)
有本事才會(huì)跳槽
沒(méi)本事你就老老實(shí)實(shí)待著
等學(xué)到本事在跳不遲
在軟件行業(yè)的泡沫尚未完全退去之前
盲目的跳槽絕對(duì)是很不明智的
現(xiàn)在再討論究竟該學(xué)哪種語(yǔ)言的問(wèn)題
是否已經(jīng)變得不那么重要了呢?
希望我的經(jīng)歷可以給大家一點(diǎn)啟示。
P.S 我的上司也非計(jì)算機(jī)科班出身
但他通過(guò)自學(xué)已經(jīng)成為一名系統(tǒng)分析員,同時(shí)也是一名MBA
而他就是我的下一個(gè)奮斗目標(biāo)了!^_^
?
原文鏈接:http://community.csdn.net/Expert/topic/5080/5080233.xml?temp=.7143671