微软定义了一些有科学道理的标准,为什么却被各种国际标准联盟抛弃

2019-04-10 16:13:43 +08:00
 changwei

比如说 IE 的 box 模型,明明微软标准是符合人类认知直觉的标准(现实中一个盒子的宽高指的就是盒子内部实际容积加上盒子本身的厚度以及内边距,这个厚度可以理解为 css 的 border,内边距则可以理解为盒子里面保护内件的缓冲泡沫),结果被 w3c 认为是不标准的,还有人给他起个名字叫做“怪异模型”,明明是 w3c 的标准比较怪异吧。结果最后 w3c 在制定 css3 标准的时候再弄出一个 box-sizing 来重新回到老 IE 的 box 模型,而且事实确实是用 box-sizing 模型比较多吧。

还有 BOM,明明是一个很好的东西来解决文档编码以及字节序声明的方案,如果大家的编译器解析器都按照这个标准来设计,理论上是不会有那么多的编码问题。结果被各种开源社区抛弃,反而日常有人吐槽微软的 BOM 害得他们代码上线出 BUG。这明明是一个可以解决问题的方案,只是开源社区都不遵守导致的,结果现在微软还得背锅。

8014 次点击
所在节点    程序员
66 条回复
Narcissu5
2019-04-10 17:33:28 +08:00
@kaneg 不成立吧,实际上 http 头也是\r\n 换行的,telnet 好像也是。好多东西成为主流其实是很晚的事情,比如 POSIX,要让微软遵守也很为难他吧
silencefent
2019-04-10 17:34:50 +08:00
学诺基亚舔到最后一无所有?
ysc3839
2019-04-10 17:35:09 +08:00
@sneezry 而且 RFC 一些标准也使用 CRLF,比如 HTTP/1 系列。
guyujiezi
2019-04-10 17:37:44 +08:00
@kaneg 文件分隔符这明明是 IBM 的锅,不关微软的事儿
realzsy
2019-04-10 18:17:42 +08:00
@lihongjie0209 今天大力推广,明天直接抛弃?这不是谷歌吗?
glasslion
2019-04-10 18:44:37 +08:00
@kaneg Window 用 CRLF 是因为 CP/M 就用了 CRLF
catalina
2019-04-10 19:06:25 +08:00
因为反对微软是政治正确
(当然,我可没说我赞成这么做)
glasslion
2019-04-10 19:08:43 +08:00
第 1 个问题,W3C 的 CSS1 标准发布在前, 微软的 IE 实现在后。

第 2 个问题
1. BOM 不是微软的发明
2. BOM 只适用 Unicode, 根本不能解决主流的 Latin-1, GBK, Big-5 编码识别问题...
3. MS 和开源社区的争议在于 UTF8 要不要加 BOM. UTF8 最大的优势就在兼容 ASCII,加上这这狗尾续貂的 BOM ,就不兼容了, 那还有啥意义
agagega
2019-04-10 19:25:55 +08:00
微软的风评是从 Satya 上台之后才好的,鲍尔默时代程序员对它的印象好才有鬼了。换在当年你能想象 RedHat 被 IBM 收购之后员工抱怨说希望被微软收购吗?( IBM 也是冤大头,不知道怎么了,讲道理对开源社区的贡献一点都不少,可很多人就是对它印象不好)
Biebe
2019-04-10 19:50:55 +08:00
好的东西不一定流行啊
allor
2019-04-10 19:52:13 +08:00
对棋子而言,最科学的标准就是最好的标准;
对棋手而言,最好的标准就是我自己的标准。
xuanbg
2019-04-10 20:03:33 +08:00
在开源界,和微软对着干就是政治正确,微软就是原罪。
westoy
2019-04-10 20:05:29 +08:00
巨硬本来就是原罪啊

IE4、IE5.01 、IE5.5、IE6、IE7、IE8, 要实现一致的效果, 针对每个版本都要写不同的 css hack, 有时候同一个版本不同的补丁版都会搞出差异

好日子过多了想恢复当初被巨硬支配的恐惧?
sunocean
2019-04-10 20:11:57 +08:00
你猜为啥 windows phone 会死?为啥大家都不愿意给它写程序?
KuzhiBake
2019-04-10 20:14:59 +08:00
看了开头的杠精三连,你应该能一窥其中奥妙。
geelaw
2019-04-10 20:20:03 +08:00
就楼主所说的问题,是因为恨微软是一种时尚。

至于 box model,我觉得取决于需要,多数时候 IE 早期默认的模型是好用的,但是在没有 calc 又希望使用不同长度单位的时候可能 padding box 更好用。

@lihongjie0209 #5 然而我也没见哪个地方的兼容性比微软好。

@kaneg #6 已经有人给您科普 \r\n 和打字机的流传了,反斜线是因为 / 已经在最初的 DOS 时代被预留给开关了,例如 dir /w,在 DOS 支持非根目录的时候只好用另一个字符表示分割。

@HuasLeung #19 这个推理方式可以推理成所有资本家都是邪恶的,当然你要是自由软件斗士那我无话可说。

@westoy #33 我不确定你说的是什么,你完全可以 IE=6 永远使用一个固定版本的引擎。
kindjeff
2019-04-10 20:31:58 +08:00
楼主现在去用 powershell 还来得及(逃
Fule
2019-04-10 20:53:18 +08:00
怎么看起来似乎是一种“因为是一个(大)公司提出的标准,所以就算它合理开源社区也不应该遵守 /采用”的味道?另外,如果那个(大)公司抛弃了原来的标准,开源社区就一定也要抛弃吗?如果不是,何来“地震”之说?
chouchoui
2019-04-10 21:05:47 +08:00
前三楼完美展现所谓开源的嘴脸
okoook
2019-04-10 21:08:06 +08:00
@lihongjie0209 这不是 Google 的作风么

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/553768

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX