首页 > 编程 > VBScript > 正文

学习 WSH 的理由小结

2020-06-26 18:13:21
字体:
来源:转载
供稿:网友
最早学会用而且喜欢的一门编程语言应该是 VBS,虽然 C 比较早学,但学了后很长时间里没办法使用 C 来写程序,因为当时自己没钱买电脑,所以没有 C 编译器。
 
关于这个过程,可以参考我的另一篇文章《没有电脑的日子》之东搞搞西搞搞--搞中。 

  很多还不懂怎么学习编程的人问  应该学什么语言? 都会和他说:先提高境界,再学习技能;先了解自己的兴趣或者以后想做的事,才选择语言。如果学校教 C 和 Java,您就只在这两个里选择,那么很抱歉,我只能说您是一坨屎!选择了语言,很大程度上就选择了开发方式,也就选择了相应的工作,那么这个相应的工作是不是您真正喜欢的?本末倒置的事常常发生在学生身上,习以为常了,大家就不知道应该先选择自己的兴趣,再考虑用什么系统,用什么语言等! 

   想说的只是做人很重要的一件事:追求自己的兴趣、发挥自己的长处,这是做任何事都一样的,学编程也一样,学 WSH 也一样,再看小的:WSH 现在支持 VBS 和 JS,从语法上看,VBS 像 VB,JS 像 Java,选择什么又是需要看您的兴趣。 

  这里, 只说“编程”,不包括那些想学高级软件工程然后去管理别人的那部分。如果没兴趣,学编程是很累的,还是去搞管理、交际、销售等比较轻松点。如果您一定要问 “编程”会比“管理”有前途? 只能告诉您:兴趣!同时要忠告一些人,一定要注意自己的长处和短处,没有好的管理能力千万别硬要做管理,世袭的皇帝又有几个强的?他的手下有多少比他厉害,他都不清楚!如果您发现自己的能力发展方向,那就去深造,但是我看到有些人连自己的文件、邮件都不会管理,需要的时候满地找牙的,他的理想是管理一群精英。这样的人给我多少钱,我也不为他工作,除非他知道不要管我。我是个有能力管好自己,又知道怎么和别人交流协作的编程员,当然了,我不和垃圾协作。 

  Windows 里整个世界充满 COM,提供了丰富的可重用功能,VBS 本身基本没什么功能,就只能调用 COM 来扩展出无限的功能,所以它就做得很容易调用 COM,您可以认为它就是为了方便调用 COM 而产生的语言。 

  大学的时候  给厦大软件学院的新生写过两篇介绍怎么入门编程的文章,其他有人写了 C 和 Java 等, 写了 VBS 的。 觉得用 VBS 几行代码就可以做很多事,很快可以了解编程可以做到什么,C 和 Java,说实在一篇文章写完最多只是知道它们可以用来解数学题,特别是 C 这种需要很长时间锻炼才知道它很无敌的语言,而 Java 最多也就顺带告诉新生它可以做网站。既然已经有人介绍了解数学题和做网站,那  就说点厉害的! 

  VBS 的 Hello World 只要一行:MsgBox "Hello World",不用编译,保存为 *.VBS 即可。语言大概也是最简单的一种语言了,很快就可以学会。当然这不是重点,前面说了它可以很方便调用 COM,调用 COM 又能做什么呢?太多了,说不完,比如可以连接数据库,然后很方便的操作它;可以控制微软的 Office 来完成一些自动化工作;可以方便地调用 WMI 来管理 Windows 系统,基本上鼠标键盘可以做的,WMI 都可以做;只要是标准安装的 Windows 都有(Windows 95/97 没有,98 开始和之后都有)支持的特性可以让我们随时写一些小程序方便我们的其他工作,就像一些人喜欢用 bat/cmd 脚本,其实 bat/cmd 可以做的,VBS 都可以做。 

  如果看过  网盘里的脚本作品,就知道,那些程序都是 .VBE 后缀的文件,这其实是 VBS 程序加密后的文件,经过解密后就可以看到代码了。这些脚本都是比较实用的,在我的作品展示里有部分脚本作品的详细介绍(可以在我的空间里找  Script)。我之所以喜欢用 VBS 来写这些工具,就是因为它方便,代码量小可以完成比较多的功能,同样功能用 C 来写要写不止 2/3 倍的代码。 

   个人觉得,如果是个好奇、敏感的人,学 WSH 对理解 COM 也是有很大帮助的。比如  本人吧,看到 CreateObject 的字符串参数,就要想为什么这个字符串可以表示一个对象?然后去找答案,原来是在注册表里有注册,于是挖掘出 ProgID 和 CLSID 等 COM 的概念。后来很了解怎么调用 COM 组件了,于是开始不爽,一直在调用,也该自己写个组件玩玩了,这样就可以随心所欲扩展自己想要的功能,然后开始学习怎么写 COM:听说 VB 写 COM 几乎和调用 COM 一样简单,一用,还真的是这样,根本就和用 VB 做普通程序一样!可后来发现了,还是不懂 COM 的内部实现,改用 VC 来写吧,马上就有微软军团的人告诉您应该用 ATL,那就看看了,发现 ATL 把内部实现也给隐藏了,那就看看 ATL 的代码吧,靠,高手基本定型了!再来就直接用纯 C 实现 COM,果然天下无敌! 

  学习 WSH 的理由只有:兴趣、好奇、方便写小工具。 
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表