|C发明是为了祸害苏联人,所以里面很多设计都非常糟糕?
文章图片
还有坊间流传 , C发明是为了祸害苏联人 , 所以里面很多设计都非常糟糕 。 比如指针 。 以至于现在 , 对于指针的评价 , 大多数教材都是55开地说 , 承认他的优点 。 实际上 , C语言的设计目的是良好的汇编替代语言 , 所以早期C语言语法设计时要考虑当时的机器性能 , 当时别说返回多个值 , 连struct都不让返回和传递 , 而现在可以返回struct , 相当于是返回多个值 。
早期计算机内存寸土寸金 , 现在还在广泛使用的8051系列ram只有128字节 。 从汇编的角度来看 , 处理器处理某个变量都是用其地址 , 在被调用函数的栈帧中多出局部变量的空间 , 这里有点复杂 。
网友:指针是过去 现代 未来 计算机必不可少的 , 现代编程语言只是把他隐藏起来 不能直接操作罢了 。 c出现的年代 计算机只考虑同时只有一个程序在运行 。 直接指针操作 也没什么问题 。 后来多任务越来越多 。 指针这种不加约束 可访问内存中任何地址 , 的机制就很危险了 。
【|C发明是为了祸害苏联人,所以里面很多设计都非常糟糕?】
网友:计算机语言发展到今天 , 是认知的不断迭代带来的 。 指针在早年的语言设计里是非常寻常的 。 但使用不当会有后果 。 现在设计出的语言提供了更高级和简单的封装(比如纯oop的java , 一般不去访问底层内存 , 除非你知道自己在干嘛 , 同时把调用放到unsafe的包去管理)你问我指针好不好 , 要不要 。 我的回答是 , 能不用尽量不用 , 但是要!
- 淘宝|想要知道你是什么消费水平,只需要在淘宝输入手表就知道了
- 电子商务|实体店似乎名存实亡,电商成香饽饽!这真的是进步吗?
- 交易|区块链更是一种技术,而不单单是什么比特币,狗狗币
- 传感器|你知道矢量控制的基本原理是什么吗?
- Win10|不用分区,说分区的都是小白或者不更新知识的老玩具
- iPhone|网友刚买的国行iPhone13Pro是扩容机,找卖家却发现已被拉黑!
- 阿里巴巴|该来的还是来了,芯片巨头正式宣布决定,马云和任正非已做好准备
- 格力电器|格力24年老大地位彻底被终结?击败它的是另一国产空调集团,厉害
- |原来周鸿祎是武汉人,祖籍新洲
- 折叠屏手机市场,华为“碾压式”夺冠,这才是高端国产手机!