为什么 visual studio 没有迁移到 64 位

2020-04-02 09:03:03 +08:00
 feifei003

看到这篇文章

https://docs.microsoft.com/en-us/archive/blogs/ricom/revisiting-64-bit-ness-in-visual-studio-and-elsewhere

是不是照这个意思其实跑 32 位程序比跑 64 位程序更好

5407 次点击
所在节点    分享发现
46 条回复
shutongxinq
2020-04-02 12:52:24 +08:00
32 位程序用户态在 64 位 win 下能用满 4G 内存。当然 4G 和 2G 没啥本质区别,都小得可怜。坚持 32 位不如坚持 640kb 。640kb 经典👍

来源: https://blog.csdn.net/WPwalter/article/details/77986970
alphatoad
2020-04-02 13:26:08 +08:00
我好像被骂了?笑
软件工程不及时迭代最后结果就是屎山,很难理解吗?你咋不回去用 16 位软件?
现在 x86_64 还留着 8086 实模式,vulnerabilities 一大堆,你猜是好事还是坏事?

AMD 这次砍了一刀上古指令。砍得好。
reus
2020-04-02 13:32:58 +08:00
vs 是 32 位程序,用到某些需要大量内存的插件,就会超出内存限制,不论跑在 32 位系统,还是 64 位系统。

和操作系统无关,纯粹就是 vs 极重难返,懒得下力气去改。

@nannanziyu “分不清应用程序和操作系统吗?”这个问题应该问你自己,这个帖子本来就是讨论 vs 这个应用程序,是你自己跑题到操作系统的。
alphatoad
2020-04-02 13:34:00 +08:00
「几年前写个工具软件,过两年就不能用了,还鼓掌拍手的,我也就见过果粉」我还真没见过一个正经的软件是拒不支持 Catalina 的,Wine 这种依赖 32 位的翻译器除外。
也就软粉还留着上古年代的软件当宝了。Apple 几年前就发出通告以后会 drop 32bit,不迭代不听劝告的软件开发商自然会被市场淘汰。
Windows 搞了这么多年 HiDPI 都有那么多软件不支持。作为上游的操作系统不强制要求迭代,软件开放商怎么可能会主动跟进。
吹 legacy api 的真的搞过软件工程吗
nannanziyu
2020-04-02 13:41:12 +08:00
楼上果粉脑子烧坏证据+2
特征值:非黑即白,提到向下兼容,就让别人去用 16 位软件。

1,做软件的,谁不知道扔掉包袱,轻装上阵舒服。
软件迭代到后面,很多工作都在做版本迁移适配。
最简单的配置文件每次增删配置项,都要考虑考虑又考虑。
自己做个小的应用程序都要考虑版本兼容,遑论操作系统。
2,
没有历史包袱轻装上阵,换来的是以后更好的发展,真是妙
于是
你进火车站刷身份证,“对不起,身份证识别系统已经升级为 3.4.2,您的身份证版本还是 3.4.1,请到所在地派出所更换最新版后再刷”

于是
你打开 chrome,地址栏输入 http://www.newsmth.net ,回车,“对不起,chrome68.x.x.x 只支持 http2.0,对方主机依然使用 http1.1,请联系对方网络管理员升级服务器”

于是
你要打电话,掏出手机,发现没有信号,打 10000/10086,对方甜美的声音告诉你“对不起,本市基站已经升级,只支持 Volte x.x.x.x,您的手机基带只支持 x.x.x.x-1,请您到最近的营业厅购买新手机”

......

于是
你买了台电脑,隔几天后又买了个手机,发现手机无法连接电脑,因为手机接口是已经升级为 USB 8.1,而电脑还是 USB 8.0 ;然后你又买了台电脑,发现手机还是连接不了,因为电脑接口又升级到 USB8.2 了(这个场景是不是似曾相识?如果是,恭喜你,你也见过果粉拿着 iPhone7 在 new MacBook Pro 前发懵的场景了)

幸运的是,上述场景都只是假想(什么?你说对于果粉来说,最后一条是真的?不,对于果粉,整个人生都是乔布斯给他织就的梦境),每个人都在无意中享受着向下兼容带来的便利,只是不知道对应的人员为了向下兼容做出了多么大的努力。谁不知道扔掉包袱前进更舒畅呢,不能那么做而已。
为什么水果可以?
就因为有许多把 bug 都能说成 feature,用来跟别人解释水果对用户多负责的果粉存在啊。
alphatoad
2020-04-02 13:48:27 +08:00
楼上挺逗的,应该不是软粉,我见过的软粉都是喜欢 fluent design, uwp etc,没见过喜欢老古董的
1 、
「我可以让你用 32 位软件,你不能让我用 16 位软件哦」
2 、
「同志,你凭什么不认我的一代身份证!你们强推二代证不让我用一代证,我绝对不换!绝对不!」

幸运的是,上述场景只是假设。真正的世界,人类勇于探索,承认过去的不足,勇于 break backward compatibility 。
alphatoad
2020-04-02 13:51:46 +08:00
谁不知道迭代要钱。现在迭代要钱,以后迭代要命。
真成屎山了,就不是钱能解决的问题了。
nannanziyu
2020-04-02 13:54:28 +08:00
1,「我还真没见过一个正经的软件是拒不支持 Catalina 的,Wine 这种依赖 32 位的翻译器除外。」
所以,凭啥我前年写的自用的管理工具,截图 OCR 工具,没时间更新,就不是正经软件了?
2,windows10 支持 16 位应用程序,请了解 NTVDM
nannanziyu
2020-04-02 13:55:35 +08:00
自用的管理工具 -> 自用的 git finder extention 管理工具
alphatoad
2020-04-02 14:01:21 +08:00
1,High Sierra 前 Apple 早就发出通告以后会终止支持 32bit,三年多都不迭代,你也别搞了。日本一大坨 win9*的系统照样跑,自用谁管你。
2,我当然知道 win10 支持 16 位程序,但这不是你用 16 位程序的理由。
alphatoad
2020-04-02 14:11:08 +08:00
任何一个技术都有生命周期,Apple 给了合适的终止支持的时间,给了替代解决方案,很好。
M$ 在合适的时间终止了 XP 、Win7 的支持,给了 Win10,这很好。
你不能要求上游无止境地满足你的要求。你不能指望 Intel 无止境地包括 8086 实模式的电路,这样复杂性会飙升且有 vulnerbilities. 你不能在 2020 年用 ActiveX,这样对用户不负责任。世界在向前进,固步自封必然会导致更大的问题。
Mithril
2020-04-02 14:27:42 +08:00
@alphatoad 面向终端消费者的可以这么搞,但是有很多工业级别的应用都跑在 Windows 上,没法这么搞的。
生产 ATM 的厂商可以因为漏洞得不到更新去升级新的 Windows,但是你跟他说新的 Windows 不支持 32 位程序了让他重写?完全不现实。
一个开发了很久的系统固然迭代困难,但也经过了长时间的考验不会出太大的问题。特别是一些重要的系统里,能不升级就不升级才是常态。
目标用户不一样而已,不能用苹果做系统的思维方式去考虑 Windows 。
alphatoad
2020-04-02 14:36:55 +08:00
@Mithril 面向工业界当然不用这么搞。我上面有提到,日本太多 win9x 的系统还在跑。只要使用范围局限了,不 catch up 自然没有任何问题。
但同时也有新的问题,新硬件不支持旧软件。很多旧系统依赖老电路,硬件挂了之后没有接替的方案。这次 AMD 砍了上古指令之后一些 win9x 的虚拟机会挂掉对一些人来说很头痛。
上面那个老哥有一点我认同,这不是非黑即白的问题。
luhe
2020-04-02 14:44:47 +08:00
3 楼上来就给别人扣个果粉的帽子骂脑子烧坏了...主题是 vs 为什么不迁移到 64 位,硬是能开启撕逼模式...
ahaxzh
2020-04-02 15:10:07 +08:00
我喜欢 64 位,但是我也需要 32 位。就像偶尔我还得开个 Windows XP 的虚拟机一样。不要问为什么,存在即合理,主要是你没有办法去做出改变。
CommandZi
2020-04-02 15:16:30 +08:00
@Mithril 生产 ATM 的厂商可以因为漏洞得不到更新去升级新的 Windows,但是你跟他说新的 Windows 不支持 32 位程序了让他重写?
这就是现实,漏洞得不到更新不就是因为终止支持了,WindowsXP 终止支持多久了?难道再要求微软支持到 2200 年?既然你不愿意重写,那你就继续用 WindowsXP 合情合理。关键这些生产商当初开发的时候肯定是定了部署环境为 WindowsXP,肯定没写 Windows10
reus
2020-04-02 16:21:28 +08:00
有些人总喜欢拿 ATM 做例子,于是我又搜索了一下“ATM win10 update”,看看真是世界里 ATM 是怎么升级的。

我发现了这么一个案例: https://www.google.com/search?q=ATM+32bit+update&newwindow=1&client=firefox-b-d&ei=N56FXpH7C5ix0PEPgYO94A4&start=10&sa=N&ved=2ahUKEwjR8rbLpcnoAhWYGDQIHYFBD-wQ8NMDegQICxBQ&biw=1367&bih=803

win7 升级到 win10,但是 win10 不支持当前的主板,你猜他们怎么处理的?

先装一个 linux,然后在 linux 上跑 win10 。因为 linux 支持旧主板,所以不需要升级硬件,因为虚拟机跑了 win10,所以不需要修改软件。

看到了没,win10 虽然兼容旧程序,但硬件驱动就不一定了,有些旧硬件,win10 根本没有驱动。微软为什么抛弃了他们?

虽然这个例子和不支持 32 位程序有差别,但我想说明的是,就算是 ATM,升级硬件升级软件也不算什么不得了的事情,他们甚至敢装 linux 跑 windows 再跑 ATM 软件。
reus
2020-04-02 16:22:53 +08:00
crella
2020-04-02 19:36:12 +08:00
那么 vs 升级到了 64 位就能卖出更多的副本了吗?

office 升级 64 位确实能让 excel 打开更大更复杂的表格。
elfive
2020-04-02 19:51:17 +08:00
@luhe 我也觉得搞笑,MacOS 最新的几个版本确实去掉了对 32 位程序的支持,但是人家更新日志告诉你了,你可以选择不升级操作系统啊,自己不看更新日志,然后升级了系统,导致自己 32 位程序运行不了,这不是自己造的孽么?我还说 Windows10 强制更新导致我驱动和软件不兼容,这点和 Apple 比起来,那不是一个天上一个地下了?

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

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

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

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

© 2021 V2EX