分页: 2 / 3
#21 Re: 不能理解政府制定法律禁止C++的原因的都不是真码农
发表于 : 2024年 10月 28日 03:46
由 xiaoju
发明JRE的人肯定希望你以后少写C/C++。。。
huangchong 写了: 2024年 10月 28日 03:40
jre自己都是c写的 (虽然标题在谈c++)
( 所谓政府“立法”禁了c++ 本身也是本版自己造出来的假靶子 我印象里 只听说过 美国某政府机关发了个文 说以后大家要少用类似c++ 这种容易产生内存错误代码的语言. c自然也在列 然后还有个什么f35软件故障的新闻)
#22 Re: 不能理解政府制定法律禁止C++的原因的都不是真码农
发表于 : 2024年 10月 28日 04:09
由 Caravel
xiaoju 写了: 2024年 10月 28日 03:33
因为你什么都不懂
Windows内核基本是纯C,bug无数的GDI和User子系统用了少量裁剪后的C++,大部分ABI是COM
macOS是C和Objective C写出来的,ObjC解决了C++缺少的ABI问题
越底层用C越多不奇怪,再往下走还有汇编,你往上走C++就越来越多。
#23 Re: 不能理解政府制定法律禁止C++的原因的都不是真码农
发表于 : 2024年 10月 28日 04:12
由 Caravel
xiaoju 写了: 2024年 10月 28日 03:46
发明JRE的人肯定希望你以后少写C/C++。。。
回到F35,通用商业语言里面,不用C++用啥,完全用C肯定也是灾难。这种和硬件相关的,用java也不行。
#24 Re: 不能理解政府制定法律禁止C++的原因的都不是真码农
发表于 : 2024年 10月 28日 04:20
由 zheliemit
指针越界是c语言的问题,禁止c++有什么用?
c++的模板太乱是真的,不如java清晰。
禁止c++,那是否要禁止MFC呢?
美国政府可能发现凡是用c++的项目都失败了,所以才禁止了,比较搞笑。
#25 Re: 不能理解政府制定法律禁止C++的原因的都不是真码农
发表于 : 2024年 10月 28日 04:21
由 huangchong
Caravel 写了: 2024年 10月 28日 04:12
回到F35,通用商业语言里面,不用C++用啥,完全用C肯定也是灾难。这种和硬件相关的,用java也不行。
单片机里通常也全是c++( 加汇编 ) 也就是说 我们周围 的 打印机 硬盘 网卡 显示器 洗衣机 微波炉 以及各种我们都意识不到的小部件 全是在跑c++写出来的程序
#26 Re: 不能理解政府制定法律禁止C++的原因的都不是真码农
发表于 : 2024年 10月 28日 04:23
由 huangchong
zheliemit 写了: 2024年 10月 28日 04:20
指针越界是c语言的问题,禁止c++有什么用?
c++的模板太乱是真的,不如java清晰。
禁止c++,那是否要禁止MFC呢?
美国政府可能发现凡是用c++的项目都失败了,所以才禁止了,比较搞笑。
我查了 原始的事件是白宫有个cyber安全办 发了个通知 说建议尽量减少 c 或者 c++ 这类容易写出不安全代码的 语言 建议考虑rust这种有安全设计的语言
到了这里以讹传讹 变成了美国立法禁止c++
#27 Re: 不能理解政府制定法律禁止C++的原因的都不是真码农
发表于 : 2024年 10月 28日 05:06
由 xiaoju
底层代码人类历史上只写一次,剩下的都是照抄
比如Intel CPU切换入特权态的机器码
Caravel 写了: 2024年 10月 28日 04:09
越底层用C越多不奇怪,再往下走还有汇编,你往上走C++就越来越多。
#28 Re: 不能理解政府制定法律禁止C++的原因的都不是真码农
发表于 : 2024年 10月 28日 05:07
由 xiaoju
你的眼界限制了你的认知。。。
现在业界主流思路是,哪怕性能特别低的硬件,比如火星车,也要用transpile转换成C++才安全
huangchong 写了: 2024年 10月 28日 04:21
单片机里通常也全是c++( 加汇编 ) 也就是说 我们周围 的 打印机 硬盘 网卡 显示器 洗衣机 微波炉 以及各种我们都意识不到的小部件 全是在跑c++写出来的程序
#29 Re: 不能理解政府制定法律禁止C++的原因的都不是真码农
发表于 : 2024年 10月 28日 05:08
由 huangchong
xiaoju 写了: 2024年 10月 28日 05:07
你的眼界限制了你的认知。。。
现在业界主流思路是,哪怕性能特别低的硬件,比如火星车,也要用transpile转换成C++才安全
傻B
#30 Re: 不能理解政府制定法律禁止C++的原因的都不是真码农
发表于 : 2024年 10月 28日 05:08
由 xiaoju
NASA的火星车就知道transpile成C更安全
Caravel 写了: 2024年 10月 28日 04:12
回到F35,通用商业语言里面,不用C++用啥,完全用C肯定也是灾难。这种和硬件相关的,用java也不行。
#31 Re: 不能理解政府制定法律禁止C++的原因的都不是真码农
发表于 : 2024年 10月 28日 05:08
由 xiaoju
#32 Re: 不能理解政府制定法律禁止C++的原因的都不是真码农
发表于 : 2024年 10月 28日 09:22
由 Caravel
xiaoju 写了: 2024年 10月 28日 05:08
NASA的火星车就知道transpile成C更安全
火星车logic很简单,也不需要速度,慢慢开
#33 Re: 不能理解政府制定法律禁止C++的原因的都不是真码农
发表于 : 2024年 10月 28日 09:31
由 xiaoju
火星车太贵,绝对不能出错,代码当了就永远别想找回来了
Caravel 写了: 2024年 10月 28日 09:22
火星车logic很简单,也不需要速度,慢慢开
#34 Re: 不能理解政府制定法律禁止C++的原因的都不是真码农
发表于 : 2024年 10月 28日 09:38
由 wanmeishijie
java就是C++--,因为C++本身设计思路就有问题。
#35 Re: 不能理解政府制定法律禁止C++的原因的都不是真码农
发表于 : 2024年 10月 28日 10:09
由 Caravel
xiaoju 写了: 2024年 10月 28日 09:31
火星车太贵,绝对不能出错,代码当了就永远别想找回来了
要是怕出错,用C更好, transpile的code如果有问题谁知道?c至少一切在自己控制
#36 Re: 不能理解政府制定法律禁止C++的原因的都不是真码农
发表于 : 2024年 10月 28日 18:50
由 xiaoju
编译器是经过验证的,生成的代码不可能有人类错误
Caravel 写了: 2024年 10月 28日 10:09
要是怕出错,用C更好, transpile的code如果有问题谁知道?c至少一切在自己控制
#37 Re: 不能理解政府制定法律禁止C++的原因的都不是真码农
发表于 : 2024年 10月 28日 18:52
由 Caravel
xiaoju 写了: 2024年 10月 28日 18:50
编译器是经过验证的,生成的代码不可能有人类错误
编译器没有bug?蛋不是这么扯的
#38 Re: 不能理解政府制定法律禁止C++的原因的都不是真码农
发表于 : 2024年 10月 28日 18:58
由 xiaoju
编译器的bug指的是本身的崩溃或者死机,而不是指生成的语法树,中间代码有逻辑错误
Caravel 写了: 2024年 10月 28日 18:52
编译器没有bug?蛋不是这么扯的
#39 Re: 不能理解政府制定法律禁止C++的原因的都不是真码农
发表于 : 2024年 10月 28日 19:22
由 Caravel
xiaoju 写了: 2024年 10月 28日 18:58
编译器的bug指的是本身的崩溃或者死机,而不是指生成的语法树,中间代码有逻辑错误
当然两者都可能有。
#40 Re: 不能理解政府制定法律禁止C++的原因的都不是真码农
发表于 : 2024年 10月 28日 19:26
由 xiaoju
语法树和逻辑的正确性是可以保证的
编译器本身是做两个图灵完全的集合的映射,这个过程是可以验证的
Caravel 写了: 2024年 10月 28日 19:22
当然两者都可能有。