【 在 hgoldfish 的大作中提到: 】
:
https://thephd.dev/the-c-c++-rust-string-text-encoding-api-landscape呵呵, 只能说C++世界光有学院式的知识是远远不够的,
有的时候, 需要在一些事情上,需要终极裁决,断腕的勇气很重要, 这一点,
linux能有个创始人强势推动, 像python, 直接敢于python3对python2的华丽转身。
放到C++上,为了所谓的兼容,各方讨好的态度, 反倒裹足不前。
字符编码是一个方面,
系统编程接口统一是一方面,
对异常处理,宏的态度
以字符编码为例,在如今已经是unicode天下的时代, 已经好多了,几十年前,
编码是十分依赖操作系统,各类操作系统各自为政, 对unicode编码的实现也是各不相同,
一些UNIX如IBM的AIX使用的是ebcedic编码, 因此名为c++编程,
实际还是要用一大套操作系统提供的API, 然后, 大量的宏来区分不同的平台差异,
而形成各自为政的局面, 显然还有市场格局和竞争关系的因素,限制了平台级共同标准的形成,
这就好比腾讯根本不可能去指定聊天软件的信息交换标准,然后让大家都实现聊天软件的互通,
C++标准委员会,因为把自己局限在了语言标准的范围, 没能像java那样推动一个可以抽象到忽略
平台差异的功能库, c++也会因为性能和平台能项目需求的影响,可能在实现上会因为取舍而变得不一样。
有这么一个统一的库并不迫切, 毕竟c++的码农无所不能。
--
FROM 124.126.0.*