百科问答小站 logo
百科问答小站 font logo



为什么 Windows 是用 C 语言编写的,却默认对文件大小写不敏感? 第1页

  

user avatar   jiangshengvc 网友的相关建议: 
      

因为要兼容DOS。

DOS是微软买的,不过DOS不分大小写是IBM定的,IBM要兼容CP/M。

DOS兼容CP/M,CP/M兼容RSTS/E,RSTS/E兼容DOS-11,DOS-11到底要兼容什么实在找不到了,不过之前DEC的东西,像TOPS-10,也是不分大小写的。

其实操作系统不装第三方软件的话,要改大小写敏感很容易,但是因为有三观不合就挂掉的第三方软件的原因,就算到现在微软都不默认打开NTFS的大小写敏感。这个还是因为大小写不敏感是早期行业标准(比如1963年版的ASCII)而大小写不敏感的代码仍然需要在Windows上跑。

古代打孔机的代码集可不是8位的,而是五位六位的,而大小写52个字母就占了6位的绝大部分,所以早期软件都没有小写支持。标点符号比小写字母更重要吧,即使是1963年版的ASCII规定了大于号和小于号,DEC和IBM的字符集RADIX 50和SQUOZE里仍然连大于号跟小于号都没有,当时的编程语言,比如Fortran,因为要兼容这些硬件,比较都是用.GT. 和 .LT.。1963年版的ASCII里都没有的小写字母,优先级则更加低。对于这些年代来的古董软件的移植者来说,移植到不分大小写的系统当然要比移植到分大小写的Unix要容易,这也是Unix一开始没有什么企业支持的原因,也造成了各行各业不分大小写的程序在Windows上仍然大量存在。

有点年头的操作系统文件是不是分大小写基本上就是看这系统祖上是不是要兼容商用大型机的操作系统(以及从这些大型系统上移植而来的程序)。DOS-11研发的时候C语言还没出生。C语言一开始是用来跑在PDP-11上,PDP-11的文件系统Files-11也是不分大小写的,操作系统的语言敏感性真的是跟开发语言无关的东西。

PS 8.3的文件名格式也是DEC定的……


user avatar   Ivony 网友的相关建议: 
      

提问者如果你觉得你这个问题的前半句和后半句构成了逻辑关系的话,那你基本上也告别编程了……


user avatar   pansz 网友的相关建议: 
      

这个问题透着一股邪乎味儿,怎么看怎么危险啊……

建议专业机构给予支援。




  

相关话题

  如何评价华为Matebook X Pro美国价格比国内便宜? 
  不准备深入学习编程前提下,能最快上手制作 win 端简单软件的语言是什么? 
  为什么说 C/C++ 不适合做 Web 开发? 
  如何理解编程语言中「流」(stream)的概念? 
  带有以太网接口的type c转接头/扩展坞的物理地址有可能会重复吗? 
  大家在计算机学习路上,都看过哪些神一般的书? 
  不考虑生态,微软Windows与Apple Mac os谁更趋于完美? 
  Linux 是否比 Windows 省电? 
  学C++之前需要先学C吗? 
  如何评价 Windows 11 窗口 N 代同堂以及一个系统三个终端? 

前一个讨论
如何看待飞腾7月23号线上发布的腾云s2500?
下一个讨论
学校食堂一种薄薄一片像午餐肉但很紧实有腊味的东西是什么呀?





© 2024-09-19 - tinynew.org. All Rights Reserved.
© 2024-09-19 - tinynew.org. 保留所有权利