返回顶部
大家都在看
相关推荐

[其他更多] 為何跳過 Windows 9? 原來只因 Microsoft 程式員懶惰!?

  [复制链接]

签到天数: 2368 天

[LV.Master]伴坛终老

88

主题

9

好友

7191

积分

精灵魔法师☆★

Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25

回帖
1975
雪点
48309
阅读权限
150
在线时间
2735 小时
注册时间
2014-7-18
最后登录
2023-2-18
wasd 显示全部楼层 发表于 2014-10-2 20:12:09 |阅读模式
本帖最后由 wasd 于 2014-10-2 20:13 编辑



下個 Windows 版本不是 Windows 9,而是 Windows 10。究竟為甚麼?Microsoft 沒有說明原因,大部分人估計是因為 “10” 更能表現出這是重大革新。但根據最新消息,真正原因可能不是這麼簡單。

Reddit 一個用戶聲稱是 Microsoft 的開發人員,表示當他們測試 “Windows 9” 這個名稱時出現問題。原來 “Windows 9” 在系統程式碼之中,是 Windows 95 或 98 的簡稱,程式看到 “Windows 9” 就會判定為這兩個陳年舊 Windows。

其實以前也曾經有類似問題出現,包括 Windows 2000。Windows 7 在系統內的代號為 Windows 6.1,也是因為相似的原因。不過這次 Microsoft 決定直接改名為 Windows 10 來解決問題。
0 70
分享

签到天数: 2368 天

[LV.Master]伴坛终老

88

主题

9

好友

7191

积分

精灵魔法师☆★

Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25

回帖
1975
雪点
48309
阅读权限
150
在线时间
2735 小时
注册时间
2014-7-18
最后登录
2023-2-18
wasd 显示全部楼层 发表于 2017-6-17 20:42:57
本帖最后由 wasd 于 2017-6-17 21:44 编辑
Dulanfai 发表于 2017-6-17 03:37
那個Java bug是誰fix的?是Java更新fix的,不是微軟更新fix的。所以證明微軟不會理會你們掃描不到的問題 ...


我發覺你真是挺強詞奪理的=.=

你真是的, 你完全不明白狀況

第一, 我已經說了『會出錯是因為你沒更新Java』, 我還說『
(假設微軟知道這個錯誤的情況下) 你或許猜對了微軟根本不理會這個Java指令』, 那當然是Java公司fix的喇

第二, Java是很特別的, 只要更新了JVM和JRE, 那個Java指令根本不用改寫, 就能正確無誤地執行了

第三, 什麼叫有衝突也不是微軟要考慮的, 你才是放棄邏輯; 怎麼你說的好像我給的if (os.startsWith("Windows 9") 是他們發現的唯一衝突之處!? 我們連微軟在哪個軟件發現衝突也不知道, 我已經說過這只是我舉出的一個例子, 其中一種以OS名稱來檢查Windows版本的方法, 但這個指令不是唯一檢查Windows版本的指令; 我們都不知他們發現有衝突的軟件是否在運行if (os.startsWith("Windows 9") 這個程序; 另外, 我也說過開發OS是要儘量考慮舊時代軟件的支援能力, 簡簡單單不叫Windows 9就可以解決一部分問題, 何樂而不為?

第四, 你怎麼覺得因為沒發現這個Java問題就代表他們不在乎所有的掃描, 這個推論實在是不嚴謹 我卻認為他們測試的軟件應該都是微軟過去自家出產/或內部實驗室的軟件, 以及一些熱門的軟件 (但用Java寫的其實不多, 大多都是用C-family語言寫的, 而Java主要用在web application和server-side apps的), 微軟不會故意花時間去四處搜羅軟件作測試

第五, 我再說一遍,  請你看請楚我為何給出另外幾個例子, 而且我是知道這幾個方法可以有效辨別Windows版本; 那幾個例子所用的方法不會和“Windows 9” 這個名稱有衝突

第六, 我從沒否定『跳過9就是因為8口碑不好』

第七, 你又再無視我的論點了美國人並不怎麼忌諱6, 因為真正代表撒旦的是666』在美國, 到處都有數字6, 會有6樓但不一定有13樓; 還有我何時『說過要全部美國人都忌諱6所以才合理?』, 你又再一次打稻草人及極端化, 希望你以後能認真理解人家所說才去回覆, 而我是一直說“Windows 9” 名稱衝突的原因更合理

第八, Vista的內核名稱是NT6.0, 就當微軟真的迷信, 覺得Vista出很多問題跟數字6有關; 哪麼我想問你為甚麼Win7的內核名稱仍要叫NT6.1, 而不是直接跳去NT7.0, 明明之前是因為內核名稱有問題啊 (依你所說是NT6.0有問題啊, 不是Vista這個名稱有問題啊); 其實, 即使不叫Win7也不會叫Win6的, 因為微軟不會想正式名稱跟內核名稱(因已有WinNT6.0)有衝突; 更重要的是, 我們在討論為何跳過Windows 9, 9對美國人來說沒什麼特別, 微軟不會因迷信原因跳過9的

第九, 你錯在哪裡我一早已經講清楚, 是你自己沒看到/看不懂! 真心請你看清楚之前的回覆+點評! (我剛看到你在我早前回覆後把自己錯的CODE改了, 但"或"是什麼鬼) 另外, 能解釋||的意思就是程序員真是笑死人了, 這是Coding101的程度罷了; 其實呢, 這個真心不用解釋, 因為實在是太簡單了, 如果你真心看不懂的話, 你承認, 我就跟你慢慢解釋; 最後, 我並沒有迴避問題, 這程度的代碼真心不用解釋!

第十, 我就想問一問你, 截圖對這個討論有什麼用!? 怕你不死心, 圖我就懶得截了, 我說說我常用甚麼IDE+Editor吧: Visual Studio, Eclipse, VBA, SublimeText, PythonIDE, notepad++

第十一, 你再次暴露了你理解錯問題所在我不想不斷重重覆覆跟你解釋了, 我不知說過多少次『掃描內核版本(即NT6.x)是可以有效區別Windows版本; 所以叫NT6.4也好, NT10也好, 都無所謂, 甚至叫NT9也行』

第十二, 因為我只是給了那句Java作為論據; 其他程式語言當然有:
  1. Dim OsName As String = My.Computer.Info.OSFullName
  2. Sub GetNAME()
  3.     If OsName.Contains("Windows 9") Then
  4.         Os = "Windows 95 or 98"
  5.     ElseIf OsName.Contains("Windows ME") Then
  6.         Os = "Windows ME"
  7.     Else
  8.         MessageBox.Show(Os & " is not supported.")
  9.         Application.Exit()
  10.     End If
  11. End Sub
复制代码
  1. Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
  2. For Each objOS In objWMIService.ExecQuery("Select * from Win32_OperatingSystem")
  3.     If InStr(objOS.Caption,"Windows 9")>0 Then
  4.         Wscript.Echo "The OS is  " & objOS.Caption & vbNewLine & _
  5.             "Version Number is  " & " (" & objOS.Version & ")"
  6.         'do sth
  7.     End If
  8. Next
复制代码
  1. var os = (from entry in new ManagementObjectSearcher("SELECT Caption FROM Win32_OperatingSystem").Get().Cast<ManagementObject>()
  2.                       select entry.GetPropertyValue("Caption")).FirstOrDefault();
  3. return os.ToString().Contains("Windows 9") ? os.ToString() : "Unknown";
复制代码


等等, 還有更多不同組合和變化以及更多我不知道的....



点评

就答一答你, 免得你繼續糾纏, ||即是logical or, 而&&就是logical and  发表于 2017-6-17 21:17
回复 支持 反对

使用道具 举报

签到天数: 2368 天

[LV.Master]伴坛终老

88

主题

9

好友

7191

积分

精灵魔法师☆★

Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25

回帖
1975
雪点
48309
阅读权限
150
在线时间
2735 小时
注册时间
2014-7-18
最后登录
2023-2-18
wasd 显示全部楼层 发表于 2014-10-4 04:12:17
stevencif 发表于 2014-10-4 00:54
你唔係信呀
如果 9 同 95都會攪錯,唔怪得windows咁多bug喇
要佢計數咪好大鑊

阿哥, 你唔係睇唔明咩叫 "startsWith" 啊? 定係你完全無接觸過programing !?
回复 支持 1 反对 1

使用道具 举报

签到天数: 2368 天

[LV.Master]伴坛终老

88

主题

9

好友

7191

积分

精灵魔法师☆★

Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25

回帖
1975
雪点
48309
阅读权限
150
在线时间
2735 小时
注册时间
2014-7-18
最后登录
2023-2-18
wasd 显示全部楼层 发表于 2017-6-14 19:47:08
本帖最后由 wasd 于 2017-6-14 19:58 编辑
Dulanfai 发表于 2017-6-14 12:54
哎喲,window7 系統裡面也是win6.1來的啦。老闆要命名什麼就什麼的啦。裡頭系統是什麼根本與名字無關。
...

第一, 我知道那是謠言, 未經證實; 我從沒說過那是事實, 只不過這個謠傳的原因是比較令我信服的一個; 頂樓的內容不是我所寫, 我只是轉貼, 讓大家討論一下; 我是不同意你所說的原因(迷信那個), 我認為這個『謠言』比起你所說的原因更為合理;

第二, 我沒有那麼蠢, 蠢人才會故意把資料忽略; 你自己可以去查一下, 沒有所謂的Win NT 6.4; Win 10 的內核版本的確是Win NT 10 (Win NT 6.4是當時公眾估計的內核版本);

第三, 你說的對啊, 『是怕其他的軟件有衝突,不是怕他們自己掃描不到出問題』; 但是, 我何時說過是微軟掃描不出問題 這是你的幻想; 而微軟就是知道有這個問題, 所以擔心「其他的軟件有衝突」, 一個新系統的開發是要顧及現有軟件的兼容問題的;

第四, 人人都知道『每個軟件或應用程式都必須更新自己的軟件才能(完全)支持新版Windows的啦』; 然而, 現在的問題是新版Windows的開發是要考慮到盡量支援舊版軟件的能力; 如果完全不援的話, 沒人願意買新版Windows (要等2-3年後, 舊版軟件已經更新才考慮吧, 況且有些軟件已經不再開發; 你會立即買新版Windows嗎? 微軟會這麼蠢嗎?); 開發OS(作業系統)跟開發軟件是不同的, 要顧慮的問題更多;

第五, 你真的看懂了這段Code !?
  1. if (os.startsWith("Windows 9") || os.equals("Windows Me"))
复制代码
這段Code根本不能分辨Windows Me, Windows 95 和 Windows 97, 只要是這3個Windows, 它都會執行指令;

第六, 請你看請楚我為何給出另外幾個例子, 而且我是知道這幾個方法可以有效辨別Windows版本; 補充: 這幾個方法是近5-10年的檢查方法, 而上面的Code則是舊時代的方法.
回复 支持 1 反对 0

使用道具 举报

签到天数: 287 天

[LV.8]以坛为家I

3

主题

0

好友

2324

积分

风之精灵LV.1

Rank: 8Rank: 8Rank: 8Rank: 8

回帖
151
雪点
18343
阅读权限
70
在线时间
175 小时
注册时间
2014-11-1
最后登录
2024-12-15

捐助会员由依亚丝娜桐人

Slaander 显示全部楼层 发表于 2014-11-4 10:31:35
here is how Bill Gate counts

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 1 反对 0

使用道具 举报

签到天数: 4363 天

[LV.Master]伴坛终老

21

主题

0

好友

14万

积分

超级精灵王☆★

Rank: 20Rank: 20Rank: 20Rank: 20

回帖
140251
雪点
101
阅读权限
150
性别
保密
在线时间
24025 小时
注册时间
2012-9-30
最后登录
2025-2-17
stevencif 显示全部楼层 发表于 2014-10-4 13:49:49
本帖最后由 stevencif 于 2014-10-4 15:27 编辑
wasd 发表于 2014-10-4 04:12
阿哥, 你唔係睇唔明咩叫 "startsWith" 啊? 定係你完全無接觸過programing !?


你的programing都好好喇
用startsWith check到"9"字
不如check到"Windows"喇

重有就係 windows 1.0 都有呀,以你的邏輯,windows 10都係startsWith check到"1"字喎

如果真係咁做,windows的bug就係多到.......
回复 支持 0 反对 1

使用道具 举报

签到天数: 2368 天

[LV.Master]伴坛终老

88

主题

9

好友

7191

积分

精灵魔法师☆★

Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25

回帖
1975
雪点
48309
阅读权限
150
在线时间
2735 小时
注册时间
2014-7-18
最后登录
2023-2-18
wasd 显示全部楼层 发表于 2014-10-4 20:10:57
stevencif 发表于 2014-10-4 13:49
你的programing都好好喇
用startsWith check到"9"字
不如check到"Windows"喇

我唔知你對programming有幾多認識啦, 但如果你自認唔係新手的話, 呢個網你有必要知:
https://searchcode.com/?q=if(version,startswith("windows+9")

以前(可能依家都仲有人) 寫既程式係用 startsWith("Windows 9") 去檢查個 OS 係唔係 Win 9X (95 / 98),
依家佢內部測試時就係發現呢個問題, 所以就避開唔叫Windows 9.

至於你講既Windows 1.0 (198x 年出)既問題根本唔存在, 依家仲邊有
a) 人寫程式會檢查你個OS = Win1 or not
b) 舊時代既程式存在 (講緊20幾近30年前既野黎喔)
c) 20-30年前個programming structure都唔係咁

最後想同你講返, 依家check OS既coding應該係類似咁:
-
  1. IsWindows8Point1OrGreater
复制代码

-
  1. IsWindowsVersionOrGreater(6,3,0)
复制代码

-
  1. //ensure we're on Windows 7 (6.1)
  2. if (Major > 6) or ((Major = 6) and (Minor >= 1))
  3.     windows7 = true
  4. else
  5.     windows7 = false;
复制代码

基本上絕大部分都係檢查 NT Kernel Release ver. no. 黎判斷Windows Version既
回复 支持 1 反对 0

使用道具 举报

签到天数: 2368 天

[LV.Master]伴坛终老

88

主题

9

好友

7191

积分

精灵魔法师☆★

Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25

回帖
1975
雪点
48309
阅读权限
150
在线时间
2735 小时
注册时间
2014-7-18
最后登录
2023-2-18
wasd 显示全部楼层 发表于 2014-10-3 23:56:55
sspomg 发表于 2014-10-3 08:45
楼主吾系信呀?
  1. String os = System.getProperty("os.name");



  2. if (os.startsWith("Windows 9") || os.equals("Windows Me")) {



  3.      throw new RuntimeException(
复制代码
回复 支持 1 反对 0

使用道具 举报

签到天数: 1313 天

[LV.10]以坛为家III

8

主题

13

好友

5104

积分

风之精灵LV.2

Rank: 13Rank: 13Rank: 13

回帖
4640
雪点
3792
阅读权限
80
性别
保密
在线时间
1203 小时
注册时间
2012-10-12
最后登录
2025-1-29
comcom 显示全部楼层 发表于 2014-10-2 21:09:20
Win8 = Vista
回复 支持 1 反对 0

使用道具 举报

签到天数: 1943 天

[LV.Master]伴坛终老

29

主题

15

好友

2156

积分

风之精灵LV.1

Rank: 8Rank: 8Rank: 8Rank: 8

回帖
1829
雪点
1877
阅读权限
70
性别
在线时间
1307 小时
注册时间
2012-6-15
最后登录
2025-2-3
t5813770 显示全部楼层 发表于 2014-10-2 20:59:47
原来系甘样。。。WIN8应该好快被淘汰

签到天数: 859 天

[LV.10]以坛为家III

19

主题

0

好友

2196

积分

风之精灵LV.1

Rank: 8Rank: 8Rank: 8Rank: 8

回帖
1417
雪点
6832
阅读权限
70
性别
在线时间
525 小时
注册时间
2013-7-24
最后登录
2024-11-25
时过境迁 显示全部楼层 发表于 2014-10-2 21:09:11
表示我已经安装了,目前感觉良好...

签到天数: 3842 天

[LV.Master]伴坛终老

1

主题

0

好友

7535

积分

风之精灵LV.3

Rank: 15Rank: 15Rank: 15

回帖
1316
雪点
60038
阅读权限
90
在线时间
1463 小时
注册时间
2014-3-28
最后登录
2025-2-17
TsunamiZ 显示全部楼层 发表于 2014-10-2 21:33:42
用Windows 8.1 with Update 1嘅路过……其实用起来仲可以。

签到天数: 1888 天

[LV.Master]伴坛终老

4

主题

3

好友

6140

积分

风之精灵LV.2

Rank: 13Rank: 13Rank: 13

回帖
3016
雪点
30942
阅读权限
80
性别
保密
在线时间
785 小时
注册时间
2014-4-27
最后登录
2025-2-16
飞燕回巢 显示全部楼层 发表于 2014-10-2 23:35:34
系统更新换代得太快了,到了Windows 10啦。

签到天数: 364 天

[LV.8]以坛为家I

0

主题

0

好友

1058

积分

土之精灵LV.3

Rank: 7Rank: 7Rank: 7

回帖
513
雪点
4894
阅读权限
60
在线时间
102 小时
注册时间
2014-2-16
最后登录
2018-9-7
plshelpme 显示全部楼层 发表于 2014-10-3 00:33:47
叫咩名都唔緊要,最緊要係好唔好用

签到天数: 110 天

[LV.6]常住居民II

7

主题

1

好友

723

积分

土之精灵LV.2

Rank: 6Rank: 6

回帖
702
雪点
66
阅读权限
50
性别
保密
在线时间
214 小时
注册时间
2014-8-18
最后登录
2024-8-19
sspomg 来自手机 显示全部楼层 发表于 2014-10-3 08:45:19
楼主吾系信呀?
头像被屏蔽

签到天数: 902 天

[LV.10]以坛为家III

35

主题

9

好友

3338

积分

禁止访问

回帖
3251
雪点
-5
阅读权限
0
性别
在线时间
520 小时
注册时间
2013-9-4
最后登录
2021-12-20

百变小樱露西米拉愛德華·艾爾利克

动漫鸣门 显示全部楼层 发表于 2014-10-3 08:47:27
提示: 作者被禁止或删除 内容自动屏蔽
回帖须知:严禁发表粗言秽语、纯表情、纯数字等无意义内容,更多规则请参阅论坛总版规
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

粤梦缘是国内粤语爱好者社区,集动漫、影视、音乐的综合性分享及交流平台。 网站共设,动漫资讯、动漫分享、漫画分享、讨论等多个频道。
  • 官方手机版

  • 官方QQ群

  • 商务合作

  • Powered by Discuz! X3.4 | Copyright © 2001-2023, Tencent Cloud. | 粤梦缘
  • | 营业执照 |粤梦缘网络有限公司|鲁ICP备19001237号-21|鲁公网安备 4236902302000354号