学习 WSH 的理由小结

关于这个过程,可以参考我的另一篇文章《没有电脑的日子》之东搞搞西搞搞--搞中。

  很多还不懂怎么学习编程的人问  应该学什么语言? 都会和他说:先提高境界,再学习技能;先了解自己的兴趣或者以后想做的事,才选择语言。如果学校教 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 的理由只有:兴趣、好奇、方便写小工具。

(0)

相关推荐

  • 学习 WSH 的理由小结

    关于这个过程,可以参考我的另一篇文章<没有电脑的日子>之东搞搞西搞搞--搞中. 很多还不懂怎么学习编程的人问  应该学什么语言? 都会和他说:先提高境界,再学习技能:先了解自己的兴趣或者以后想做的事,才选择语言.如果学校教 C 和 Java,您就只在这两个里选择,那么很抱歉,我只能说您是一坨屎!选择了语言,很大程度上就选择了开发方式,也就选择了相应的工作,那么这个相应的工作是不是您真正喜欢的?本末倒置的事常常发生在学生身上,习以为常了,大家就不知道应该先选择自己的兴趣,再考虑用什么系统,用什么

  • Python基础学习之条件控制语句小结

    一.条件控制语句的补充 在循环里面,我们可以通过关键字来手动终止循环,而不是把整个程序停了来终止. 三种语句:break return continue都可以使循环停止 不过return一般都是用到函数里面的,都是使用break 而continue 不是用来终止循环的,具体作用看下面代码示例 二.break 看汉语也有个大概思想:打破 它的作用是打破循环,使循环碰到它后终止 break的作用是打破结构体,使程序退出当前代码块 下面看这个例子,我们要实现的功能是循环获取用户从键盘输入的数据,直到输

  • 学习ASP的理由 分析小结

    在Google上搜一下,可以发现一大堆对ASP不好的评价,什么运行速度慢.异常处理机制不好.缺乏面向对象机制.开发效率低.漏洞多等等.为了让大家对ASP有个正确的认识,我先为它正名. 一.ASP不慢,慢的是数据库 几年前,我用动网论坛程序架了一个BBS,这套程序就是当时经典的ASP+Access架构.我也遇到了某些人所说的论坛慢,有时候卡死不动的问题.然而,自从我换上SQL Server数据库以后问题就解决了.所以罪魁祸首乃Access.程序执行所需的时间是毫秒级别的,在这个级别内,无论是10毫

  • 每个程序员都需要学习 JavaScript 的7个理由小结

    最近在和招聘经理交流现在找一个好的程序员有多难的时候,我渐渐意识到了现在编程语言越来越倾重于JavaScript.Web开发人员尤其如此.所以,如果你是一个程序员,那么你应该去学习JavaScript. 需求 我之所以这样说的主要原因是,随着JavaScript的日渐成熟,以及Node.js方案变得越来越可行,我们对JavaScript程序员的需求正在持续增长. JavaScript在需求比例上已经超过了C#,仅屈居于Java之下.如果你看看GitHub上可行的项目,你会发现JavaScript

  • 最近Python有点火? 给你7个学习它的理由!

    Python 是一门更注重可读性和效率的语言,尤其是相较于 Java,PHP 以及 C++ 这样的语言,它的这两个优势让其在开发者中大受欢迎. 诚然,它有点老了,但仍是80后啊 -- 至少没有 Cobol 或者 Fortran 那么老.而且,如果还能派上用场的话,为啥要折腾着改变它呢 (尤其在这个还有那么多方法可以提升它性能的时候)? 实际上这要看你怎么看待它,生命线长本身就是件好事 -- 说明它稳定且可靠. 如果你是像其他许多人一样都是从 Java,C 或者 Perl 开始进入职业生涯的,那么

  • JSP学习之数据库开发小结

    本文总结了JSP学习之数据库开发方法.分享给大家供大家参考.具体如下: SQL语言的组成: 1>数据定义语言DDL 用于定义SQL模式,数据表,视图和索引等数据库对象 2>数据操纵语言DML 数据查询和数据更新语言 3>数据控制语言DCL 设定或更改数据库用户或角色 4>嵌入式SQL语言 SQL语句嵌入到宿主语言中 数据类型: 1>数字类型 INTEGER SMALLINT REAL NUMERIC DECIMAL FLOAT DOUBLE... 2>日期和时间类型 T

  • JavaScript学习历程和心得小结

    一.前言 在过去,JavaScript只是被用来做一些简单的网页效果,比如表单验证.浮动广告等,所以那时候JavaScript并没有受到重视.自从AJAX开始流行后,人们发现利用JavaScript可以给用户带来更好的体验,甚至利用这一优点开发了大型网页游戏,于是这门小语言被重视了起来.现在,很多公司会招专门的JavaScript工程师,通常JavaScript是WEB前端开发的必备技能.简单介绍了JavaScriptr的好处,并不代表大家就会去学习甚至把它学好,兴趣是很关键的,我认为兴趣是最好

  • Ext.Net学习笔记之button小结

    1.触发客户端事件 复制代码 代码如下: <ext:Button ID="Button1" runat="server" Text="快点我"> <Listeners> <Click Handler="Greet()"></Click> </Listeners></ext:Button> <script type="text/javascr

  • VBS技术内幕:CreateObject函数详解

    曾经我也不明白为什么在CreateObject函数中传递不同的字符串就可以创建各种各样功能强大的对象.后来无意中看到UMU的<[UMU WSH 教程](9)CreateObject 过程>,才知道CreateObject函数创建的是COM对象,第一个参数是COM对象的ProgID.再后来拜读了Jeff Glatt的<COM in plain C>,知道了如何用纯C语言编写COM组件. COM(组件对象模型)是一个很复杂的概念,需要用砖头那么厚的书才能讲得清楚,而且没有C++和面向对

  • 正则表达式——详细讲解平衡组

    这篇文章适合你吗? 要读懂这篇文章的精髓,你最好要有一点正则匹配原理的基础.比如".*?"匹配文本内容"asp163",稍懂正则表达式的人都知道可以匹配,但是你知道他的匹配过程吗?如果你不太清楚,那么下面的内容,对你来说可能不太适合,或许,看的太吃力且无法领悟平衡组的用法.因此,我建议你先了解正则表达式NFA引擎的匹配原理.想要整理一份易懂易描述的话,的确要费些时间,但不知道这篇内容会不会达到我预期的效果.慢慢完善吧~(注:这是我2010年写的,现在拿过来,有时间将

随机推荐