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