漫谈:“标准”是一种幻觉 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++标准怎么来的?根据现有各种编译器的特征,讨论出哪些比较具有价值,然后发布成为标准——这根本不影响编译器已经存在的没有被纳入标准的自定义特征,而且,没有自定义特征根本就不会产生新标准。


(这里是结束)

相关推荐

  1. C语言标准

    2024-04-08 10:30:01       39 阅读
  2. C语言标准IO

    2024-04-08 10:30:01       44 阅读
  3. C语言标准输入输出

    2024-04-08 10:30:01       62 阅读
  4. C语言标准库中函数

    2024-04-08 10:30:01       26 阅读
  5. c++标准

    2024-04-08 10:30:01       35 阅读
  6. std命名空间C++标准命名空间

    2024-04-08 10:30:01       41 阅读
  7. 探索C语言标准库中qsort函数

    2024-04-08 10:30:01       54 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-08 10:30:01       91 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-08 10:30:01       97 阅读
  3. 在Django里面运行非项目文件

    2024-04-08 10:30:01       78 阅读
  4. Python语言-面向对象

    2024-04-08 10:30:01       88 阅读

热门阅读

  1. 设计模式详解(十三)——享元模式

    2024-04-08 10:30:01       34 阅读
  2. vue3 keep-alive include失效问题

    2024-04-08 10:30:01       36 阅读
  3. [Algorithm][双指针][复写零]详细解读 + 代码实现

    2024-04-08 10:30:01       42 阅读
  4. 比赛记录:Codeforces Global Round 25 A~E (猜猜题场)

    2024-04-08 10:30:01       28 阅读
  5. Solr面试题

    2024-04-08 10:30:01       32 阅读
  6. 缓存更新策略

    2024-04-08 10:30:01       33 阅读
  7. P1308 统计单词数

    2024-04-08 10:30:01       36 阅读