• LinkChou

    如题,求助各位佬友,现在都2026年了,AI编程大量普及,那如果只是想完成以下几个小目标,学习什么编程语言比较好呢?

    目标

    - 做在且仅在Win上运行的程序

    - 不要Electron技术栈的,WebView2也不要

    - 尽量轻量,以hello world为例,release版本的大小>10M,内存>50M的统统拒绝

    - 支持高dpi

    - 原生支持CJK输入

    - 界面原不原生随意

    - 运行效率尽量高,至少要比python高

    - 向他人分发时,尽量避免让他人安装依赖

    - 尽量支持win7

    以上1-5点为必选项,其余可选

    背景(编程经验?)

    小学:从cmd和bat的脚本小子一路走过来的,然后理所当然的转易语言

    初中:继续用易语言,接触了精易模块,但因为造出来的东西分发困难,会被当时几乎所有主流杀软报毒而被迫另寻他路

    高中:

    - 以Python+Tkinter/wxPython为主,基本上把python的官方教程( Python 教程 — Python 3.14.7 文档 )学完了(当然那时候才3.8吧)。

    - 跳过了爬虫与网络,只看本地相关的

    - 然后自学了点C和Cpp(但是十分不精通,仅限写简单的cpp项目,能看懂简单项目的代码,C++PrimerPlus看到类就没继续,CPrimer也是到类)

    大学:

    - 没啥时间研究编程(非科班,医学生……),只是换了开发起来更简单的aardio,但是近期越来越发现aardio的文档组织极差,网络上的参考资料极少,各种少用的功能还得手动调winapi,基本上所有的轮子都得自己手动造。

    - 学了rust,入了好几次门终于入进去了,能写、看懂简单的程序,但是发现纯rust难以开发GUI,要么不满足上面的要求,要么能满足但是难度极高(例如rust调winapi/winsafe库等)

    当前:

    以rust写后台,前台调其他语言的GUI为主,当前用过cpp的imgui,rust的很多库(egui,tauri,slint(这个没学明白),freya,Iced等),但是复杂度和程序体积都没达到我的预期

    附个我做的GUI页面,我的程序复杂度大概就这么高(这是用aardio写的)

    图片

    AI方面:

    在给不少程序当义务QA的时候积累了不少复现bug的经验,所以当前我都是用超长的prompt加上各种各样的edge case让ai干活,从结果来看效果还是不错的:

    指,我完全了解自己构建的AI项目的架构和各模块及模块中方法的作用,正式发版无任何恶性bug、测试阶段能自己构造成功的测试用例(完善不敢说)、用户提出的问题能自己找到出错点并要求AI解决(没钱的时候就是自己上了,但仅限rust和cpp的逻辑部分,纯正winapi回调做的UI写不明白一点)。

    其他

    我已浏览一下帖子,但是其中没有特别符合我的要求的。我也阅读了社区准则,但是不确定这个帖子发在灌水区好还是这里好……

    如题,本人自己会 java 和 前端,没有开发过桌面应用,看大佬们几天就能搞出一个小软件,心里痒痒的,换语言的话,哪种方式上手快,兼容性比较好(win、mac、linux),求推荐
    投你喜欢的技术吧
    投票

    准备在win上面做个小工具,不考虑跨平台问题,之前一直是用PySide6+Nuitka,但是打出来的包体积比较大,编程语言方面自己也不熟悉C/C++,只会Go和Python,所以技术选型上面现在有点犯难 ^-^
    问问佬友们有没有推荐的gui框架,不依赖webview或chromium内核就好

    我的GitHub主页见下,如果各位佬友想通过我的过往项目确认编程水平可以参考:

    图片

    GitHub

    图片

    Mikachu2333 - Repositories

    Mikachu2333 has 44 repositories available. Follow their code on GitHub.

    总结

    以我目前的编程知识水平,学什么编程语言能较好的完成以上的目标?

    主楼
  • xyTuoren

    可以看看WinUI

    #1
  • ppgamess

    感觉C#适合你

    #2
  • GreatZaochen

    感觉qt在win的体验也还可以,也比较成熟

    #3
  • 南箕子

    做点小程序 egui 不是最合适吗,这个都不满意那就用 windows 自己的原生方案吧,winUI 是吧

    #4
  • 牛马

    看你说的要求,可以试试C#

    #5
  • apparition

    看起来不像是什么小目标

    已经算是需要克服的困难点了

    综合来说,Rust 吧

    win7 刚需的话,C++ 吧

    但 AI 写的效果偏差

    得自己和 AI 慢慢搓

    #6
  • Jim_Green

    jimmgreen/LUMENUI: High-performance Windows native monochrome luminescent UI library 看看我这个,基本满足你的要求。

    #7
  • chapiom-linuxdo

    这么多要求也只有c++适合了吧,放弃兼容性最求极致性能。c#还是要依赖formwork的,新版也不支持win7了。

    #8
  • hzqst

    - 做在且仅在Win上运行的程序

    - 不要Electron技术栈的,WebView2也不要

    - 尽量轻量,以hello world为例,release版本的大小>10M,内存>50M的统统拒绝

    - 支持高dpi

    - 原生支持CJK输入

    - 界面原不原生随意

    - 运行效率尽量高,至少要比python高

    - 向他人分发时,尽量避免让他人安装依赖

    - 尽量支持win7

    chromium系的死于第二条

    原版qt死于第三条(不考虑自己阉割的话)

    native win32系(比如MFC)死于第4条(不要跟我抬杠说MFC支持hdpi)

    .net系(比如Avalonia)死于第3条+第8条(要么打包得时候附带.net runtime要么强制用户安装.net)

    winui3死于第九条

    算下来你好像只能选择imgui这种立即模式的了。

    你别管一个GUI吃50%GPU和10%的CPU性能开销大不大,你就说右上角的2000fps看得爽不爽吧

    #9
  • LinkChou

    WinUI3

    暂不考虑,或者如果现状可以的话可以再看?

    @xyTuoren 去年被WinUI的超绝helloworld编译过程文件体积吓晕了,故放弃,此外对WinUI3的印象极差,store里面的WinUI3 Gallery示例程序都崩溃


    WinUI3

    有兴趣

    @ppgamess @frank8 了解过,不过要是C#的话,是不是只能用到 4.8 ?高版本就得用户自己装依赖了吧,不过仍是目前第一有兴趣的


    Qt

    体积顾虑

    @GreatZaochen 写python的时候写过Python-Qt,但是发现体积压不下去,请问有什么压体积的好办法吗


    egui

    @paring 在布局稍微复杂一点的时候egui就不大好写了,UI细节调起来也很费事……


    rust/cpp

    @apparition rust一个是win7兼容差,再一个是rust本身手搓winapi那我真不如直接上cpp了啊……看着一堆unsafe头疼

    @chapiom 确实,当前我写各种小项目的时候还是会优先考虑cpp写GUI


    LUMENUI

    @Jim_Green 刚开始看readme,稍等


    不便分类

    @hzqst 感谢回复,综上来看,如果C#4.8能满足的话还是可以的,毕竟第5条以后都是可选。此外,如果各位佬友说的编程语言在前几个方面表现十分突出,我也是可以完全忽略后面几点的(

    #10
  • chapiom-linuxdo

    QT体积压不下来的,捆绑了太多东西在里面。目标机器有formwork的话,c#^-^winform体积很小,c++性能极限但是确实太老了。

    #11
  • Blackwood416

    .net系用AOT发布+trimming可以把体积和依赖都减少很多的,实际占用和内存消耗要看用的库

    #12
  • hzqst

    试了下并不能解决体积大的问题,Avalonia AOT之后仍然保底30M+

    #13
  • LinkChou

    谢谢大佬们,现在暂时选定了 C#(Net 4.8),通过放弃了win7换来了开发效率和运行效率,我再也不手搓调winapi了

    #14

发表回复

登录后回复