# 跟个风，2025年开发独立软件，用什么语言、技术合适？

**URL:** <https://meta.appinn.net/t/topic/35430>\
**Category:** 讨论分享\
**Tags:** windows\
**Created:** [2022 年8 月 19 日 06:05 UTC](https://meta.appinn.net/t/topic/35430 "2022-08-19T06:05:53Z")\
**Posts on this page:** 13\
**Page:** 2

<div class="post-metadata">

作者： ![Chaoses\_Ib](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/chaoses_ib/32/19682_2.png) [@Chaoses\_Ib](https://meta.appinn.net/u/Chaoses_Ib)\
发布日期： [2022 年8 月 19 日 10:01 UTC](https://meta.appinn.net/t/topic/35430/21 "2022-08-19T10:01:15Z")

</div>

不然呢，就表达一下个人好恶，我还要写一个规范文档吗？你不赞同我没问题，不过我更希望你能反驳我提出的观点，说说易语言的优点，以及我说的有哪些事实性错误，这样的讨论才有价值。

---

<div class="post-metadata">

作者： ![GingerCat](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/gingercat/32/1349_2.png) [@GingerCat](https://meta.appinn.net/u/GingerCat)\
发布日期： [2022 年8 月 20 日 06:56 UTC](https://meta.appinn.net/t/topic/35430/22 "2022-08-20T06:56:57Z")

</div>

autohotkey是世界上最好的编程语言

---

<div class="post-metadata">

作者： ![lilyhcn1](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/l/439d5e/32.png) [@lilyhcn1](https://meta.appinn.net/u/lilyhcn1)\
发布日期： [2022 年8 月 20 日 09:22 UTC](https://meta.appinn.net/t/topic/35430/23 "2022-08-20T09:22:19Z")

</div>

你这个观点，我可以给你点个:heart:

---

<div class="post-metadata">

作者： ![popy32](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/p/65b543/32.png) [@popy32](https://meta.appinn.net/u/popy32)\
发布日期： [2022 年8 月 21 日 04:29 UTC](https://meta.appinn.net/t/topic/35430/24 "2022-08-21T04:29:14Z")

</div>

兄弟，看你开发的IbEverythingExt很不错，想必还是很精通windows，上面一些评价在技术性有失偏颇

> [@Chaoses\_Ib](#):
>
> 易语言没有语言标准，语法也很不完备，很多操作都需要置入机器码来实现（与此同时还不支持内联汇编，只能靠第三方来逆向实现）

E语法设计不是不完备，肯定是遵循图灵完备，不可能一份代码能跑出两份结果。要说就是语法设计上很丑（比如我类C语言看惯了，像Go和Rust我也觉得丑）  
内联汇编和机器码在代码上本质没有区别，两者互相转换不损失信息，逆向常用的命令gcc -S和objdump -d，部分E代码一般都注解了内联汇编

> [@Chaoses\_Ib](#):
>
> 社区虽然比较活跃，但质量相比其它语言的也不高，并且二进制源码格式极大限制了开源协作

社区活跃这个很难得了，目前这个社区商业化运营我觉的很棒。试问讨论纯技术的国内活跃社区还有哪些，刚入门的小白问的基础语法问题不被嘲讽还能大概率被解答的社区还有哪些。

E不是没有协作，不过是闭源协作，通过模块化完成协作。模块可以复用，闭源能满足开发者的商业想法，所以开发效率不比开源协作差。这点和C#的nupkg二进制分发包相似，一些公司是专门在上面卖商业库。

> [@Chaoses\_Ib](#):
>
> 拿易语言来说，它的语言设计到处都是大洞，除了上面内联机器码的例子，它的模块不支持通用型和变长参数，支持库却支持，但支持库又不给易语言提供 SDK，只能用 C++ 写（后来第三方有了一个易写易库）

精E模块有实现fprintf变长打印，一次性用16个参数，这算对不变长的一种弥补吧，不过什么函数能用到这么多。

另外中文编程只是个噱头，和人讨论E从技术出发，只谈这一点可以筛选掉，避免无意义的争执。

总之，我在技术上对E还是十分赞许的，一个二十年的商业软件能活到现在，已经是个奇迹了。一些优势我也在主流语言找到了影子，比如运行不需要依赖的go，上面说的nuget二进制分发的C#。另外社区至今还能提供不少灵感，例如我最近要找的如何用COM操作Windows防火墙。

---

<div class="post-metadata">

作者： ![adoin](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/adoin/32/30394_2.png) [@adoin](https://meta.appinn.net/u/adoin)\
发布日期： [2022 年8 月 21 日 05:01 UTC](https://meta.appinn.net/t/topic/35430/25 "2022-08-21T05:01:02Z")

</div>

Go+Vue/React

---

<div class="post-metadata">

作者： ![Chaoses\_Ib](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/chaoses_ib/32/19682_2.png) [@Chaoses\_Ib](https://meta.appinn.net/u/Chaoses_Ib)\
发布日期： [2022 年8 月 21 日 06:14 UTC](https://meta.appinn.net/t/topic/35430/26 "2022-08-21T06:14:52Z")

</div>

> [@popy32](#):
>
> E语法设计不是不完备，肯定是遵循图灵完备，不可能一份代码能跑出两份结果。要说就是语法设计上很丑（比如我类C语言看惯了，像Go和Rust我也觉得丑）

我说的完备显然不是指图灵完备，Brainfuck 也是图灵完备的，但它在应用开发领域就没有什么价值可言。美丑是主观的，有的人喜欢有的人不喜欢，但语言特性的不完备是客观的，每个被波及到的开发者都会因此降低开发效率，比如我上面说的，通用型的开发障碍导致易语言的泛型几乎是废的，结构特性的缺失导致它没法靠自身写出链表，缺少 sizeof 导致不得不手算或用第三方工具计算。

> [@popy32](#):
>
> 内联汇编和机器码在代码上本质没有区别，两者互相转换不损失信息，逆向常用的命令gcc -S和objdump -d，部分E代码一般都注解了内联汇编

汇编和机器码是两门语言，相互转换会损失信息，比如标签名、常量表达式、注释以及一些高级语句。更重要的是，内联机器码和内联汇编在开发效率上完全不同，不使用第三方插件的话，内联机器码每次修改汇编都要汇编成机器码再替换置入代码，而且还无法引用变量和函数，这跟内联汇编的开发效率差得太多了。当然，一个完备的语言在开发非底层软件时本就不该到处需要内联汇编。

> [@popy32](#):
>
> 社区活跃这个很难得了，目前这个社区商业化运营我觉的很棒。试问讨论纯技术的国内活跃社区还有哪些，刚入门的小白问的基础语法问题不被嘲讽还能大概率被解答的社区还有哪些。

如果跟国内的比那确实差别不大，但跟英语社区的比质量就差远了，易语言的原生语言是中文，应该跟其它语言的原生语言社区对标。

> [@popy32](#):
>
> E不是没有协作，不过是闭源协作，通过模块化完成协作。

我没有说易语言没有协作，我只是说二进制格式源码极大限制了协作，出现合并冲突时解决起来很困难。另外易模块实际上不是闭源的，它不会编译源码到机器码，只是把注释和命名擦除了。曙光写过一个比较完整的反编译工具，精易为了保护模块还开发了个模块加密插件，虽然 hook 下就可以破解。

> [@popy32](#):
>
> 精E模块有实现fprintf变长打印，一次性用16个参数，这算对不变长的一种弥补吧，不过什么函数能用到这么多。

问题不是不支持变长参数，而是易语言自身不支持，支持库支持，但支持库却又不给易语言提供 SDK，把其它语言当一等公民。

> [@popy32](#):
>
> 另外中文编程只是个噱头，和人讨论E从技术出发，只谈这一点可以筛选掉，避免无意义的争执。

我对中文编程没有意见，语言障碍是确实存在的（虽然被很多人夸大了），要让计算机普惠所有人，中文编程是正确的方向，虽然发展起来很困难。

---

<div class="post-metadata">

作者： ![StackNi](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/s/c77e96/32.png) [@StackNi](https://meta.appinn.net/u/StackNi)\
发布日期： [2025 年6 月 27 日 05:49 UTC](https://meta.appinn.net/t/topic/35430/27 "2025-06-27T05:49:45Z")

</div>

劝你还是不要再迷恋VB6了。要不要告诉你微软当年是怎么亲手埋葬VB6的？说出来你都怕！

2002年微软推出VB.NET时，号称简单升级，结果VB6项目迁移报错率高达90%以上！因为微软彻底重写了整个运行时，连数据类型的处理机制都故意不兼容！

知道为什么VB6用户宁死不肯升级吗？因为微软当年玩的是 **技术栈绑架** ：

VB6 IDE从2009年Win7时代开始就被故意破坏，官方不再提供安装支持，逼用户换VS，而且COM组件历史局限性又大，面对爆发式的互联网技术显得极度无力。VB6写的ActiveX控件在.NET里要经过RCW封装，性能暴跌！微软自己都承认VB.NET的WebForms是失败品，后来都被MVC取代了。微软自己把VB6埋葬却没有给出平滑过渡方案，就直接让VB6用户自己想办法为这个过渡方案买单！你也不想想微软自己对VB6的态度有多恶劣！

最讽刺的是——现在微软Azure里跑得最多的反而是Python和Node.js，当年被强迫升级的VB6用户，不过是微软的牺牲品罢了。

醒醒吧！VB6是被微软亲手杀死的过时技术！VB6在微软眼里连维护的价值都没有！

---

<div class="post-metadata">

作者： ![DavidJoy](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/davidjoy/32/58244_2.png) [@DavidJoy](https://meta.appinn.net/u/DavidJoy)\
发布日期： [2025 年6 月 27 日 05:52 UTC](https://meta.appinn.net/t/topic/35430/28 "2025-06-27T05:52:45Z")

</div>

好奇这个帖子一开始发的是什么，看时间和很多回帖都是 2022 年的，现在改成 2025 年了

---

<div class="post-metadata">

作者： ![deatil](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/deatil/32/9378_2.png) [@deatil](https://meta.appinn.net/u/deatil)\
发布日期： [2025 年6 月 27 日 05:53 UTC](https://meta.appinn.net/t/topic/35430/29 "2025-06-27T05:53:02Z")

</div>

rust

---

<div class="post-metadata">

作者： ![StackNi](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/s/c77e96/32.png) [@StackNi](https://meta.appinn.net/u/StackNi)\
发布日期： [2025 年6 月 27 日 05:53 UTC](https://meta.appinn.net/t/topic/35430/30 "2025-06-27T05:53:03Z")

</div>

> [@Chaoses\_Ib](#):
>
> 1991 年发布的，1998 停止更新

我纠正一下，VB6是1998年发布的，2008年停止支持的。  
你说的1991年发布的是VB1，不是VB6。

---

<div class="post-metadata">

作者： ![StackNi](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/s/c77e96/32.png) [@StackNi](https://meta.appinn.net/u/StackNi)\
发布日期： [2025 年6 月 27 日 05:55 UTC](https://meta.appinn.net/t/topic/35430/31 "2025-06-27T05:55:44Z")

</div>

21世纪还把VB6当宝贝的人属实让我吃惊到掉大牙

---

<div class="post-metadata">

作者： ![StackNi](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/s/c77e96/32.png) [@StackNi](https://meta.appinn.net/u/StackNi)\
发布日期： [2025 年6 月 27 日 06:03 UTC](https://meta.appinn.net/t/topic/35430/32 "2025-06-27T06:03:32Z")

</div>

不过你如果喜欢维护VB6那屎山代码的话我也没意见。毕竟你喜欢制作窗体嘛，那也无所谓

---

<div class="post-metadata">

作者： ![hzhbest](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/h/e9a140/32.png) [@hzhbest](https://meta.appinn.net/u/hzhbest)\
发布日期： [2025 年6 月 27 日 06:26 UTC](https://meta.appinn.net/t/topic/35430/33 "2025-06-27T06:26:54Z")

</div>

顶楼没有修改图标，看起来不是改过的；但又突然有回帖，难道只修改标题不会添加修改图标但会被当作“新主题”而顶上来？这得让青蛙看看才知道了

[上一页](https://meta.appinn.net/t/topic/35430.md?page=1)
