分享

aardio 的 12 个误解与真相

 风声之家 2022-10-26 发布于江苏

aardio 是一个化繁为简的开发工具,务实而不贪心,做减法而不做加法。aardio 所有可以实现的功能都有现成的范例,也用 17 年的时间精心编写了大量教程和文档。

我写 aardio 的初衷是为了帮助桌面软件开发者提升效率、节省时间、减少学习成本。aardio 也确实能做到了这一点,相比那些需要三五年、甚至是十几年才能熟练使用的桌面软件开发工具,很多用户都反馈 aardio 分分钟就可以上手,几小时就开发完成了自己需要的软件。

如果您发现使用 aardio 不能为您带来这些好处,反而会增加麻烦,就没必要强求。

下面我们谈一谈新手对 aardio 的 12 个常见误解:

01、声称 aardio 已停更多年

网上只要提到 aardio ,这句谣言就迅速赶过去复制粘贴。即使 “这语言太好了,可惜已经倒闭了 …… ”  这样例行铺垫一些赞美之词,也掩盖不了这是完全子虚乌有、凭空捏造的一个事情。

aardio 17 年保持活跃更新,仅仅 aardio v10 到 v11 就经历了 168 个发行版本( 内部提交版本更多 ),2016 ~ 2022 年,aardio 就累计更新了 4692 个内部版本,发行大版本号更是自 v10 更新到了 v35。这些稍微看一下历年的 aardio 更新日志与历史文章就有数了。可参考:《 aardio 更新历程回顾:现在活跃更新,以前更新更多更快。17 年不忘初心,一直向前!》

02、声称学习 aardio 要先熟练掌握十几种其他编程语言

这不是真的。

实际上大多数 aardio 编写的桌面软件 —— 都是用纯 aardio 开发的。

学习 aardio 并不需要先会其他编程语言,aardio 支持其他编程语言 —— 只是可选项。

打个比方,例如 aardio 支持 PHP ,这是因为 aardio 几句代码就可以写一个 HTTP 服务器 —— 这种能力其实跟 PHP 没有太大的关系。

aardio 编写程序本来就很方便,一些使用其他编程语言的用户,在使用 aardio + 其他编程语言混合开发一段时间以后,会觉得有很多功能直接用纯 aardio 代码写更方便,aardio 虽小,但库真的非常多。

还有一些用户把 aardio 理解为其他编程语言的集成开发环境 —— 这个也是完全理解错了。

例如有些用户过来问我怎样才能脱离 Python 运行 Python 程序,或者怎样将 Python 程序编译成 C 语言代码,或者问我 Python 多按了一个空格就会出错 —— 让我赶紧把这个 "bug" 给修复了。

其实 aardio 里的 Python 还是原来那个官方的 Python ,aardio 不会改变 Python 的任何东西。

03、批判 aardio 没有完全照搬其他语言,或反过来批判 aardio 不该完全照搬其他语言。

这两个一本正经、被到处复制粘贴的观点 —— 本身就相互矛盾到有些可笑。

这两者的共同点就是信口开河,乱带节奏。

例如发现 aardio 里有个语法或关键字在其他编程语言里也有 —— 就激动地到处宣扬 aardio 完全照搬了其他编程语言。

或者是发现 aardio 里哪个语法没有完全跟其他编程语言一样 —— 就上纲上线无法接受国产编程语言有任何的发明和创新。

一个编程语言如果语法就没有设计好,写程序还能像 aardio 这样轻松畅快 —— 这是不可能的事。

说实话,十几年来,多数用户都向我反馈 aardio 语言简洁优雅,可读性好,上手容易,这才是真正用过 aardio 的多数用户的真实反馈。

要了解这一点很容易,花几分钟看一下 《 aardio 编程语言快速入门 —— 语法速览 》就明白了。

04、批评 aardio 不是脚本语言 —— 不能打开命令行手动调用 aardio.exe 运行 aardio 代码。或者批评 aardio 只能生成独立 EXE 程序,不能生成脚本程序,不能在发布后用记事本查看、编辑源代码。

aardio 生成的是不需要额外运行环境的独立 EXE 程序。

如果只是不想生成独立 EXE 程序,希望程序依赖外部 Python.exe,Java.exe,Electron.exe 才能运行,那直接换用这些语言或技术就行了。

至于有人要怪 “ aardio 不是脚本语言 ” —— 这你就不能怪我了,你要批评鹿不是马,鹿也很无奈啊。

aardio 是一个专注于开发独立桌面软件的编程语言,为开发独立 EXE 桌面程序而生。被编译发布的 aardio 程序都是独立 EXE 文件不再包含源代码 —— 想看源代码那就只能找 EXE 的作者单独购买。

aardio 也不是像 Electron 那样只是地把源代码打包为 asar 包再通过外部 Electron.exe 调用 asar 运行  —— 这种当然可以用 WinAsar.exe 解包编辑 JavaScript 源代码。

虽然 C语言也可以用来写脚本( 使用 aardio 的 tcc 扩展库 ),aardio 也可以强行这样做,例如我们可以用 aardio 开发一个 aardio_cgi. exe ,类似 php_cgi. exe ( 当然,PHP 写不了 php_cgi. exe ),就可以像 PHP 一样用 aardio 写网站。

但可以做一件事,不等于适合做一件事。

说到做脚本这件事,有很多更专业的脚本语言可以做得更好。

05、才看了 aardio 一下就声称 aardio 难学

其实大家只要网上随便看一下更多 aardio 用户的评论。就能看到非常多的用户提到 aardio 只要分分钟就可以上手,甚至是接触了几小时就开发完成自己需要的软件。

而那些声称 aardio 难学的,你也看不到他学好用好其他编程语言。我们常犯的一个错误就是:能把编程学好的高手都没说话,那些什么编程语言都学不会的新手 —— 到处教别人应该怎么做好编程语言,应该怎么写好文档写好教程,高谈阔论选择哪个编程语言更好 …… 

桌面软件开发并不容易,很多桌面开发工具都需要三五年、甚至是十几年的全职学习。相比起来 aardio 这样简单,容易上手的编程语言真的并不多见。

QT/C++ 用户这样说:“时隔四年,使用 aardio 重新开发二维码识别与生成工具。舍弃了跨平台特性。得到的是更高的开发效率,更小的软件体积。原来使用 QT 和 C++ 语言开发项目在此,经过了长期的学习才能写出个像样的东西。但是发布后软件动辄 > 60MB,却仅仅实现了一个小小的功能。让人非常无语。”

Delphi 用户这样说:"用了 N 年 Delphi , aardio 比 Delphi 用起来爽太多,方便太多。解析型自动释放内存,面向对象,丰富的类库函数,简洁的语法,强大的 table,table 和 PHP 的 array 很像,用起来很方便,json 函数很方便地 json 字符串和 table 互换…… 方便的东西太多了,桌面软件开发者有福音了,从此抛弃 Delphi "。

Python/PyQt 用户这样说:“…… 我是刚开始用 aardio 写界面(实在不想用 PyQt 了),Python 写数据处理业务,感受到了 aardio 的强大和奇妙。我想把 Python 数据处理过程的信息反馈到前端界面中,《这回让我们把 Python 玩出花来》看完后,用了几分钟搞定!!!实在令人惊讶 aardio 的强大!!!…… ”

06、声称 aardio 教程少、资料少

每次我看到有人这么说,我就问他具体是遇到了什么问题在找什么资料。然后总是问不出来,要么就是被对方拉黑屏蔽,要不就是说他写的是什么私密软件不便细说,要不就就是吹牛他想用 aardio 写个手机 APP 。

一些人是先有了观点,然后才去找证据,或者根本不关心有没有证据。

国产编程语言就该教程少、资料少 —— 这的确是很多人先入为主的成见。学任何编程语言都不容易,有了一个这样理想的借口,可以让他在学习编程语言的遇到任何困难的时候找到替罪羊,不用找自己的原因,这也限制了他提升自己的空间。

上次有人留言说 aardio 真高效,下载 aardio 、学习 aardio 、开发完成需要的桌面软件一共就用了 2 小时。我回复说这并不是因为 aardio 高效,而是因为使用 aardio 的人高效。我们常常夸大开发工具的作用,而忽略了决定技艺高低的最主要因素是使用开发工具的人 —— 而非开发工具本身

说实话,这么多年我都在积极地解答大家的问题。但是很遗憾的一点就是,我收到的大部分问题 —— 基本都是在回复 aardio 中一抬手就能找到答案。

我举个刚刚的例子吧:

有个用户问我 aardio 里怎样动态创建控件,说 aardio 里找不到相关教程和范例。

我说这怎么可能找不到,打开 aardio 就能找到,位置在 「范例程序 > Windows 窗口 > 基础知识 > 动态创建控件」。

可是他的回复是:“「范例程序 > Windows 窗口 > 基础知识 > 动态创建控件」这个在哪?语法与使用手册,在线文档,论坛?”

最后他倒是说终于找到了,还不忘给我留言 :“找到了,在一个意想不到的地方 ……”

好吧,我们看看这个意想不到的地方:



难找吗?我可以说没有一个开发工具的范例比 aardio 好找。

而且这个范例里的注释写得非常详细,一句代码写了 100 句注释你信吗?大家可以找一找,还有哪个桌面开发工具动态创建控件比 aardio 方便,范例文档写得比 aardio 更详细?!

类似上面的这样的交流过程,几乎是我每天都在重复做的事,我一遍又一遍耐心地解释,其实答案就在你手边,其实你点一下就可以,这种事我做了十几年。

所以我真的忠告一些新手,别再自己欺骗自己了。浪费我的时间是小事,浪费了你自己的时间是大事。

07、迷信通过视频教程可以学好 aardio 

有个人去学自行车,学了 10 分钟,生气地说:“这个自行车真难学,10 分钟都学不好,网上也找不到视频教程可以让我 10 分钟就学会骑自行车,不学了,还是鞋子方便,容易上手,没有学习成本,走路也利索 ……”,您听了这段话,觉得他傻吗?!

我发现一些特别迷信视频教程的用户,他们以前大多学的是那种低幼化的开发工具( 确实挺适合视频课 )。他们认为自己曾经学会了一种编程语言,可事实上他并没有。他要写软件就只能买更多的视频教程照葫芦画瓢 —— 离开低幼化的开发环境和视频教程他就不会正常走路了,换任何一个编程语言他都会叫苦不迭。

任何编程课,首先要看一下讲课的人有没有用这个编程语言写过一些优秀的桌面软件,否则不要浪费时间去看这种课程。跟臭棋篓子下棋 —— 是不可能提升棋艺的,反之可能你会被一起拖进臭棋篓子的世界永远都出不来。

aardio 是一个很简单的开发工具,真正需要通过视频去讲解的可视化操作是非常少的。虽然我做过一些视频,但说实话,学习 aardio 不需要看任何视频。如果你觉得你没有视频就学不会 aardio ,说实话给你再多视频也不可能学好。

08、迷信 VS Code 

我发现一些小白对 VS Code 有着某种近乎痴狂的崇拜。

我带过前端团队多年,在早年团队中还有很多前端不使用 VS Code 时就要求所有前端统一换到 VS Code。在 aardio 中我也多次推荐 VS Code,并且也写了 VS Code 调用库。

但是,如果你拿着 VS Code 的锤子,看到什么都是 VS Code 的钉子,我认为你根本就不懂 VS Code。

您可以试试用 VS Code 写一个 WubiLex,ImTip,Gif123  这样的桌面软件试试,我想您可能会累哭的。不要说用  VS Code ,你把  VS Code  他大爷 VS 请过来干这事都不一定比 aardio 方便。

有些人用过几天 VS Code 就觉得自己很了不起,觉得在 VS Code 里会用个格式化插件就目空一切。其实他连 VS Code 里面是一个网页估计都不知道,拿一个网页窗口跟传统桌面开发工具比界面风格就是很奇怪的事。

虽然 aardio 也提供了很多 Web 界面的库 —— 在这一方面 aardio 是做得不错的,但是盲目迷信和崇拜 Web 界面这是不必要的。不信大家可以试试用网页做个  Gif123,WubiLex,ImTip ……  看看会不会累趴下。

这么多年我不知道遇到多少次这样的用户,上来就说 aardio 这不行那不行,然后吹牛他自己写了个更好的什么编辑器之类这好那好。结果大家知道了,牛皮吹了十几年,具体能用的东西我是从来都都没看到过。

09、迷信 C++ , C# 的调试方式

说实话如果写 C++ , C# 可以像 aardio 这样方便地调试,那是做梦都可以笑醒的事。请先阅读「 aardio 范例程序 > 调试技术 」。aardio 语言本身就是调试工具。aardio 代码可以方便地输出对象与调试信息。aardio 的 debug 库也提供了方便的、可编程的断点调试功能。当然 aardio 并不需要通过断点调试查看调试信息,直接使用 aardio 代码调试更简单。

这就像学习骑自行车,您上去就骑,几天就能找到感觉了。只是站在远处犹豫和观望 —— 可能永远无法理解我在说什么,也永远无法理解其他 aardio 用户为什么用得那么开心。

10、迷信跨平台

其实非 Windows 系统在桌面系统的市场份额基本都小于已被遗忘的 Win8 。有些用户过于迷信跨平台的作用,却忽视了跨平台带来的沉重负担和代价。

有非常多的用户,每天苦苦研究着跨平台 —— 其实他根本就没有几个跨平台的用户。

我并不反对跨平台,其实 aardio 支持 Python , JavaScript 这些也都是在支持跨平台的语言与技术。但支持跨平台,不等于你就要抛弃 Windows 这个专有平台的优势,就连 aardio 这样生成 EXE 的工具你都要反对一下。

不让生成 EXE 你跨啥平台啊?!

为什么在桌面系统上 Windows 保持一家独大,这正说明你要尽展桌面优势就只能针对 Windows 开发。

如果有些软件并不需要尽展桌面优势,例如就是网页套个壳子,任何操作系统上都能跑,那当然可以考虑跨平台。

这就好比你要设计一件衣服,又要适合男人穿,又要适合女人穿,还又要适合老人穿,又要适合小孩穿,那么这件衣服能好到哪里去?!这么简单的道理都想不明白,还要学编程这真是很可怕的事。

11、希望 aardio 添加这样那样功能,这样那样修改编程语言以适合自己的需求

实际上任何一个编程语言的作者都难以逐一解答每一个用户的提问,也很难保证每一个修改这个编程语言的建议都被采纳。写好一个软件是复杂的,写好一个软件开发工具则更加复杂千万倍,有很多艰难的取舍并不是简单地 “看作者心情”就可以,也不是每次取舍都能跟每一个新手解释得清楚,实际上很多的建议会被拒绝 —— 这并不是因为 aardio 容不得一点建议,您把相同的建议提交给其他编程语言作者,结果可能是一样的。不然您也没必要在 aardio 这里浪费时间了,因为比我有精力,比我有实力,比我有时间的编程语言作者不计其数。

有些用户如果他不知道 aardio 的名字他要怪你,如果他知道 aardio 的名字了问了下别人不知道 —— 他也会瞬间崩溃。先不说他大概就知道几个明星编程语言的名字,不知道世上的编程语言不计其数,更不知道每一个编程语言都有可能经历数十年的潜伏与积累是很正常的事。

而且你打拳击还得比下公斤级呢,拿着几 MB 的 aardio 成天跟几千 MB 的开发工具比来比去 —— 这不是买了个自行车跟人家的豪华房车较劲嘛。

aardio 是一个化繁为简的工具,aardio 经过 17 年的开发,功能不断地增强,但体积却在不断地减小,aardio 在不断地做减法,不断地变得更简洁。

其他很多开发工具都在做加法,那么您为什么还会选择和使用 aardio 呢?!这正是因为 aardio 愿意做着别人不愿意做的减法,这正是因为 aardio 在努力地化繁为简。这个世界需要愿意做减法,愿意化繁为简的 aardio 。

如果您的需求恰恰相反,您需要的是做加法,您需要添加这个,您需要添加那个,您需要更复杂更豪华的工具 —— 那么 aardio 可能并不符合您的需求,建议尽早更换。

12、自己的软件误报怪 aardio 

这锅 aardio 是真不背。

在 aardio 首页就有教程,解决误报是很容易的事。相比起来开发一个软件多不容易,一个程序员为什么会在这种无意义的事上急着找个替罪羊,而不是去找解决问题的方法呢?

网上随便搜一下,其他编程语言的误报数量比起 aardio 只多不少(  这主要是因为用 aardio 写恶意软件的少,动态语言干坏事确实是不方便  )。我相信大家估计看过 EXE 改几个字节就出现误报的讨论,或者 EXE 文件不误报,换个 zip 就误报的现象。有些杀毒软件自己就说得很直白 —— 不认识你,你没有社区信誉就给你高误报率!

我自己用 C++ 开发的多个软件都遇到过开发时没有误报,发布出去,用户量一大,无一例外全部都发生了误报。换个编程语言就不误报还有这么好的事?您真的用其他编程语言做过桌面软件吗?没做过去看一下其他软件的用户反馈页面也可以啊,有几个能完全避免这种事?

不说编程语言对误报率完全没有影响,但这种影响不是决定性的。我用 aardio 写的很多软件,在网上用户讨论都非常多呀,WubiLex 一个帖子的回贴就有 1200 回复,罕见有人反馈说遇到误报。

而且现在使用第三方杀毒软件的普通用户非常少。一般的软件只要到系统自带的 Windows Defender 官网去提交一下检测就可以了,完全免费,通过的速度也非常快。而且我用 aardio 写的很多软件,提交到 Defender  反馈都是根本就没有误报,不需要过白。

之前还看到有用户说他用个啥他自认为很牛逼的第三方杀毒软件误报了,我装了这个所谓牛逼的第三方杀毒软件测试了一下,弹了几十个误报,把我用的各种正常软件杀得一塌糊涂,有些是很流行的知名软件。你说说你拿这种胡乱误报一气、根本没几个人用的杀毒软件强调误报有意义吗。你随随便便看一下你周围的朋友,现在还有几个人在用这些奇葩的杀毒软件?

我只想说这种先有了观点,然后再去找证据的 —— 没有任何意义。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多