一个ASP程序员的奋斗历程

在CSDN中辛辛苦苦爬了三载
也做了三载的ASP开发
这期间经常在CSDN中看到许多朋友讨论究竟学哪种语言的问题

在此我要说明的是
其实我个人认为ASP并不是最好的WEB开发语言
但也决不是最差的!
和其他的语言一样或多或少存在着某些缺陷
但从我的学习和工作中积累下来的经验看来
我觉得有两句话值得大家借鉴

1、术业有专攻

其实我并非计算机专业科班出身
甚至连相关专业都算不上
大学的时候因为贪玩连计算机二级都没过,汗!
工作后因为发展需要才转学的计算机

一开始按领导要求接触的是C语言
但学习一段时间毫无建树后又按领导要求转攻VB、VBA
在开发了几个小的管理软件后
领导重新提出新的思路
于是我才真正开始ASP的学习之路

记得刚开始那段时间
因为对ASP及网络编程完全不了解
身边惟一的一本参考资料
就只有那本现在已经破烂不堪的《ASP与网页数据库设计》
最早的开发工具是FRONTPAGE

由于条件所限,又不知道如何在网上查资料
我常常因为嵌套的循环结构而头破血流
常常因为数组结构而苦苦思索
常常因为想写几个很简单字符串处理函数而加班加点
…… ……

很难想象我曾经一度因为嫌FRONTPAGE不爽而直接用NOTEPAD编程
后来才改用现在一直在用的DREAMWEAVER
慢慢的,我渐渐才摸清ASP编程过程中所需要具备的各种基础条件

首先,你必须要具备一定的美感

因为一个网站的评判标准中,页面美观简洁实用是最直接的评判标准
好的印象分往往可以掩盖很多技术上的不足
为了让自己的美感能够得到充分的展示
我对PHOTOSHOP进行了系统的学习
并最终拿到了国家劳动部颁布的结业证书
也算是对图形处理网页设计方面的学习有了个总结

另外,对CSS样式表单的熟悉程度也间接决定了你代码的简洁性
我早期的作品中常常充斥着各种样式定义
HTML、CSS、ASP代码混用现象严重代码冗长而繁琐
其实,开发大型ASP管理系统时,文件的组织也是异常重要的

其次,你必须能够很熟练的运用VBScript、JavaScript

这里可能会有人问为什么不提及HTML
因为我认为HTML应该是ASP程序员所具备的最基本的常识!

由于完全是自学,在最初学习JavaScript的同时
我稀里糊涂的把Java、JSP以及JavaScript相关的资料乱啃一通
在一阵阵茫然加惊讶后才明白这三者的区别
现在想来实在汗颜!

当然,也不是什么东西都必须用JavaScript或者VBScript写
在我写的代码中JavaScript通常是用来处理字符串和数组的
而VBScript则用得相当的少
只在远程数据库控制和服务器端数据初始化方面才会用到

我这边有个程序员以前比较擅长C/C++
当得知可以用JavaScript实现很多网页特效后
在刚开始写ASP程序时曾一度拒绝使用ASP语言
并很不屑的表示ASP能做的他用JavaScript/VBScript也能实现

其后果可想而知
程序中到处都充斥着各种各样的函数
结构化编程中函数堆砌的毛病全部移植到ASP写的程序中
造成整个程序运行时效率低下
与数据库交互的同时服务器近乎瘫痪
最后不得不低下那曾高昂的头颅

为什么一定非要经历失败才懂得回头呢??
如果一开始按照我指导的那样做
相信今天问题也不至于这么严重了

再次,你必须具备关系型数据库设计的基本知识

因为很多ASP开发的软件都是基于数据库的
数据库在整个软件中所占的地位非同一般
如果底层的数据库没有设计好
那么带来的影响必定是灾难性的
这可以用前面提到那个程序员的事例作为佐证!

说到这,又不得不提SQL语言的学习了
我觉得SQL语言的学习和数据库理论的学习应该是同步的
任何语言都只是工具,你所要做的不仅仅是因为要学习它所以才学习它
更重要是知道应该如何去运用它!
多写多练,绝对是很有必要的

我后来带的几个徒弟中就有人起初只知道成天看书
从来不动手试着编写代码
问其何故,答曰:书上不是有吗?
大错特错!
代码看一遍就过和自己在机器上敲完再调试一遍的差距简直是天壤之别
尤其是初学的时候一定要自己敲代码

有些人喜欢偷懒,只要有现成的就CTRL+C
我可以告诉你,如果你已经很熟练了
这个无疑是很方便也是高效的
但对于初学者,此乃大忌!

看到这估计又有人有问题了
为什么不提学习ASP?
呵呵,ASP语言学习的必要性就仿佛战场上的枪
枪都不带的人上战场作甚!

最后,你必须能够坚持不断的学习、学习、再学习。。。。

计算机方面的知识更新得实在真的太快
我已经不止一次听人讲ASP过时了
其实,从技术要求上,从需求变化上
ASP确实存在很多的缺陷
也确实有很多更好的语言完全可以取代ASP
但从本人曾经做的市场调查的结果看
ASP现时还是比较适合中国国情的
起码短期内是这样
如果现在不抓紧学习,以后要转就迟了

与其把时髦的技术挂在嘴边
不如把过时的技术烂熟于心

虽然领导一再叫我不要放松对C/C++的学习
并敦促我加强ASP.NET和C#的学习
但我却始终坚持一定要先把ASP吃透
就这样在彷徨和矛盾中坚持了三年
现在看来我当初的坚持未必就是错的

回想自己历来所做的项目
每次新项目的开始就标志着自己ASP技术的进一步提升
从最初最原始的结构化编程到现在将面向对象的思想融入到ASP中
自己对ASP的理解也渐入佳境
给我启发最大的莫若于DVBBS了
我曾经这样评价DVBBS,说它代表了ASP应用的最高水平
不知是否偏颇,但本人通过阅读DVBBS的代码确实受益匪浅

现在无论B/S还是C/S结构的软件中比较流行的XML
自己如今已经可以比较熟练的与ASP结合使用了
但有些细节方面的问题仍然还需要不断努力学习
毕竟对于XML而言,我要学的东西还很多

先前学习的VB也不是全无用处
起码现在我也能自己编写组件了
最得意的莫过于自己写的基于NOKIA手机的发送短信的组件了
联想到B/S结构软件的发展方向
三层架构在大型的数据库系统中将占主导地位
我相信自己编写数据库操作类、字符串处理类的组件总有一天会派上用场的
学习、只有不断努力的学习。。。

2、需求决定价值

这是为什么我能坚持到现在的原因
虽然ASP在外面的世界里总是风雨飘摇
但在我所在的单位
我绝对是这方面的权威
这点连我领导也不得不承认
但这并不是什么吹嘘的资本
因为他们确实需要我
而我也很乐意在享受这份虚荣的同时
交出自己最好的作品作为报答

业余时间我也在不断的加强学习
再过一年计算机的本科毕业证就能拿到了
这标志着我的专业已经彻底转换了
最高兴的莫过于通过了软件设计师的考试
与C++那份若即若离的感情终于有了结果
那些挑灯夜战的日子也总算没有白熬

记得参加微软MCSD认证培训的时候
那个授课老师在介绍自己时
说自己一直都从事计算机教育
前后学习过的语言有三十几种
当时就崇拜得五体投地!
后来才知道,他所欠缺的只是开发经验,绝对的学院派
而以他现在的薪水,完全没必要去做代码工了
每天轻轻松松几节课
一年十万保底,绝对够了

写到这似乎有点跑题了哦^_^
我举了自己和那个培训老师的例子
相信大家能够明白其中的道理了吧
是的,需求决定价值!

如果我们单位不认同我用ASP写的各种系统
我或许现在还在干自己的老本行
每天画画图搞搞工程设计

如果培训中心不认同那个老师的教学能力
他或者现在正在开软件公司
苦心经营着自己的梦想

生活真的是很现实的东西!
找到真正可以体现自身价值的东西才是最重要的
我们要知道自己想要的是什么
这也是我经常跟我下面的程序员灌输的

我从不反对他们跳槽反而有时甚至是鼓励
有本事才会跳槽
没本事你就老老实实待着
等学到本事在跳不迟
在软件行业的泡沫尚未完全退去之前
盲目的跳槽绝对是很不明智的

现在再讨论究竟该学哪种语言的问题
是否已经变得不那么重要了呢?
希望我的经历可以给大家一点启示。

P.S 我的上司也非计算机科班出身
但他通过自学已经成为一名系统分析员,同时也是一名MBA
而他就是我的下一个奋斗目标了!^_^

点赞 (1)

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

Captcha Code