再见,Visual Basic——曾经风靡一时的编程语言

2020年3月,微软团队宣布了对Visual Basic(VB)的“终审判决”:不再进行开发或增加新功能。这意味着曾经风光无限的VB正式退出了历史舞台。

VB是微软推出的首款可视化编程软件,自1991年问世以来,便受到了广大程序员的热烈欢迎,同时也承载着一代人的青春记忆。

14dcf49702be4200c0fef96666d202d0.jpeg

VB6.0无疑是VB的巅峰之作。它让开发者能够轻松地在屏幕上“绘制”出窗口、命令按钮、菜单等各种对象,实现快速原型化和易于上手的特点。因此,许多中小型企业的办公程序都选择使用VB进行编写,其影响力至今仍然可见。

VB虽有着诸多优点,却一直不被微软所“待见”。

自1998年VB6.0发布以来,它一直备受用户喜爱。然而,随着2001年.NET时代的来临,微软为了适应新的.NET平台,对VB进行了重大改进,并随后推出了VB.NET。

d1e61cba44b4882a432da8cda6adb6f4.jpeg

VB.NET看似是对VB的升级,但对于开发者而言,两者在使用上存在着巨大的差异。更有趣的是,微软甚至将VB.NET与VB的用户划分为两个对立的阵营,让他们相互竞争。最终,微软偏爱的VB.NET取得了胜利。然而,令人唏嘘的是,VB.NET后来却无法抵挡外部竞争对手C#的冲击,逐渐被取代。

236cfd0d393341971c729739949e45d4.jpeg

2017年,微软似乎再次对VB产生了兴趣,推出了C#/VB协同开发策略。然而,实际上这个策略对于VB来说几乎没有任何实质性的改变,而C#却获得了所有的新特性。

这无疑加剧了VB的衰落趋势。

VB的衰落或许是一种必然的结果。与其说它被C#打败,不如说是微软的有意放弃。在微软看来,VB或许只是一种适合编程初学者的玩具语言,难以胜任大型复杂的项目。然而,可视化编程并没有因为VB的落幕而消失,反而以全新的形式继续发展,被称为“低/无代码开发技术”。

2018年,西门子斥资7亿美元收购了Mendix,这一重大举措象征着低/无代码开发市场正式迎来了爆发式增长。紧随其后,全球科技巨头们纷纷嗅到了商机,谷歌迅速推出了Quick Builder这一低代码开发工具,而苹果也不甘示弱,推出了Automator低代码产品以抢占市场份额。值得一提的是,尽管微软对VB的支持逐渐减弱,但他们却积极投身于全新的Power Platform低代码开发平台的布局中,展现出了对低代码开发领域的浓厚兴趣。

b2ad7121943ff18790415c2912f50fbd.jpeg

回到国内来看,“低/无代码开发技术”的发展可以说更早一些。早在2000年,易语言就已经作为第一款低代码可视化编程工具问世。经过20多年的发展,这个领域已经取得了丰硕的成果,涌现出上百家从事低/无代码开发的企业,其中不乏像eversheet这样备受好评的产品。

dacb53f6ecc3c0466a69b4ab509528f7.jpeg

eversheet是一款国内的无代码开发平台,它率先引入了创新的表格式编程技术。通过这一技术,软件开发过程变得与操作Excel一样直观便捷,用户只需进行简单的表格绘制、拖拽操作,即可实现所见即所得的效果,全程无需编写任何一行代码。这样一来,即使是不具备IT技术背景的企业员工或管理者,也能轻松构建诸如WMS系统、CRM系统、MES系统、进销存等各类常用软件应用。

e6b436731dc1c49ec8f57219e9527a9d.jpeg

作为国内的一款良心软件,eversheet还推出了免费试用版,内置了简易工作流、数据透视表等实用的办公功能,深受用户喜爱。同时,它纯中文的可视化编程界面也让许多曾经的VB用户感到震惊和喜爱。

小结

再见了VB!从FoxPro到VB,再到后来的C#,程序员的回忆在不断迁移。作为可视化编程的重要里程碑,VB的卓越贡献将被eversheet等新一代工具所传承,并进一步推动其发扬光大。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/264571.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

编曲学习:和声小调 终止式 离调和弦 转调应用

和声小调 音阶 大调音程关系排列:全 全 半 全 全 全 半 小调音程关系排列:全 半 全 全 半 全 全 C大调音阶: 1 2 3 4 5 6 7 1 C小调音阶: 1 2 b3 4 5 b6 b7 1 C大调基本音级构成的和弦: Cmaj7 Dmin7 Emin7 Fmaj7 G7 Amin7 Bm7-5 C小调基本音级构成的和弦: Cmin7 D…

【web APIs】1、(学习笔记)有案例!

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、概念二、使用步骤1.获取DOM对象2.操作元素内容3.属性修改3.1.常用属性修改3.2.控制样式属性3.3.操作类名(className) 操作CSS3.4.操作表单元素属性3.5.自定…

【Excel PDF 系列】EasyExcel + iText 库

你知道的越多,你不知道的越多 点赞再看,养成习惯 如果您有疑问或者见解,欢迎指教: 企鹅:869192208 文章目录 前言转换前后效果引入 pom 配置代码实现定义 ExcelDataVo 对象主方法EasyExcel 监听器 前言 最近遇到生成 …

JVM跨代引用垃圾回收

1. 跨代引用概述 在Java堆内存中,年轻代和老年代之间存在的对象相互引用,假设现在要进行一次新生代的YGC,但新生代中的对象可能被老年代所引用的,为了找到新生代中的存活对象,不得不遍历整个老年代。这样明显效率很低…

如何移除禁用WordPress默认小工具(附WordPress默认小工具名称)

WordPress 自带的小工具非常多,但是我们用到的也就那么几种,甚至一种都不会用到,所以很有必要注销(去除)掉一些不用的小工具。实现的方法也很简单,只需将以下代码,根据自己的情况删除需要用的小…

Atcoder ABC341 E - Alternating String

Alternating String(交替字符串) 时间限制:3s 内存限制:1024MB 【原题地址】 所有图片源自Atcoder,题目译文源自脚本Atcoder Better! 点击此处跳转至原题 【问题描述】 【输入格式】 每个查询 q u e r y i query…

clip_as_service学习

参考:clip_as_service学习过程(一)——安装客户端与服务端_clip-as-service-CSDN博客 CLIP-as-service 0.8.3 documentation (jina.ai) pip3 install clip-client /usr/local/python3/bin/python3.7 -m pip install --upgrade pip pip3 install clip-server pyt…

TensorFlow2.x 精选笔记(2)自动求导与概率

学习参考: 动手学深度学习2.0Deep-Learning-with-TensorFlow-bookpytorchlightning ①如有冒犯、请联系侵删。 ②已写完的笔记文章会不定时一直修订修改(删、改、增),以达到集多方教程的精华于一文的目的。 ③非常推荐上面(学习参考&#x…

重新安装VSCode后,按住Ctrl(or Command) 点击鼠标左键不跳转问题

重新安装VSCode后,按住Ctrl(or Command) 点击鼠标左键不跳转问题 原因:重新安装一般是因为相应编程语言的插件被删除了或还没有下载。 本次是由于Python相关的插件被删除了,因此导致Python无法跳转。 解决办法 在vs…

node14下运行项目报错:regeneratorRuntime is not defined

regeneratorRuntime is not defined,这是由于配置babel出错问题,由于使用了es7语法如async/await而当前babel版本过低 解决: npm install -D babel-plugin-transform-runtime babel-runtime 安装完成后在.babelrc文件下配置: &qu…

rabbitmq知识梳理

一.WorkQueues模型 Work queues,任务模型。简单来说就是让多个消费者绑定到一个队列,共同消费队列中的消息。 当消息处理比较耗时的时候,可能生产消息的速度会远远大于消息的消费速度。长此以往,消息就会堆积越来越多&#xff0c…

AI赋能Oracle DBA:以自然语言与Oracle数据库互动

DBA AI助手:以自然语言与Oracle数据库互动 0. 引言1. AI赋能Oracle DBA的优势2. AI如何与Oracle数据库交互3. 自然语言查询的一些示例4. 未来展望 0. 引言 传统的Oracle数据库管理 (DBA) 依赖于人工操作,包括编写复杂的SQL语句、分析性能指标和解决各种…

BioTech - 大分子药物设计 概述

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/136302202 大分子药物设计领域主要包括3个方面,即大环类药物设计、蛋白质与多肽类药物设计、核酸药物设计等,具体如下&…

【练习——打印每一位数】

打印一个数的每一位 举个例子:我们现在要求打印出123的每一位数字。我们需要去想123%10等于3,就可以把3单独打印出来了,然后再将123/10可以得到12,将12%10就可以打印出2,而我们最后想打印出1,只需要1%10就…

el-tab-pane标签页如何加图标

效果如下 主要修改 <el-tab-pane name"tab6" v-if"subOrderType 10 && urlname ! wgSalesTerminationOrder"><span slot"label"> 售后判责<span class"el-icon-warning" style"color:#F66B6C;"&…

【数据结构】线性表 顺序表(动态、静态分配,插入删除查找基本操作)解析+完整代码

1.线性表的基本概念 定义 线性表&#xff08;Linear List&#xff09;是具有相同数据类型的n个数据元素的有限序列。 n为表长&#xff0c;n0时线性表是个空表 前驱、后继 前驱&#xff1a;其中一个数据元素的前一个元素。第一个元素没有前驱。后继&#xff1a;其中一个数据元素…

设计并实现一个并发安全的LRU(Least Recently Used,最近最少使用)缓存结构

文章目录 前言实战演示写在最后 前言 相信很多人都使用过LinkedHashMap&#xff0c;LinkedHashMap中的removeEldestEntry可以删除老旧的元素&#xff0c;我们可以以此来实现一个LRU缓存结构&#xff0c;并结合java中JUC包中的各种多线程锁机制来保证多线程安全。 以下是我遇见…

AE电源Apex Generator 系列5708009-C 使用说明 文件内容可以看目录,包含使用,调试,安装等内容都有160页

AE电源Apex Generator 系列5708009-C 使用说明 文件内容可以看目录&#xff0c;包含使用&#xff0c;调试&#xff0c;安装等内容都有160页

【简写Mybatis】02-注册机的实现以及SqlSession处理

前言 注意&#xff1a; 学习源码一定一定不要太关注代码的编写&#xff0c;而是注意代码实现思想&#xff1a; 通过设问方式来体现代码中的思想&#xff1b;方法&#xff1a;5W1H 源代码&#xff1a;https://gitee.com/xbhog/mybatis-xbhog&#xff1b;https://github.com/xbh…