漫谈:“标准”是一种幻觉 C++语言标准的意义

初级代码游戏的专栏介绍与文章目录-CSDN博客

我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。

这些代码大部分以Linux为目标但部分代码是纯C++的,可以在任何平台上使用。


        “标准”这个词很迷惑,大部分人内心里把“标准”当作“法律”,如果违反了标准,就是犯了错误,就要被惩罚……吓死个人咧。

目录

“标准”压根就不标准

IBM没说自己是标准

贺氏也没说自己是标准

“标准”约等于“主流”

C++标准吗

“标准”的价值

“标准”从哪里来的


“标准”压根就不标准

        其实,“标准”的含义是,“一份公开的文件”,只有很少一部分标准被法律化,称为“国家强制标准”或“行业强制标准”,除此而外,绝大部分“标准”都属于商业行为,属于企业或企业联盟,没有任何法律约束力,甚至,你以为的“标准”压根就不是标准。

IBM没说自己是标准

        IBM-PC一度是个人电脑的标准,80年代到90年代,IBM-PC是“品牌机”,其他厂家全部都是“兼容机”,为什么会这样呢?IBM公开了IBM-PC(这就是第一代产品的名称,后续产品名称为IBM-PC AT、IBM-PC XT等)的技术细节,从而其他厂商可以生产兼容设备,由于IBM的影响力,配件厂商倒向兼容机,原来众多互不兼容的个人电脑品牌迅速没落,包括王安电脑,美国总统亲自颁过奖,破产了。幸存者也有,比如Apple——对,就是现在大家耳熟能详的做手机的Apple,几乎就要破产,但是凭着神一样的乔布斯活了下来并翻身成老大。

贺氏也没说自己是标准

        IBM-PC压根就不是标准。同时代还有个不是标准的标准叫“贺氏”,Modem,调制解调器,“贺氏兼容”。同时代还有个名词取得了类似“标准”的地位:“sound blaster”,翻译为“声霸卡”,其实是Creative的一款声卡,因为太著名,以至于一段时期“声霸卡”几乎成了“声卡”的代名词,很多人以为“声霸卡”就是“声卡”的意思。

“标准”约等于“主流”

        大部分情况下“标准”的意思是“主流”。

        手机无线通讯有没有“标准”?GSM和CDMA哪个算标准?3G的三套体系拿个算标准?4G的两套体系哪个算标准?5G好像好一点啊,起码没有两个联盟各自搞,但是NSA、SA也没什么关系吧?

        任何一个企业和团体都可以发布“标准”,有没有人听就看本事了。

C++标准吗

        C++有没有标准?C++98、C++03、C++11、C++14、C++17、C++20,你看我们有这么多标准呀!

        请你告诉我哪怕只一个完全符合任何一个标准——不增加、不减少的编译器。

        标准是个虚的,程序能不能编译、能不能正确运行才是王道。

“标准”的价值

        标准的存在价值,是为了减少移植成本,而不是强迫你必须这么做(编译器都不支持你怎么做?)。

“标准”从哪里来的

        标准是怎么来的?

        很多人爱说“一流企业卖标准、二流企业做产品”,说这话的人根本不知道标准怎么来的。

        标准从来都不是“先有标准、后有产品”的,而是先有产品或者半成品产品,然后把现有产品作为标准。

        硬件产品比较容易理解,你先定标准,能不能做出来啊?

        软件其实也是,标准都是基于现有产品定义的,比如C++标准怎么来的?根据现有各种编译器的特征,讨论出哪些比较具有价值,然后发布成为标准——这根本不影响编译器已经存在的没有被纳入标准的自定义特征,而且,没有自定义特征根本就不会产生新标准。


(这里是结束)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/599982.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

适合户外运动的开放式耳机选哪款?五款开放式耳机推荐

开放式蓝牙耳机由于其开放式设计,适合在户外运动、工作场所等需要保持警觉的场合使用。在户外活动中,能够听到周围环境的声音对于安全和警惕性非常重要。同时,这种耳机在运动或工作时不容易产生不适感,也不会阻碍佩戴者与他人的交…

SQL Server语法基础:入门到精通

博客前言 在数据库管理的世界中,SQL Server无疑是一个重要的角色。无论是初学者还是经验丰富的数据库管理员,都需要对SQL Server的查询语法有深入的理解。本文将带领大家深入解析SQL Server的查询语法,并分享一些实用的技巧,帮助…

智能网联汽车自动驾驶数据记录系统DSSAD数据元素

目录 第一章 数据元素分级 第二章 数据元素分类 第三章 数据元素基本信息表 表1 车辆及自动驾驶数据记录系统基本信息 表2 车辆状态及动态信息 表3 自动驾驶系统运行信息 表4 行车环境信息 表5 驾驶员操作及状态信息 第一章 数据元素分级 自动驾驶数据记录系统记录的数…

后端nginx使用set_real_ip_from获取用户真实IP

随着nginx的迅速崛起,越来越多公司将apache更换成nginx. 同时也越来越多人使用nginx作为负载均衡, 并且代理前面可能还加上了CDN加速,但是随之也遇到一个问题:nginx如何获取用户的真实IP地址. 前言:Nginx ngx_http_realip_module…

C++ 之 【类与对象】从入门到精通一条龙服务 入门篇

不要觉的自己很没用,其实你还可以给家人带来温暖,比如爸妈看到你就来火 目录: 一、面向过程和面向对象初步认识 二、类的引入 三、类的定义 四、类的访问限定符及封装 1.访问限定符 2.封装 五、类的作用域 六、类的实例化 七、类的…

Ubuntu 22.04安装新硬盘并启动时自动挂载

方法一 要在Ubuntu 22.04系统中安装一个新硬盘、对其进行格式化并实现启动时自动挂载,需要按以下步骤操作: 1. 安装硬盘 - 确保你的硬盘正确连接到计算机上(涉及硬件安装)。 2. 发现新硬盘 - 在系统启动后,打开终端…

IntelliJ IDEA 2024.1 更新亮点汇总:全面提升开发体验

IntelliJ IDEA 2024.1 更新亮点汇总:全面提升开发体验 文章目录 IntelliJ IDEA 2024.1 更新亮点汇总:全面提升开发体验摘要引言 IntelliJ IDEA 2024.1 的新增功能主要亮点全行代码完成 最终的支持 Java 22 功能新航站楼 贝塔编辑器中的粘滞线 人工智能助…

【数字图像处理matlab系列】空间域处理之亮度变换(imadjust函数使用)

【数字图像处理matlab系列】空间域处理之亮度变换(imadjust函数使用) 在空间域中,图像处理就是直接对图像的像素进行操作 imadjust 是 MATLAB 中用于调整图像强度值或颜色图的函数。它可以改变图像的对比度,使得图像更清晰或更易于分析。以下是 imadju…

从零到部署指南:Ubuntu上安装Boost和Crow库

1.安装boost 在安装Crow之前,需要确保您的系统中已经安装了Boost库。以下是Boost库安装步骤: 首先,从Boost官方网站或通过特定的链接下载Boost的源码,boost源码具体可参看这个链接: https://blog.csdn.net/duan199201…

LangChain-13 Memory 通过 ConversationBufferMemory 记录会话的上下文 并在对话中自动检索

问题背景 平常我们的任务都是一次性会话,大模型是不会记录你的上下文的。如果我们要进行持续会话,或者希望大模型有记忆的话,我们需要对上下文进行管理。但这个过程是比较复杂的,LangChain 提供了一系列的工具来帮助我们简化过程…

golang web 开发 —— gin 框架 (gorm 链接 mysql)

目录 1. 介绍 2. 环境 3. gin 3.1 gin提供的常见路由 3.2 gin的分组 main.go router.go 代码结构 3.3 gin 提供的Json方法 main.go route.go common.go user.go order.go 3.4 gin框架下如何获取传递来的参数 第一种是GET请求后面直接 /拼上传递的参数 第二种是…

Mysql启动报错:本地计算机上的mysql服务启动后停止,某些服务在未由其他服务或程序使用时将自动停止

Mysql启动报错:本地计算机上的mysql服务启动后停止,某些服务在未由其他服务或程序使用时将自动停止 文章目录 Mysql启动报错:本地计算机上的mysql服务启动后停止,某些服务在未由其他服务或程序使用时将自动停止1. 备份mysql的data文件夹2. 重新构建 Wind…