什么叫 PC ?
起因是某个贴(p/6460729426)里 LZ 问为什么 Windows 版的软件标注 Windows PC 版,而 Linux 版排除 PC 。
这本来可以是能引起让人自己思考的好问题,可惜某些人不认怂就甩锅了。
@木何 .
> 这种事情没必要钻牛角尖,你知道他说的是啥就行了,不是搞学问的话,扯概念没意思。一句话堵死就好了。非扯概念,那我说大学生用的笔记本,对于开matlab的来说算是PersonalComputer,因为那个时候确实在“compute”,对于臭打游戏的来说,就是个“laptop”,算不上PC
> 溜了溜了,一上来就是好几个回复
吵这种破定义有意思吗
> 谁买的谁说了算
我买的我说他是PC他就是PC
即便他是个手机,我也管他叫PC
> 你买的你愿意说他不是PC他就不是PC
即便他是个电脑,你说他是手机也行啊。
抱歉,你说的真不算。
你爱管你的什么设备叫 PC 的确是你的自由,但别人不乐意听你口胡那一样是别人而不是你说了算的事。而这个“别人”可能是大众的时候,你就有给公众挑事的嫌疑了。
交流时尊重言语习惯是一个很基本的问题,不因为你钦定“破定义”而无聊。反过来,这个例子中你无所谓的或者硬套的导致交流混乱的自以为是的定义,才更有资格充当制造无谓争端的“破定义”。
而这个表面下的破定义为何为引起争论?这个问题也不是你愿意管什么叫 PC 就了事的。当有些人认为 PC 是一种东西,有些人非得认为 PC 是另一种东西,这个问题就一直可能是阻碍交流的存在。向不特定公众输出不一致的有偏见的信息,并且强行认为这不是什么问题,我认为可以酌情把这种态度概括为反智(不管原始的动机是什么,有多少合理性)。
技术分析:
首先,PC 是 personal computer 的缩写,这个说法到现在没人有反对意见。
其次,本土化的 personal computer 翻译成中文“个人电脑”,这个也看有谁反对意见。
问题是,什么是“个人电脑”,这谁说了算?
——是理解“个人电脑”是什么的说了算。按中文的言语习惯,这应该是理解“个人”“电脑”指什么东西的人说了算。手机虽然可以认为是手持式便携计算设备,属于计算机(computer) ,但被中文用户排除出“电脑”,因此你说手机是个人电脑(=PC) 涉嫌没事找事地指鹿为马,排除不关心的都不会和你站统一战线上。
此外,我在你的第一个楼中楼里回复指出过,这种认识还不限于中文用户。像日语パソコン就是 personal computer 的直接转写缩略语,比“个人电脑”更接近 PC ,习惯上也不会和手机之类的设备混淆。
另外的问题是 IBM PC 上——因为现在的 Linux 的机器不是 IBM PC 所以就不是 PC 。不过为什么 PC 在 2020 年仍然非得是 IBM PC ,以及为什么 Windows PC 就能叫 PC ,这个理由和动机我暂且蒙在鼓里。
因为楼中楼被删了,我不多展开,只挑重点,权当辟谣。
@EchoResonant .
> IBM的PC兼容机标准就是使用能运行x86指令集的cpu,IBM或微软的操作系统,可以使用IBM PC规范的总线的扩展卡,你告诉我,Linux是IBM出的,还是微软出的?
IBM PC 是 IBM 当时的厂牌,IBM 不是 PC 。
Personal computer 的说法早于 IBM 出现。虽然 IBM 首先推广了 PC 作为 personal computer 的日常说法,但这并不限于 IBM 专有。
IBM 没有成功地把 PC 作为商标独占使用,因此 PC 不是一般意义上的专有名词。作为对比,即便明确是商标的 UNIX ,也大量地被习惯以非专有名词使用。事实上也因为这样,多数人说 PC 就不会去指 IBM PC ——现在所谓的 Windows PC 就不符合 IBM PC 的兼容要求。
所以说 PC 是 IBM PC ,缺乏各种方面的根据。
PC 现在已经被接受的非专有名词,并不指 IBM PC ,和系统是“什么厂商出的”没有关系。
至于为什么 Windows PC 可以说得而用 Linux 的“个人电脑”就不应该算 PC ,到这里还没有说清楚。
> 再说为什么说Linux不是PC系统,因为IBM推出PC的时候明确的表示,PC的推出就是为了兼容。虽然现在总线变化了,但同时代的机器之间的扩展卡在同时代的微软或IBM系统下仍然都能正常使用,而哪怕是win98甚至dos时代的程序,也有很多不经重新编译,能在win10下继续正常工作。
IBM PC 为了兼容而使用开放标准策略,不表示兼容性由它们垄断定义。这也说明为什么现在所谓的 Windows PC 不需要严格地符合 IBM PC 而允许向后打破兼容性。
注意,严格的兼容是“所有”,“也有很多”并不算保证兼容。
Linus Torvalds 发起 Linux 的项目的一个主要理由就是提供和兼容(当时意义的)PC 硬件(使用 x86 CPU)上提供类 UNIX 的环境,移植并使用为 UNIX 编写的应用程序,恰好他没发现别的能用的。他到现在仍然坚持 Linux 需要保持对 userland 的兼容性,并且最近他在一个对 Linux 调度策略中关于 sched_yield 兼容性质疑的回复中提到 MS-DOS 和 Windows 作为这方面的一个正面例子。事实上不仅如此—— Windows 实际上并没有他强调的兼容到那种程度,例如 NTVDM 早就被放弃了。
> 而Linux不讲兼容性,哪怕采用相同的库的gentoo下编译的程序,拷贝到Archlinux,都未必能跑起来。连起码的兼容性的要求都不能满足,算PC吗?Linux被广泛使用,是因为它有用,能在很多地方很好使用,而不是因为它属于PC,不要自作多情了。
Linux 是内核项目,它的兼容性由系统调用接口为主。以 Linux 内核为基础的操作系统,可以使用 LSB 规范定义软件兼容性。但是,兼容性远远不可能只这些问题。ABI 兼容性和硬件互操作的兼容性都不是系统直接保证的。即便有 LSB ,也不可能要求存在单独的 Linux 系统作为评估兼容的基准,更不存在原始的 IBM PC 这样的规范。换句话说,以 Linux (+非特定的可用硬件组合)来定义所谓兼容性,逻辑上就不通。所以问题在于对“兼容性”要求本身的稀里糊涂、一厢情愿而自作多情,跟是不是 Linux 甚至没有多少关系(非得说要有关系,也只是因为 Linux 是流行的少数不提供完整参考系统实现,而由第三方集成来提供可用系统的关键项目罢了)。
> 再看看贴吧里三天两头出现的“Linux安装不了”,“Linux启动黑屏”,“显卡装不上”,“Linux休眠唤不醒”,这些统统都是属于兼容性问题,毫无疑问是违背PC机出现的本意的。
IBM PC 出现的本意就是商业策略。IBM PC 是兼容 PC 的一个历史性解决方案。推出 IBM PC 客观上在正确的时机做了件正确的事,满足了市场需求而获得成功,但并非只有 IBM 能做到。(另外,严格来说 IBM PC 和后续机种其实并不特别强调 P 的目的性要素,没有充分证据表明这种市场认同是因为 IBM PC 的影响而非先前对非 PC 观念的习惯性作用。)因此,所谓 PC 机的出现是一种历史必然,IBM 也不可能决定其意义。
> PC的缩写是从IBM开始的,而这个词的出现,本来就是为了兼容。Linux不讲兼容,和PC的定义一开始就是背道而驰的,Linus自己也没说过Linux是PC操作系统。
之前提过,Linux 要求兼容,但不是 IBM PC 意义上的兼容。
Linux 不讲 IBM PC 的兼容,是因为这根本和项目目标冲突—— Linux 一开始就依赖 IBM PC 衍生出的 x86 平台,而后放宽了这个条件。
Linus Torvalds 不需要以 PC 作为宣传,也有类似的原因——因为体系结构和产品市场或用途(个人电脑而非工作站机器)并非划分一个通用分时操作系统内核支持目标的必要基准。以具体的体系结构名称作为标识在技术上也比 PC 的含混说法明确得多。
> 不管你怎么说,Linux的兼容性差是不争的事实,Linus一开始做Linux的目的,只是为了能有一个廉价的类Unix系统提供给学习和研究者使用,他坚持的兼容从来就不是二进制和最终用户层的兼容,甚至连应用程序的源代码都兼容不了,要不然,现在Linux上就不会连一个中文打字练习程序都找不到了
事实是可用性差,并不是笼统的兼容性问题——除开之前说过的“兼容性”一厢情愿的问题,这里有一些具体的提法上的问题:
使用源代码方式发行的程序,和二进制代码发行的程序,兼容性如何比较?
使用封闭规范发行而靠用户偶然测试验证可用性的程序,和使用开放规范可验证可用性的程序,兼容性如何比较?
因为测试方法的不同,同样用途和相似实现的程序,在不同情况的兼容性可能毫无可比性。特别地,有些用户所谓的兼容性是在限制选择以后得到稳定的可用性,例如接受冗余重复多版本依赖的代价而换取较小的部署管理成本和稳定性风险的组合——拿若干种不同配置和单一的配置比较,这实际上是在偷换概念。而很多情况在技术上的事实是,只要接受选择,则不可能保证所有配置都兼容。如果要选择不保证被支持的组合,则应该自负风险。但一旦涉及支持和担保问题,这就不是个单纯技术问题了,因此更加无从评价。
至于具体软件是否存在可用,和兼容性更加没有关系。作为用户,你找不到一个软件可用,最直接和最可能的原因就是你或者与你类似需求的用户没有付出足够的代价,而有谁乐意满足而已——极端地说,用户作为开发者也未必不能自己满足这个需求,这取决于用户能投入开发的资源,和兼容性问题更没有什么关系。
> PC规范的提出,本就为了兼容,凡不能满足,都未曾声称自己是PC,除了NEC搞过一个蹭热度的之外。包括楼主所举的网站,他们发行的软件中所谓PC版无一例外都是dos或Windows使用的,说明业界仍然在遵循PC兼容机这一标准,罔顾事实标准和约定俗成的行为才是在故意制造混乱
之前已经提过,Pocket PC 就不是 PC 硬件平台的继承,例如典型设备使用的 CPU 体系结构就没可比性。这种提法的基础就是对 PC 的非硬件平台独占性的市场理解。
类似地,NEC 推出 PC-9800 系列也是基于日本用户对パソコン成熟观念的市场基础,而并非直接照搬 IBM PC 的成功(即便时间上更近)。虽然同样使用 x86 技术方案,营销上并没有足够证据说明它定位是 IBM PC 的完全替代品,而是专业 PC 市场的另一种兼容方案。使用和 IBM PC 接近但不完全一致(例如使用 C-bus 代替 ISA 总线)的技术规格,反过来也说明 IBM PC 在技术上纵使适格性优越也仍然不足以垄断为唯一方案。PC-9800 系列的最终失败根本也是市场因素,而非技术理由。这些和之后对 Windows PC 的说法都说明,事实标准和约定俗成支持 IBM PC 和 PC 是两回事。
另外重申,现在所谓的 Windows PC 没有遵循当时的 PC 兼容机“这一”标准。
关于原始问题。
什么叫桌面系统或者 PC 系统,没统一的说法还不如不要。Ubuntu 之类单独提供所谓桌面版的发行版中所谓的桌面是指厂商的产品定位和服务支持的基准,不限制用户用不用桌面环境(服务器版也可以装桌面,即便这样兼容性出问题不总是被拒绝支持)。
而选择发行支持什么环境配置的应用程序,根本上是应用厂商而不是系统厂商决定的。应用厂商认为 PC 定位模糊而不对 Linux 版本选用这个说法没什么问题,但把 Windows PC 单独列出来只能说明他们自己也一样稀里糊涂。
起因是某个贴(p/6460729426)里 LZ 问为什么 Windows 版的软件标注 Windows PC 版,而 Linux 版排除 PC 。
这本来可以是能引起让人自己思考的好问题,可惜某些人不认怂就甩锅了。
@木何 .
> 这种事情没必要钻牛角尖,你知道他说的是啥就行了,不是搞学问的话,扯概念没意思。一句话堵死就好了。非扯概念,那我说大学生用的笔记本,对于开matlab的来说算是PersonalComputer,因为那个时候确实在“compute”,对于臭打游戏的来说,就是个“laptop”,算不上PC
> 溜了溜了,一上来就是好几个回复
吵这种破定义有意思吗
> 谁买的谁说了算
我买的我说他是PC他就是PC
即便他是个手机,我也管他叫PC
> 你买的你愿意说他不是PC他就不是PC
即便他是个电脑,你说他是手机也行啊。
抱歉,你说的真不算。
你爱管你的什么设备叫 PC 的确是你的自由,但别人不乐意听你口胡那一样是别人而不是你说了算的事。而这个“别人”可能是大众的时候,你就有给公众挑事的嫌疑了。
交流时尊重言语习惯是一个很基本的问题,不因为你钦定“破定义”而无聊。反过来,这个例子中你无所谓的或者硬套的导致交流混乱的自以为是的定义,才更有资格充当制造无谓争端的“破定义”。
而这个表面下的破定义为何为引起争论?这个问题也不是你愿意管什么叫 PC 就了事的。当有些人认为 PC 是一种东西,有些人非得认为 PC 是另一种东西,这个问题就一直可能是阻碍交流的存在。向不特定公众输出不一致的有偏见的信息,并且强行认为这不是什么问题,我认为可以酌情把这种态度概括为反智(不管原始的动机是什么,有多少合理性)。
技术分析:
首先,PC 是 personal computer 的缩写,这个说法到现在没人有反对意见。
其次,本土化的 personal computer 翻译成中文“个人电脑”,这个也看有谁反对意见。
问题是,什么是“个人电脑”,这谁说了算?
——是理解“个人电脑”是什么的说了算。按中文的言语习惯,这应该是理解“个人”“电脑”指什么东西的人说了算。手机虽然可以认为是手持式便携计算设备,属于计算机(computer) ,但被中文用户排除出“电脑”,因此你说手机是个人电脑(=PC) 涉嫌没事找事地指鹿为马,排除不关心的都不会和你站统一战线上。
此外,我在你的第一个楼中楼里回复指出过,这种认识还不限于中文用户。像日语パソコン就是 personal computer 的直接转写缩略语,比“个人电脑”更接近 PC ,习惯上也不会和手机之类的设备混淆。
另外的问题是 IBM PC 上——因为现在的 Linux 的机器不是 IBM PC 所以就不是 PC 。不过为什么 PC 在 2020 年仍然非得是 IBM PC ,以及为什么 Windows PC 就能叫 PC ,这个理由和动机我暂且蒙在鼓里。
因为楼中楼被删了,我不多展开,只挑重点,权当辟谣。
@EchoResonant .
> IBM的PC兼容机标准就是使用能运行x86指令集的cpu,IBM或微软的操作系统,可以使用IBM PC规范的总线的扩展卡,你告诉我,Linux是IBM出的,还是微软出的?
IBM PC 是 IBM 当时的厂牌,IBM 不是 PC 。
Personal computer 的说法早于 IBM 出现。虽然 IBM 首先推广了 PC 作为 personal computer 的日常说法,但这并不限于 IBM 专有。
IBM 没有成功地把 PC 作为商标独占使用,因此 PC 不是一般意义上的专有名词。作为对比,即便明确是商标的 UNIX ,也大量地被习惯以非专有名词使用。事实上也因为这样,多数人说 PC 就不会去指 IBM PC ——现在所谓的 Windows PC 就不符合 IBM PC 的兼容要求。
所以说 PC 是 IBM PC ,缺乏各种方面的根据。
PC 现在已经被接受的非专有名词,并不指 IBM PC ,和系统是“什么厂商出的”没有关系。
至于为什么 Windows PC 可以说得而用 Linux 的“个人电脑”就不应该算 PC ,到这里还没有说清楚。
> 再说为什么说Linux不是PC系统,因为IBM推出PC的时候明确的表示,PC的推出就是为了兼容。虽然现在总线变化了,但同时代的机器之间的扩展卡在同时代的微软或IBM系统下仍然都能正常使用,而哪怕是win98甚至dos时代的程序,也有很多不经重新编译,能在win10下继续正常工作。
IBM PC 为了兼容而使用开放标准策略,不表示兼容性由它们垄断定义。这也说明为什么现在所谓的 Windows PC 不需要严格地符合 IBM PC 而允许向后打破兼容性。
注意,严格的兼容是“所有”,“也有很多”并不算保证兼容。
Linus Torvalds 发起 Linux 的项目的一个主要理由就是提供和兼容(当时意义的)PC 硬件(使用 x86 CPU)上提供类 UNIX 的环境,移植并使用为 UNIX 编写的应用程序,恰好他没发现别的能用的。他到现在仍然坚持 Linux 需要保持对 userland 的兼容性,并且最近他在一个对 Linux 调度策略中关于 sched_yield 兼容性质疑的回复中提到 MS-DOS 和 Windows 作为这方面的一个正面例子。事实上不仅如此—— Windows 实际上并没有他强调的兼容到那种程度,例如 NTVDM 早就被放弃了。
> 而Linux不讲兼容性,哪怕采用相同的库的gentoo下编译的程序,拷贝到Archlinux,都未必能跑起来。连起码的兼容性的要求都不能满足,算PC吗?Linux被广泛使用,是因为它有用,能在很多地方很好使用,而不是因为它属于PC,不要自作多情了。
Linux 是内核项目,它的兼容性由系统调用接口为主。以 Linux 内核为基础的操作系统,可以使用 LSB 规范定义软件兼容性。但是,兼容性远远不可能只这些问题。ABI 兼容性和硬件互操作的兼容性都不是系统直接保证的。即便有 LSB ,也不可能要求存在单独的 Linux 系统作为评估兼容的基准,更不存在原始的 IBM PC 这样的规范。换句话说,以 Linux (+非特定的可用硬件组合)来定义所谓兼容性,逻辑上就不通。所以问题在于对“兼容性”要求本身的稀里糊涂、一厢情愿而自作多情,跟是不是 Linux 甚至没有多少关系(非得说要有关系,也只是因为 Linux 是流行的少数不提供完整参考系统实现,而由第三方集成来提供可用系统的关键项目罢了)。
> 再看看贴吧里三天两头出现的“Linux安装不了”,“Linux启动黑屏”,“显卡装不上”,“Linux休眠唤不醒”,这些统统都是属于兼容性问题,毫无疑问是违背PC机出现的本意的。
IBM PC 出现的本意就是商业策略。IBM PC 是兼容 PC 的一个历史性解决方案。推出 IBM PC 客观上在正确的时机做了件正确的事,满足了市场需求而获得成功,但并非只有 IBM 能做到。(另外,严格来说 IBM PC 和后续机种其实并不特别强调 P 的目的性要素,没有充分证据表明这种市场认同是因为 IBM PC 的影响而非先前对非 PC 观念的习惯性作用。)因此,所谓 PC 机的出现是一种历史必然,IBM 也不可能决定其意义。
> PC的缩写是从IBM开始的,而这个词的出现,本来就是为了兼容。Linux不讲兼容,和PC的定义一开始就是背道而驰的,Linus自己也没说过Linux是PC操作系统。
之前提过,Linux 要求兼容,但不是 IBM PC 意义上的兼容。
Linux 不讲 IBM PC 的兼容,是因为这根本和项目目标冲突—— Linux 一开始就依赖 IBM PC 衍生出的 x86 平台,而后放宽了这个条件。
Linus Torvalds 不需要以 PC 作为宣传,也有类似的原因——因为体系结构和产品市场或用途(个人电脑而非工作站机器)并非划分一个通用分时操作系统内核支持目标的必要基准。以具体的体系结构名称作为标识在技术上也比 PC 的含混说法明确得多。
> 不管你怎么说,Linux的兼容性差是不争的事实,Linus一开始做Linux的目的,只是为了能有一个廉价的类Unix系统提供给学习和研究者使用,他坚持的兼容从来就不是二进制和最终用户层的兼容,甚至连应用程序的源代码都兼容不了,要不然,现在Linux上就不会连一个中文打字练习程序都找不到了
事实是可用性差,并不是笼统的兼容性问题——除开之前说过的“兼容性”一厢情愿的问题,这里有一些具体的提法上的问题:
使用源代码方式发行的程序,和二进制代码发行的程序,兼容性如何比较?
使用封闭规范发行而靠用户偶然测试验证可用性的程序,和使用开放规范可验证可用性的程序,兼容性如何比较?
因为测试方法的不同,同样用途和相似实现的程序,在不同情况的兼容性可能毫无可比性。特别地,有些用户所谓的兼容性是在限制选择以后得到稳定的可用性,例如接受冗余重复多版本依赖的代价而换取较小的部署管理成本和稳定性风险的组合——拿若干种不同配置和单一的配置比较,这实际上是在偷换概念。而很多情况在技术上的事实是,只要接受选择,则不可能保证所有配置都兼容。如果要选择不保证被支持的组合,则应该自负风险。但一旦涉及支持和担保问题,这就不是个单纯技术问题了,因此更加无从评价。
至于具体软件是否存在可用,和兼容性更加没有关系。作为用户,你找不到一个软件可用,最直接和最可能的原因就是你或者与你类似需求的用户没有付出足够的代价,而有谁乐意满足而已——极端地说,用户作为开发者也未必不能自己满足这个需求,这取决于用户能投入开发的资源,和兼容性问题更没有什么关系。
> PC规范的提出,本就为了兼容,凡不能满足,都未曾声称自己是PC,除了NEC搞过一个蹭热度的之外。包括楼主所举的网站,他们发行的软件中所谓PC版无一例外都是dos或Windows使用的,说明业界仍然在遵循PC兼容机这一标准,罔顾事实标准和约定俗成的行为才是在故意制造混乱
之前已经提过,Pocket PC 就不是 PC 硬件平台的继承,例如典型设备使用的 CPU 体系结构就没可比性。这种提法的基础就是对 PC 的非硬件平台独占性的市场理解。
类似地,NEC 推出 PC-9800 系列也是基于日本用户对パソコン成熟观念的市场基础,而并非直接照搬 IBM PC 的成功(即便时间上更近)。虽然同样使用 x86 技术方案,营销上并没有足够证据说明它定位是 IBM PC 的完全替代品,而是专业 PC 市场的另一种兼容方案。使用和 IBM PC 接近但不完全一致(例如使用 C-bus 代替 ISA 总线)的技术规格,反过来也说明 IBM PC 在技术上纵使适格性优越也仍然不足以垄断为唯一方案。PC-9800 系列的最终失败根本也是市场因素,而非技术理由。这些和之后对 Windows PC 的说法都说明,事实标准和约定俗成支持 IBM PC 和 PC 是两回事。
另外重申,现在所谓的 Windows PC 没有遵循当时的 PC 兼容机“这一”标准。
关于原始问题。
什么叫桌面系统或者 PC 系统,没统一的说法还不如不要。Ubuntu 之类单独提供所谓桌面版的发行版中所谓的桌面是指厂商的产品定位和服务支持的基准,不限制用户用不用桌面环境(服务器版也可以装桌面,即便这样兼容性出问题不总是被拒绝支持)。
而选择发行支持什么环境配置的应用程序,根本上是应用厂商而不是系统厂商决定的。应用厂商认为 PC 定位模糊而不对 Linux 版本选用这个说法没什么问题,但把 Windows PC 单独列出来只能说明他们自己也一样稀里糊涂。