VB.NET是如何复活的,以及为什么它比您想象的重要。

由智能自动化顾问WitoldGańko撰写

让我们从我的灵感开始写这篇文章。 在为我的客户执行的一个自动化项目中,有人问我是否可以在不使用RPA的情况下自动化一些较小的流程,因为此时所有机器人都在全力工作。 我的回答很短。 我可以使用VBA或VB.NET制作应用。 这封信立即使具有深厚技术背景的一位经理笑了起来。

“ VB.NET? 该语言是否仍在使用,或者您打算成为死灵法师*?”

Necromancer *(死灵法师)—开发人员维护使用COBOL等语言编写的旧软件的流行术语

不足为奇的是,根据TIOBE指数,2011年VB受欢迎度为0.259%。 为了给您一些C#的比较,Microsoft用于开发.NET应用程序的另一种语言的使用率超过8.2%。 由于“ VB.NET Developer”的语法易于阅读(对于非IT人员而言)(稍后会详细介绍),这引起了初学者的兴起,他们具有……可疑的编程技巧。

但是随后发生了意外情况。 自2012年以来,我们可以看到人气持续上升,到2018年它超过了C#得分7.12%(C#3.45%)。

开发人员社区动摇了,指责TIOBE索引完全有偏见且没有代表性(您可以在此处了解如何计算TIOBE索引)。
引用Reddit上的一些评论:

“我过去一直关注TIOBE,但他们在这些数字上失去了所有信誉。”
“这是胡说。 这可能意味着什么? 废话 在他们的头脑中没有人会使用VB.Net提出新的应用程序。

这些人是正确的,还是还有更多? 发生了什么?

机器人的兴起-RPA。

对于不熟悉该术语的人,RPA代表机器人过程自动化。 这些是用于通过模拟人工来自动化业务流程的软件工具。 RPA的最大优点是能够使用包括Citrix虚拟机在内的用户界面(无需API)与应用程序进行交互。

此外,诸如UiPath或Blue Prism之类的RPA工具旨在供商务人员使用,而无需任何编程知识。 在大多数RPA工具中进行开发似乎就像绘制BPMN流程图。 您只需在设计图上拖放对象/活动(例如“单击按钮”)即可。 而已。 没有编码,没有API。 对于UiPath,您甚至可以使用类似Excel的记录器来捕获您在做什么,并将其转换为具有已进行活动的流程图。

所有这些都无需花费很长的开发过程,也无需迁移到新系统的成本。 好吧 好…

谁应该使用这个? 当我与软件开发人员交谈时,我可以在他们的眼中看到家长式作风。 特别是那些具有测试自动化经验的人。 当可以使用几行代码来归档相同的“随机工具”时,为什么还要花更多的时间呢?

此外,他们没有动力去换工作,因为薪水处于可比较的水平,并且人们普遍认为,从“真正的发展”转向使用无代码工具是某种降级。

类固醇的业务分析师。

因此,我们确定RPA不需要编程技能,并且主要是由业务而非IT部门制作的。 那么还有谁做呢?
业务分析师; 已经负责流程改进,优化和建模的人员。

“好吧...是的...我知道它的RPA很棒...但是VB.NET的全部功能是什么?” 你可能会问。 答案很简单:VBA

VB的小兄弟曾经在MS Office应用程序中开发解决方案。 多年来,许多业务分析人员和其他非IT员工一直使用这种语言来使他们的工作自动化。 VBA并没有被视为安全威胁(尽管应该如此),因此允许许多员工在无需IT部门和Cyber​​sec批准的情况下开发自己的解决方案。 这对于金融部门的公司而言至关重要,因为在这些公司中,此类过程可能需要数年时间(我毫不夸张地说)。

但是VBA不管多么强大(仅使用Excel,VBA和某些Access数据库就可以制作高级应用程序),它都有一个很大的弱点,它仅限于MS Office应用程序。 有一些解决方法,例如运行批处理文件或将光标移动到由像素指定的位置(听起来很有趣,对吗?)。 因此,我们找到了解决方案,业务自动化的圣杯。

业务自动化的语言。

RPA工具创建的历史不在本文讨论范围之内。 我只能说RPA是由业务分析师为业务分析师设计的。 结合这一事实,即金融部门使用的大多数应用都是使用.NET为Windows操作系统编写的,这导致了以下不足为奇的选择。 几乎所有RPA工具都使用.NET框架,因此使用其语言C#和VB.NET。

对于不熟悉这些语言的人,让我向您展示一些代码进行比较:

 VB: 
 If a Is b Then 
' variables refer to the same instance
End If
 If a IsNot b Then 
' variables do not refer to the same instance
End If
 For row = 1 To rows
For column = 1 To row
Write("{0,-2} ", current)
current += 1
Next
    WriteLine()
Next
 C#: 
if (object.ReferenceEquals(a, b)) {
// variables refer to the same instance
}
if (!object.ReferenceEquals(a, b)) {
// variables do not refer to the same instance
}

你看得到差别吗? 对于任何非技术人员来说,VB绝对易于阅读和学习。 很多次,我看到客户的员工在没有任何编程背景的情况下理解代码。
VBA在金融机构,共享服务中心,物流公司,会计(此列表可以不断增加)中的广泛流行,使之更加受欢迎。 更不用说,从VBA切换到VB.NET很容易。

现在我们可以回到RPA。 我说过,编程不是必需的,但是让我以UiPath为例来解释大局(通过它们提供免费的社区版本,所以我建议您自己检查一下)。
VB.NET和.NET以非常特定的方式实现。 例如,变量是使用用户界面声明的,但是对变量的操作可以使用.NET对象的属性和方法。 例如,EmployeeName.Contains(“ Adam”)将根据员工姓名返回True或False。

此外,所有变量都可以声明为(几乎)任何.NET对象。 因此,随着您作为RPA开发人员的发展,自然而然地,您将需要越来越多的VB.NET知识来绕过某些活动的缺乏并在对象(如DataTable或MailMessage类)上进行高级操作。
您只需添加变量(使用UI和超级对象浏览器)“邮件”,然后选择Microsoft.Office.Interop.Outlook.MailItem(UiPath将其显示为“ MailItem”类型),并将BCCFromEmail作为字符串。
然后只需放置一个名为assign的活动并编写BCCFromEmail = Mail.BCC()
简单明了,即使对于商务人士也是如此。

为什么这么重要?

作为智能自动化顾问,这是RPA开发人员/分析师将RPA与Chatbots,Assistant,OCR和OCR相结合的一个好词,我看到卓越中心越来越多,并且所有员工都可以免费使用RPA工具。 对于您来说,我的非技术性读者来说,这意味着使用RPA和编程早于后来将像今天使用Excel一样明显。

那我喜欢用分号/括号括起来的大学呢? 您可以预期经典软件开发中VB的使用也会增加,因此当您的新学院将使用VB编写时不要感到惊讶。

从长远来看,这种增长是否可持续? 不需要。越来越多的RPA工具(例如BluePrism)允许使用其他语言,例如C#或Java。 即使在前面提到的UiPath中,您也可以将Python代码作为活动注入。
所有这些只是下一轮革命的又一小部分。 软件开发的民主化以及废除IT与业务专业人员之间的人为边界。

您可以通过我的TwitterLinkedIn个人资料与我联系。

我想说谢谢艾萨克元作为他的文章是我的灵感来写这个的一部分。

From: https://hackernoon.com/how-vb-net-was-resurrected-and-why-its-more-important-than-you-think-f040f777a01d

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值