关于学习VB和ASP关系问题

关于学习VB和ASP关系问题

说VB是ASP的基础是从软件工程的角度出发的。

ASP的语言不仅仅只是命令格式差不多,而是包含在之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能,并且以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。

虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。而且,他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript, VBscript等等脚本语言,搞的初学者,完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。
比如,我看了一些网络教程的第一章,就混合了HTML,JS,BS,还有一条这样的命令
Dim bc
Set bc = Server.CreateObject("MSWC.BrowserType")
初学者知道什么?只知道依葫芦画瓢,当遇到这个问题的时候就记得,开始有这么一句。但是,别的问题还是不知道到底该写些什么。

和VB不同,VB的教程非常的系统,从最基础的语法、过程、函数讲起,更有强大的MSDN支持(帮助系统,不会的命令,函数就可以查)。然后引导你有一些编程的思维。
同样上面一条命令,在VB里,就会详细解释

dim是用来声明变量的,它是过程级声明,只能在该过程中被识别...和private不同,private是全局声明,即在整个工程(程序)中,都可以识别和记录该变量....当需要引入一个用户自定义的变量的时候,需要先声明.....

set...=....是对对象赋值的。如果对象是变量,那么可以省略set。set a = b,就是将b的值赋给a

.是界定对象和对象的属性、方法等的表示符,Server.CreateObject,就是指的server(服务器)这个对象的CreateObject(创建对象)方法

....

看起来好像先学习VB再学习ASP是多此一举,其实直接学ASP才叫浪费时间,因为可能你整个ASP学完了,还只能做教程里出现的例子,那是一点作用也没有的,到头来再反过来学VB,才发现,原来这么多东西都不懂。
你说哪个更容易学习?

重要的不在这里。asp的中级应用还有activex等等,这些东西asp教程里压根都没介绍,为什么?因为activex是作为后台在服务器或者由客户端下载后运行的,而不是在html网页中执行的。activex完全是由vb编写的。asp根本没有必要把VB里的内容重新再讲一遍,他也讲不清楚,因为基础都没学。
也许大家访问过微软官方网站的升级页面,觉得这个ASP是不是写的很好?相信很多ASP学习者都希望达到这个水平,但是,如果仅仅只学ASP是绝对做不到的,而由VB转向ASP的就应该清楚,这个东西也是相当好写的,它不仅用到了activex,还调用了不少api函数,又是vb的知识!

举个例子,一个网络连锁的超市,有这样一些业务流程,某一个分店发现它的库存不足了,系统自动汇报给总部,并且在对外的网站上自动生成网页,告诉顾客,这个商品不足了,如果要来买的话请到别的分店去。总部接到汇报后,查看仓库,发现仓库的量只能供一个分店一周的销量,于是马上找到相应货物的供应商,要求他们发货....
(不要以为这种办公很遥远,这个例子只是进销存系统中的一部分功能,国内很多大型超市内部就是采用的这样的系统,国外的早就开始使用了,这样的系统,根据用户的要求、难度,售价在50万~2000万之间,这比你辛苦了几年写一个ASP论坛赚钱的多。当然,大型的工程也会用到其他的语言,比如C甚至是JAVA等)

这个流程,是完全利用网页和internet网完成的。可以单纯的使用ASP来写。但是可以说,这样的工程大多数只学习ASP网页的都不会,因为完全不知道逻辑怎么理。但是对于学过VB进销存的人来说,非常容易把他改写为asp。因为业务逻辑和编程思维在那里。而不是简单的从别人的例子里学习。

当然了,无论是先学习VB还是先学习ASP,都必须花相当多的功夫。回过头,如果你是从饭碗的角度出发,建议你学扎实点,虽然这样花的时间多些。
如果只是兴趣爱好,或者想做个网页玩玩,其实学学html和flash就可以了。至于asp,掌握皮毛也没多大的意思,就是说,速成无用,千万不要跟风,所以一定要清楚你的目标。

最后补充一点,没有数学基础不太重要,至少你英语好,不是吗?这是个很大的优势,因为,MSDN很多文档都还是英文的,而且程序本身也是英文的。这样可以帮你节约不少记忆和理解的时间。
一般来说,绝大多数的程序用到的数学知识不多。倒是逻辑和分析能力很重要。数学知识一般只用在算法(比如加密、游戏这类的程序)上,商业软件更侧重程序逻辑和业务逻辑分析上。

任何语言,如果只是学习它语言是没有意义的,就比如说ASP,现在又出现了php(爱问就是用php写的),php具有更容易开发和执行效率更高的优点。一旦出了一个新的语言,那么语法,结构,函数什么的都变了。如果你只是一味的学语言,那么也许等你学完ASP出来,ASP就过时了,那么你又去学习别的。真正的学习软件,应该是学习编程语言的一种架构,一种编程思想,这种对事物分析的思想是不会被淘汰的。这样,无论出现什么语言,只要你经过段时间的了解,就可以马上找到入口处,很快的适应用新语言来编程。更何况,要知道,在软件行业里工资拿的高的,不是那些对语言掌握的非常精通的coder和programmer,而是对程序理解非常深的,能很快分析和解决问题的analyst(往往就是指系统架构师和系统分析师,这些人,也许只精通汇编语言)。但是如果你只停留在表层,任何新语言对你来说,都需要重头到尾的学习,非常浪费时间更不能真正的掌握和自主开发。

跟风不是一个好风气,一学java就都学java,如果我说现在java过时了呢?现在又出了个ruby,比java更好用。是不是大家又一窝蜂去ruby?什么时候才能上升到分析程序的层次而不是仅仅把别人写好的下载下来,研究语法,函数,OK,我会了,以后遇到这个问题就这么写,遇到另一个问题了,我再找,再下载,再看,再研究.....


你可能感兴趣的:(职场,asp,休闲)