整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

「原创」用Htmlhelp Workshop制作Windows 帮助文件


(本‬文‬作‬于‬2013年‬并‬发‬表‬在‬其‬它‬平台,因‬时‬间太久‬个‬别‬配‬图‬已‬不‬能加‬载‬)对于经常开发应用软件的人来说,都希望创建一个帮助系统,帮助使用者了解自己软件的功能与应用方法。如何创建自己软件的帮助系统呢?本文就这方面的问题谈谈自己的应用方法,也希望通过自己的实际应用经验能对朋友们有所帮助。

Windows 98及以上版本的帮助文件与Windows 95的有比较大的改变,它使用一种基于HTML文件特征的帮助文件,用Internet Explorer显示帮助内容,支持HTML、ActiveX、Java、脚本(Java脚本和VB脚本)以及HTML图像格式(.JPEG、GIF、PNG),它的图标也变了,后缀名为chm,Windows 98称之为Compiled HTML Help File。为了叙述方便,下面就称之为chm文件。典型的Windows 98规范的帮助文件(.chm文件)的窗口和Windows 98资源管理器差不多,左侧是目录、索引和搜索这三个功能项,通过选项卡切换;右侧是HTML文件的显示部分,改变了原来帮助文件目录窗口和主题窗口分离的情况。由于HTML文件具有多媒体表现力,因此chm文件的内容不再局限于文字和静态图像,在其中可以插入GIF动画,也可以利用浏览器的插件在文档中播放声音文件、动画影片、或其它格式的多媒体内容。加入URL地址可与因特网联系在一起,这样chm文件就不局限于包装好的内容了,它是微软公司的下一代联机帮助系统。同时,chm文件的核心是充分利用HTML文件的表现能力,对分散的HTML文件作整体的包装,这也是目前在Web网页以外利用HTML文件的一个趋势。如果你用这个方式制作学习教程、电子图书和杂志,或为用户提供产品目录和宣传材料,比已经流行的PDF文件更简洁和方便。

  chm文件从结构上来看可分为两个部分:运行器和文档内容。运行器是操作系统的一部分,而文档内容随其所附的应用程序而变化。这与以前的Winhelp的结构没有多少差别。不过运行器部分有了较大的改进,运行器很小巧并且不直接运行HTML文件,而是操作一个ActiveX 的组件,控制支持ActiveX 组件的网页浏览器,如微软的Explorer 3.0以上版本的浏览器。它的一个好处是能跨平台运行,只要有不同平台上的运行器和浏览器,chm文件不再需要重新编制。  制作chm文件的工具是微软公司的Htmlhelp Workshop工具包,目前,最新的HTML Help Workshop版本是4.74。这是中文版的,安装Htmlhelp Workshop很方便,只要按照提示进行即可。它的使用也很方便,没有编程和写语言的要求,只要你会制作HTML文件就行了。

  制作chm文件很方便,也很简单。大量的工作是以编写HTML文件为主,它的每个主题就是一个HTML文件,这些主题应该事先编辑好,并用Internet Explorer检查确认无误。主题文件可以用任何一个HTML编辑器编辑,也可用Htmlhelp Workshop编辑。如果不熟悉HTML文件的编辑,还可用Word,因为Word 97以上版本可以把Word文档(.doc文件)另存为HTML文件,还可以将Word文档批量转换成HTML文件。这样就可以完全按照编辑Word文档的习惯编辑成Word文档,再转换成HTML文件。

  运行Htmlhelp Workshop时,它的工作窗口很简单,菜单栏上有五个命令,分别是“文件”、“视图”、“测试”、“工具”、“帮助”。下面的工具栏有五个按钮,分别是“新建”、“打开”、“编译HTML文件”、“校验编译文件”、“联机帮助”。下面介绍具体步骤:

一、创建帮助文本

创建帮助文本是创建帮助系统的第一步。所谓帮助文本,就是针对自己开发的应用软件的功能、使用方法的介绍和说明。这里,以我开发的《通信工程(概)预算系统》为例,谈谈其帮助系统的创建过程。用WORD2000创建《通信工程(概)预算系统帮助》文本。

通信工程(概)预算系统主界面

通信工程(概)预算系统帮助文本

二、创建分页网页文件

根据帮助系统框架结构,将每一段需要分页显示的帮助文本用WORD2000转换成网页文件。下图是通信工程(概)预算系统帮助需要的分页网页文件。

分页网页文件  

三、创建项目文件 

 启动Htmlhelp Workshop系统,打开主界面。







新建一个方案

单击Htmlhelp Workshop菜单或工具栏中的“新建”命令,这时出现“选择新建内容”的对话框。这里有五个选项:“方案”、“文本”、“HTML文件”、“目录”、“索引”。选择“方案”,接着出现“方案”向导,告诉你这个向导可以转换的文件格式,一般情况下我们是要创建方案(.hhp)文件,不需要转换。直接进入“下一步”指定放置的目录和输入文件名就可以了,单击“下一步”,进入了“现有文件”对话框,如果你想将已经存在的文件包含进“方案”里,在下面列表中选择。这里一般空着,这些文件(包括已经编辑好的主题文件)以后可以添加。进入“下一步”后再“确定”就进入了Htmlhelp Workshop工作窗口。在窗口的上方是3个选项卡,分别是“方案”、“目录”、“索引”。在“方案”窗口的左侧是7个按钮,它们的功能名称自上而下分别是:“改变项目选项”、“添加/删除主题文件”、“添加/修改窗口定义”、“HHTML帮助API信息”、“校验HTML源文件”、“保存项目、目录和索引文件”、“保存全部文件并编译”。

  单击“改变项目选项”按钮,出现“选项”对话框,光标在“常规”选项卡的“标题”文本框内闪烁,在这里加入标题,编译后这个标题将出现在chm文件窗口的标题栏中。其它的内容暂时用系统的默认值。然后单击“添加/删除主题文件”按钮,再选择“添加”按钮,把作为封面页的HTML文件添上。封面页的文件一定要有,否则编译的帮助文件运行后,系统会报错。好了,简单的“方案”编辑就完成了。  

四、创建目录文件 

 单击“目录”选项卡,这时系统弹出一个对话框,提示你“方案”还没有关联目录文件(.hhc),你可以创建一个新的目录文件,或者指定一个现有的。这里选择“创建一个新目录文件”,进入下一步请你选定一个新目录文件的名称和存放路径,指定后出现目录编辑窗口。在目录窗口的左侧有11个按钮,前5个分别是:“目录工具”、“插入标题”、“插入页面”、“编辑选择”、“删除选择”,中间4个箭头用来调整指定标题或页面的位置,最后两个已在项目编辑窗口中出现过。根据需要插入标题或页面目录,按下“插入标题”或“插入页面”按钮,都会弹出“目录条目”对话框,在“条目标题”文本框中输入条目的标题,并根据情况选定对应的主题(HTML文件),单击“条目标题”下的“添加”按钮,在弹出的对话框的下面“文件或URL地址”文本框中输入文件名或URL地址并确定;单击“高级”选项卡,在“图像索引”栏中为条目指定图标,比如包含其它条目的条目可以用书形图标,而页面条目的可以用问号图标。如果在单击“插入页面”按钮之前所选择的条目不包含别的条目,也不被别的条目所包含,那么会询问“是否要创建一个起始条目”,选择了“是”会增加起始条目(一级条目),选择了“否”会增加一个子条目。标题可以不添加主题文件或URL地址,也可放置需要的主题文件,作为标题的说明内容。标题可以分为多级,要按照制作的内容统一考虑。如果觉得不满意,可以用左侧的箭头进行调整,也可以选定该条目,单击鼠标右键,不但可以调整,还可以插入标题、主题或目录文件。编辑目录文件是制作chm文件最关键的工作,目录文件应该包含一个chm文件所有目录(主题),而每个目录又包含条目标题(名称)和该条目的主题文件,要避免条目标题与对应的主题不一致的情况出现。等所有目录都添加好后目录就算完成了。

创建目录

已生成的帮助文件 

 完成目录编制后,一个chm文件已具备了雏形,索引的内容暂时空着。保存项目文件和目录文件后就可以编译,编译就是把所有用到的HTML文件统统压缩后包装在一起,形成一个后缀名是.chm的文件。在主工具栏按钮中可以找到编译按钮和试运行按钮,也可直接按项目窗口左下方的“保存全部文件并编译”按钮进行编译。编译后再运行就可以看到作品的面貌了。目录的内容在编译后显示在chm文件窗口的左侧,可以展开标题后显示以下的目录,单击目录可以打开相应的主题文件,显示相应的内容。如果发现问题,还可以进行修改调整。

  五、创建索引文件 

 在Htmlhelp Workshop的工作窗口上单击“索引”选项卡,和创建目录文件一样,也会弹出一个对话框,操作也是一样的。进入索引编辑窗口,左侧也有11个按钮,有8个是已经熟悉的,还有3个分别是:“索引工具”、“插入关键字”、“排序关键字”。所谓关键字是用户可能用到的并与一个或多个帮助主题文件关联在一起的字、词或短语,索引文件(.hhk)也是一个HTML文件,它包含若干个关键字,当用户打开chm文件后,单击索引标签并输入一个关键字后,chm文件将显示与这个关键字有关的主题的列表,非常方便地找到相关主题。单击“插入关键字”按钮,出现一个“索引项”对话框,在“常规”选项卡的“关键字”文本框中输入关键字,单击“添加”按钮指定与该关键字相关联的主题文件。如果想跳转到另一个关键字,在“索引项”对话框中按“高级”选项卡,选中下面的“目的地是另一个关键字”,单击“常规”选项卡,单击“添加”按钮,在“文件或URL地址”框中输入要跳转的关键字,单击“确定”。

创建索引

六、创建搜索 

 chm文件的“搜索”选项卡允许用户在所有主题文件中搜索字、词或短语,将它们的标题显示出来,而且在主题中用醒目的方式来显示。打开一个方案文件,单击“方案”选项卡的“改变方案选项”,在“选项”对话框的“编译”选项卡中选中“编译全文搜索信息”即可。  上述介绍的是编制HTML帮助文件的基本步骤,上手很容易。但它的功能远非这些,如在窗口定义中可以设计你所喜爱的形式,几乎所有的窗口要素都可以改变。向HTML文件中插入快捷方式、相关主题、关键字链接、联想链接、HTML Help ActiveX控件、Java脚本、弹出式窗口等等,详细的内容请参考Htmlhelp Workshop的帮助文件,或微软的相应网页。相信你试过以后一定会喜欢它。

azor 同时支持 C# (C sharp) 和 VB (Visual Basic)。


主要的 Razor C# 语法规则

  • Razor 代码块包含在 @{ ... } 中

  • 内联表达式(变量和函数)以 @ 开头

  • 代码语句用分号结束

  • 变量使用 var 关键字声明

  • 字符串用引号括起来

  • C# 代码区分大小写

  • C# 文件的扩展名是 .cshtml

C# 实例

<!-- Single statement block -->

@{ var myMessage ="Hello World"; }

<!-- Inline expression or variable -->

<p>The value of myMessage is: @myMessage</p>

<!--Multi-statement block -->

@{

var greeting = "Welcome to our site!";

var weekDay = DateTime.Now.DayOfWeek;

var greetingMessage = greeting + " Here in Huston it is: " + weekDay;

}

<p>The greeting is: @greetingMessage</p>

运行实例 »


主要的 Razor VB 语法规则

  • Razor 代码块包含在 @Code ... End Code 中

  • 内联表达式(变量和函数)以 @ 开头

  • 变量使用 Dim 关键字声明

  • 字符串用引号括起来

  • VB 代码不区分大小写

  • VB 文件的扩展名是 .vbhtml

实例

<!-- Single statement block -->

@Code dim myMessage = "Hello World" End Code

<!-- Inline expression or variable -->

<p>The value of myMessage is: @myMessage</p>

<!-- Multi-statement block -->

@Code

dim greeting = "Welcome to our site!"

dim weekDay = DateTime.Now.DayOfWeek

dim greetingMessage = greeting & " Here in Huston it is: " & weekDay

End Code

<p>The greeting is: @greetingMessage</p>

运行实例 »


它是如何工作的?

Razor 是一种将服务器代码嵌入在网页中的简单的编程语法。

Razor 语法是基于 ASP.NET 框架,专门用于创建 Web 应用程序的部分 Microsoft.NET 框架。

Razor 语法支持所有 ASP.NET 的功能,但是使用的是一种简化语法,对初学者而言更容易学习,对专家而言更有效率的。

Razor 网页可以被描述成带以下两种类型内容的 HTML 网页: HTML 内容和 Razor 代码。

当服务器读取页面时,它首先运行 Razor 代码,然后再发送 HTML 页面到浏览器。在服务器上执行的代码能够执行一些在浏览器上不能完成的任务,比如,访问服务器数据库。服务器代码能创建动态的 HTML 内容,然后发送到浏览器。从浏览器上看,服务器代码生成的 HTML 与静态的 HTML 内容没有什么不同。

带 Razor 语法的 ASP.NET 网页有特殊的文件扩展名 cshtml(Razor C#)或者 vbhtml(Razor VB)。


使用对象

服务器编码往往涉及到对象。

"Date" 对象是一个典型的内置的 ASP.NET 对象,但对象也可以是自定义的,一个网页,一个文本框,一个文件,一个数据库记录,等等。

对象有用于执行的方法。一个数据库记录可能有一个 "Save" 方法,一个图像对象可能有一个 "Rotate" 方法,一个电子邮件对象可能有一个 "Send" 方法,等等。

对象也有用于描述各自特点的属性。一个数据库记录可能有 FirstName 和 LastName 属性。

ASP.NET Date 对象有一个 Now 属性(写成 Date.Now),Now 属性有一个 Day 属性(写成 Date.Now.Day)。下面实例演示了如何访问 Data 对象的一些属性:

实例

<table border="1">

<tr>

<th width="100px">Name</th>

<td width="100px">Value</td>

</tr>

<tr>

<td>Day</td><td>@DateTime.Now.Day</td>

</tr>

<tr>

<td>Hour</td><td>@DateTime.Now.Hour</td>

</tr>

<tr>

<td>Minute</td><td>@DateTime.Now.Minute</td>

</tr>

<tr>

<td>Second</td><td>@DateTime.Now.Second</td>

</tr>

</td>

</table>

运行实例 »


If 和 Else条件

动态网页的一个重要特点是,您可以根据条件决定做什么。

做到这一点的常用方法是使用 if ... else 语句:

实例

@{

var txt = "";

if(DateTime.Now.Hour > 12)

{txt = "Good Evening";}

else

{txt = "Good Morning";}

}

<html>

<body>

<p>The message is @txt</p>

</body>

</html>

是一篇暴露年龄的文章。为什么这么说?因为现在年轻的程序员可能没有接触过当年红极一时的 Visual Basic。28 年前的 1991 年 4 月,Microsoft 发布了 Visual Basic 1.0 for Windows,次年 9 月,发布了 Visual Basic 1.0 for DOS。

这在当时引起了很大的轰动,许多专家把 VB 的出现当做是软件开发史上的一个具有划时代意义的事件。以现在的眼光来看,VB1.0 版的功能其实非常弱,但它在推出时可是第一个 “可视” 的编程软件。

这使得程序员欣喜之极,都尝试在 VB 的平台上进行软件创作。到了 1998 年夏天,Microsoft 发布了 VB 6,这是 VB.NET 至今仍然无法完全取代的版本。但随着.NET 的兴起,VB 开始走上下坡路。它是如何兴起的,又是如何衰落的?让我们跟着 Matthew MacDonald 的脚步笑看 VB 的风起云落吧!

作者介绍:Matthew MacDonald,技术作家、教师、程序员。著有几十本图书,现在教育孩子学习编程和科学。

28 年过去了,我们终于要目睹世界上最流行的语言之一,Visual Basic ,开始衰落了吗?

我要坦白一件事,在我成为一名受人尊敬的开发者,使用像 C# 和 Java(以及我们称之为 JavaScript 的热门平台)这样的现代大括号编程语言之前,我曾经是广受欢迎,又有些不合时宜的 Visual Basic 的忠实粉丝。

坦白说,我对 Visual Basic 的迷恋是这样开始的:当我还是个十几岁的孩童时,我就学会了使用 BASIC 语言编程,但不仅仅是任何 BASIC 语言。我是从 Microsoft 那个古董级的 DOS 操作系统上开创性的 QuickBASIC 环境开始的。至今我仍然记得在蓝色背景下用白色文本来编写代码的场景。


对于 1998 年的编程来说,QuickBASIC 是不可思议的编程语言。你可以编写不带笨拙行号的代码,在键入代码时能够实时捕获语法错误,并直接从开发环境中启动程序,而不需要用命令行的方式来启动。当你完成代码编写后,你还可以用这些软盘来跟你的朋友分享你的程序:


如今,QuickBASIC 只是对遥远过去的另一种好奇心。真的是这样吗?一个叫做 QB64 的创新项目创造了现代的 QuickBASIC 复刻版。它无需模拟器就可以运行在 Windows、MacOS 和 Linux 上。当你用 QB64 运行一个程序时,它会运用一个很巧妙的手法:首先将你的 BASIC 代码翻译成 C++,然后再进行编译。

经典 VB 和可视化时代

对于古老的,基于文本的计算机系统来说,QuickBASIC 是一项令人印象深刻的壮举。但当 Microsoft 发布 Windows,将 PC 用户带到了一个由按键和点击组成的图形世界时,游戏规则发生了变化。在 Microsoft 发布第一个真正成功的 Windows 3.0 的同时,他们也发布了 Visual Basic 1.0。

这是个全新的事物。你可以通过在窗口的表面上绘制按钮来为程序创建按钮,就像它是某种艺术画布一样。要让按钮执行某些操作,你所要做的事就是在设计环境中,双击这个按钮并编写一段代码即可。

而且,你没有使用神秘的 C++ 代码,也没有使用成堆的类、复杂的内存管理以及对 Windows API 的晦涩的调用。相反,你就像一个文明人一样编写了友好的 VB 代码。


所有图形化的魅力让人印象深刻,但 VB 成功的真正秘诀在于它的实用性。开发人员根本就没有其他工具可以像 VB 那样绘制出一个完整的用户界面并快速编写代码。尽管历史学家喜欢谈论 Visual Basic 的可视化部分,但它的“招牌”能力却与图形化的小部件无关。

相反,VB 是因一个传奇性的特性而出名,这个特性叫做“编辑并继续”(edit-and-continue),允许开发人员运行他们的程序,发现并解决问题,然后继续使用新的代码。这与人们已知的几乎所有其他编程环境截然不同,这些环境迫使开发人员重新编译他们的工作,并在每次更改之后重新开始。

最初的 Visual Basic 蓬勃发展了大约十年。一开始是一个对初学者友好的开发环境,后来发展成了一个足以让严肃的程序员使用的工具。通过 VB 6 的发布,这是经典 Visual Basic 的最后一个版本,据估计,用 VB 编写的代码量是很难用的 C++ 编写的代码量的十倍。而且,它们并不仅仅是在模仿玩具应用程序。

Visual Basic 通过 ASP(Active Server Pages,动态服务器网页)进入了公司的办公室,甚至连到网络,这是另一种非常流行的技术。现在,你可以创建于 VB 组件交互的 Web 页面,称为数据库,并动态编写 HTML。所有这些几乎都是在没有结构的情况下发生的,除非你自己选择创建一个结构。这是 Visual Basic 的一个不成文主题,它给了你现在的自由,以后你会后悔的。

经典 VB 的问题

经典 VB 在很多圈子里声名狼藉。面向对象的狂热分子经常抱怨 VB 缺乏对继承的支持。(其实这是一个奇怪的批评,因为对于不太熟练的开发者来说,继承常常是搬起石头砸自己的脚的好方法,而这正是 VB 不需要的那种功能。)事实上,经典的 VB 并非面向对象的“懒汉”。在它的生命周期结束时,它已经支持接口、多态性和类库,而所有这些都是从 COM 借鉴来的,COM 是组件技术的核心部分,它硬链接到 Windows 的每个版本中。

经典 VB 的真正问题在于它太过成功。它极为有效地降低了新程序员的学习障碍,使得几乎任何人都可以使用 VB 进行编程。粗心大意的新手、无聊的公司员工和暑期学生都纷纷涌进来,解决了在任何其他平台上更为困难的挑战,到处都是意大利面条式的代码。

换句话说,因为 VB 很容易使用,即使你不是一名训练有素的程序员,VB 也很容易使用,所以很多没有受过专业训练的程序员都在使用 VB。而 VB 却从来没有采取任何措施来鼓励他们纠正自己的坏习惯。

VB.Fred 与 .NET 解决方案

快进到 2002 年,Microsoft 正在做它最擅长的事情,通过引入一种全新的做事方式,颠覆了自己的开发生态系统。

这一次,这个项目是对 COM 的大规模重构,而组件技术是支撑 Windows (以及间接的经典 VB)的基础。对于一家已经下过几次这样的赌注的软件巨头来说,这是一个孤注一掷的时刻。


Microsoft 之所以将这次重新启动命名为 .NET,是因为一些可疑的原因,包括互联网技术仍然是崭新的、令人兴奋的事实,以及因为 .NET 包含了 Microsoft 一心要推广的 Web 服务功能。它深受 Java 的影响,并且包含了许多工具,用于与数据库通信、构建网站、编写多线程程序、通过套接字建立连接的工具,这些几乎是所有业务开发人员能想象到的用例。

唯一的问题是,为了获得这些新特性,Microsoft 不得不放弃几乎所有的经典 VB。


如果你仔细看的话,就会发觉,新版本 VB.NET 看起来还是个老样子。但它还是有许多大大小小的突破性变化。从大的方面来说,旧的 VB 程序将受困于老旧的编程世界中,而一个极其糟糕的迁移向导几乎没有改变这一点。从小的方面来说,经典 VB 的程序员必须改变他们计算数组元素的方式。他们再也不能像普通人那样从 1 开始了。现在他们必须从 0 开始,就像正式的程序员一样。

还有一个大的方面:开发人员是众所周知的抱怨者,而 VB 开发人员尤甚。不久,一群有影响力的 VB 开发人员将 Microsoft 的新编程环境命名为 VB.Fred,并强调无论它是什么,这种新语言都不是 Visual Basic。

是什么宣判了 Visual Basic 的命运

你可能会认为,是 .NET 的变化毁坏了 VB 的基础,并让 VB 不可避免地走向衰落。但事实并非如此。事实上,尽管 VB.NET 朝着一个新的方向发展,并作出了一些突破性的改变,这些改变使优秀的经典 VB 代码成为无人能识的代码,但它却变得非常受欢迎。那是因为 VB.NET 提供了 VB 开发人员以前从未有过的东西:尊重。

在 .NET 世界中,VB 和 C# 处于平等的地位。每一行 VB 代码都可以转换成等效的 C# 代码行,反之亦然。两种语言都具有相同的功能,使用相同的组件,并编译为完全相同的形式,我们称其为中间语言(intermediate language)。VB 终于摆脱了“丑小鸭综合症”。

但是,作为另一种受人尊敬的编程语言,它也存在一个问题。人们对 VB 的热情消失了,不再是许多人的首选语言了。这不是因为 VB 变了,而是因为 C# 变了。

正如 VB 获得了与 C# 相同的功能一样,C# 也获得了与 Visual Basic 相同的便利。例如,.NET 的类型安全和内存管理功能意味着 C# 开发人员永远无须担心内存泄漏问题,就像 VB 开发人员一样。

换句话说,C# 现在有了保护业余爱好者、学生和新程序员的“护栏”,而又不放弃它的力量。突然之间,VB 不再是什么特别的东西了,它只不过是一个有能力的程序员工具包中的另一个工具罢了。


Visual Basic 当前的现状

今天,Visual Basic 正处于一个奇怪的位置。在专业开发人员中,几乎没有人使用 Visual Basic,它甚至都没有出现在专业开发人员调查中的清单,也没有出现在 GitHub 存储库中。

然而,Visual Basic 仍然在那儿,将 Office 的宏连接在一起,为旧的 Access 数据库和古老的 ASP 网页提供支持,并吸引 .NET 新手。TIOBE 索引 试图通过查看搜索引擎的结果来衡量语言的流行程度,它仍然将 VB 排在最受关注的五大编程语言之列。

但这种势头似乎已经发生了最后一次变化。2017 年,Microsoft 宣布,它将开始为 C# 添加新的语言功能,而这些功能可能永远不会出现在 Visual Basic 中。这一变化并没有使 VB 回到丑小鸭状态,但它确实消除了 VB 的一些 .NET 状态。

事实上,将 VB 边缘化的趋势已经存在多年了。严肃的开发人员都知道,.NET 的关键部分是用 C# 编写的。他们知道 C# 是演示文稿、书籍、课程和开发者研讨会的首选语言。如果你想使用 VB,它并不会影响你构建的应用程序,但它可能会妨碍你和其他开发人员交流的能力。


Visual Basic 本应在教育市场有一个天然的契合点。但即便如此,它仍然是个“败家子”,像 C# 和 Python 这样的现代语言现在已经足够简单、安全,完全可以作为他们的第一门语言来学习。

如果你需要教给小孩更简单的东西,市场上充斥着像 Scratch 等图形化编程工具。像 C#、C、JavaScript 这样的大括号编程语言也有另一种吸引力,因为它们都有自己的语法。因此,学过一种编程语言的人很快就能熟练掌握另一种语言。

随着 Web 开发的发展,Microsoft 正眼睁睁地看着机会流失。谁不会被和 VB6 一样容易使用,还可以编译成 JavaScript,并与 HTML 表单设计器配对的 VB 版本所吸引呢?

是的,它并不是构建下一个 Google Maps 的适合工具,但它可以重新唤起 Visual Basic 的吸引力,让商业开发人员、学生和爱好者创建简单的在线应用程序,而不必像 JavaScript 那样笨拙。相反,Microsoft 创造了一个基于 VB 的产品,叫做 LightSwitch,但它随着 Silverlight 浏览器插件的消失而消失。

如果 Microsoft 开发出另一款面向大众的编码产品,它更有可能是一种低代码模板驱动的工具,比如 PowerApps。

Visual Basic 以前也不是没受到过威胁,但这一次感觉不一样了。作为世界上曾经最流行的编程语言之一的太阳,似乎终于要落下了。即使这是真的,Visual Basic 在几十年内也不会消失。相反,它将会成为另一种遗留产品,一个被忽视的工具,没有激情,也没有未来。不管我们失去了什么特别的东西,或者,最终让一条老狗摆脱痛苦,这一切,都由你来决定。

原文链接:The Rise and Fall of Visual Basic

拓展阅读

《构建大型 React 应用程序的最佳实践》

查看文章,欢迎点击了解更多