- 主题:有没有比C++和golang更高级的静态编译型语言?
c# 欢迎你,用 .net 5
现在的反编译工具还不支持反编译 r2r 的单文件打包
不用反射的话,直接 CoreRT AOT 编译,那就更加难反编译了
【 在 BlackHouse (小黑屋) 的大作中提到: 】
: 我们需要写一些程序部署到客户的服务器上,但不想像Java、Python那样随便就反编译看到源代码。
: golang没有继承封装,没有异常处理。
: C++没有内存垃圾回收、并发处理。
: ...................
--
FROM 14.145.21.*
go 用 panic + recover 当作山寨的异常处理就好了
【 在 BlackHouse (小黑屋) 的大作中提到: 】
: 我们需要写一些程序部署到客户的服务器上,但不想像Java、Python那样随便就反编译看到源代码。
: golang没有继承封装,没有异常处理。
: C++没有内存垃圾回收、并发处理。
: ...................
--
FROM 14.145.21.*
自己抛出的panic,知根知底就没啥事
【 在 littleSram (littleSram) 的大作中提到: 】
: 可以这样用吗,怕被人说不是go的风格
--
FROM 14.145.21.*
不用到反射就很简单
用到反射特别麻烦
.Net 6 把提供靠谱 AOT 编译列为第一优先级
【 在 hongdiao (hongdiao) 的大作中提到: 】
: 还能这么搞? 我一直以为只能编译到CLI。 是所有的语言特性都能编译到native?
--
FROM 14.145.21.*
java一直到现在也没怎么aot啊
aot倒是go的天生优势
.net 的问题是跨平台搞得太晚,错了一大波server端
移动端又一败涂地,最后桌面端都被偷家了
javascript一统天下!
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 要是早十五年,也就是 c# 刚出来那会儿搞 aot 编译,现在哪有 java 什么事。
--
FROM 14.145.21.*
编译到 native 也只是启动性能改善而已
长时间运行 jit 反而比 aot 更胜一筹,一边运行一边收集信息继续优化
高级语言要考虑类型安全,边界安全之类的玩意,肯定要付出性能代价
不是简单编译成机器码了,就什么都有了。
什么语言最后都是变成机器码在跑啊
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 如果 c# 能够编译到 native,性能就可以做到跟 c++ 一样数量级。吊打 java, 以十几年前那种机器的性能,选择 java 怕是得掂量掂量。。
--
FROM 14.145.21.*
所以 C# 9.0 搞了个 Source Generator 出来
后面大家发力一起把运行时反射搞成编译时反射,后面框架就抛弃运行时反射了,又改善性能,又轻松 aot
不过现在反射也是一样可以 aot 的,就是要自己一边搞一边测试看是不是又把要用的东西给编没了,编没了就到描述文件里面加一条,然后再搞一次。碰到直接 emit il 的库直接吐血三升。
【 在 hongdiao (hongdiao) 的大作中提到: 】
: 好多NET的一些框架的特性都依赖反射啊,反射搞不定基本上很难用在基于NET特定框架的大项目上了
--
FROM 14.145.21.*
不是说不能用,而是说微软在移动端失败之后,它就不是主导了,只能打打辅助
有苹果那样的地位,就算它规定要用一坨屎来开发 iOS App,也得捏着鼻子上啊
【 在 leadu (leadu) 的大作中提到: 】
: 移动端我们用的还不错
--
FROM 14.145.21.*
就是整个移动端的设备
微软错失了这个市场,导致 .net 在这个市场也分不到多少羹,无足轻重
【 在 leadu (leadu) 的大作中提到: 】
: 你说的移动端是指wp?
: 我说的是xamarin
--
FROM 14.145.21.*
后面微软到底是支持 xamarin 还是 blazor 不太明确
【 在 leadu (leadu) 的大作中提到: 】
: 跨平台开发,xamarin占有率应该是最高的,只是目前跨平台开发这个市场还比较小。
: 但是随着两个移动端平台的稳定,跨平台开发占比会越来越多
--
FROM 14.145.21.*