魏永明VW
22-08-17 12:14 微博认证:清华大学

社区里有人好奇:魏老师啊,您是不是觉得现有的技术解决不了您的需求,所以才开发了 HVML ?

的确是,很多技术上的变革最初就来自开发者对已有技术的不满,比如 Linus 当初对用于 Linux 内核版本控制的工具 BitKeeper 不满,所以后来开发了 Git ,现在成了最流行的版本控制系统。这些变革实际上就是开发者为了解决自己的需求,而现有的工具或者基础设施用起来非常不爽,所以我希望去改变这种情况,干脆自己重新造了个轮子。这是技术发展很常见的一种形式,搞软件的,包括搞基础软件的人,喜欢用这种方式来解决问题。不知道各位大佬们是否也自己造过轮子啊?@逮獭科技 @宝玉xp @老师木 @蒋涛CSDN @程序员邹欣 @裴喜龙 @蚁工厂 @C科技 @tombkeeper @响马 @题叶 @木耳他爹 @原烽_BOE @美人她爹 @包云岗 @芯扒客 @Easy @马少平THU

HVML 的出现,主要源于我对用 C/C++ 、Java 这类编程语言开发 GUI 应用的不满,就算有可视化的界面设计器的帮助,其开发效率也很难和网页前端技术相比。除此之外,使用非 JavaScript 语言的其他开发者,比如使用 Python 做人工智能、大数据分析的开发者,也无法轻松使用 Web 前端技术带来的好处。若要用,非要折腾一番不可,比如要么做个计算结果的可视化,要么使用 Python 的各种 GUI 绑定,要么绕一圈喂数据给浏览器,也是非常痛苦的,导致程序员经常干的都是一些很无聊的工作,花大量的时间来调节一些细节。

程序员这个群体都是有想法、比较聪明的人,工作本质也是为了让计算机能够替代人类干大量的重复性的劳动,把人类解放出来,但后来发现,程序员其实是被计算机绑架了,整天为了一些细节、一个Bug 调来调去,然后不得不无休止的加班。我们应该尝试去改变这种现状,HVML 就是因此应运而生的。

HVML 实质上是把 Web 前端的技术和 C/C++ 这些编程语言所擅长的事情,有机地结合起来,通过一个新的编程语言把它们粘合在一起,发挥各自所长。比如 C/C++ 适合计算,而 Web前端适合开发 GUI 或者多媒体,我们把这些优点通过 HVML 整合在一起,而不是采用这种办法:做一个 GUI 需要用到前端技术,就必须整一个大的浏览器,然后通过 JavaScript 本地绑定,写一堆代码再把它们整合在一起,就像 electron 这种项目所做的事情—— 把一个 Web server 攒到一个本地 GUI app 中,这种模式一是很不优雅,二是带来的效果就是 Web 技术就如同一个封闭的车厢,你一旦进去了就出不来。为了摆脱这种束缚,HVML 就是一个很好的选择。

如今,HVML 一一实现了我们当初设计时所有的设想,大家可以看到,我们是如何把不同的技术优点优雅地整合在一起的。

HVML 已经发布了,希望大家能够去浏览 HVML 解释器 PurC 的源代码仓库 github.com/HVML/PurC,一定要点亮 HVML 代码仓库的 Star 给予我们鼓励!同时,也欢迎大家加入我们的 HVML 社区群,共同成为 HVML 的贡献者和受益者!

发布于 北京