ARM 版的 Mac 对开发人员有不利吗?如果有,是在哪些方面呢?

2020-06-22 11:08:20 +08:00
 movq

本人计算机专业学生一枚,用过一段时间的 arm 版 linux,发现有些工具在 arm 平台没有。

在某闲聊 QQ 群看到有人说很期待 arm 版 mac,我说 arm 版 Mac 对开发人员不友好,因为有些开发工具在 arm 平台没有,然后就被狂喷,说我无知。

所以特来求证一下,arm 平台对开发人员有没有影响?

13659 次点击
所在节点    macOS
88 条回复
gzfrankie
2020-06-23 02:54:54 +08:00
说小不小,说大其实也不大。

Debian 、centos 、fedora 都有 arm release 多少年了,库和包的依赖基本都解决得七七八八了。折腾一下树莓派就知道了。

而且 ARM 有生态,不像 PowerPC 一样全靠自己,华为的服务器不也是用 ARM 的呢
phithon
2020-06-23 03:02:45 +08:00
不用吵了,Rosetta 2 解决诸君的难题
cassyfar
2020-06-23 07:11:11 +08:00
我最大担心就是以后公司放弃 mac 了,改发杂牌电脑装 linux 当开发机。

第一,公司不知道会不会因为一堆编译工具不兼容 ARM mac,而切成杂牌电脑装 linux 。懂编译的可以说下。我感觉跨平台编译还是很吃平台的。而且生产环境都是 x86 - 64,公司也没必要照顾 ARM mac 的编译。
第二,gnu 的开发工具和一些兼容 mac 的 linux 第三方库兼容 ARM mac 吗?毕竟开源软件,做什么都慢啊。而且即使有新的支持 ARM mac 的软件去替代这些工具和库,审核之路漫漫啊。
ww2000e
2020-06-23 07:39:35 +08:00
手机都 arm 的,那么多做手机 app 的不也好好的
vk42
2020-06-23 08:28:05 +08:00
@cassyfar 你说的这几个都不成立啊
编译不都是生产环境的事,谁会在 mac 上编译生产环境的二进制然后分发的?
开源工具对 ARM 的支持已经相当好了,不过针对 Apple Silicon 优化以及 brew 之类的跟上可能要一点一点来,但不认为会太慢,毕竟水果正式上市 ARM 机型还早,估计到时已经差不多了
退一万步讲,不用 Mac 了为啥要杂牌? Dell HP 这些厂家有专门的 Linux 工作站和本
murmur
2020-06-23 08:32:32 +08:00
@ww2000e 那是因为多少前辈给你把坑都填扎实了,现在如果让你在没有任何开源库的情况下做二进制支持,估计你死的心都有
wupher
2020-06-23 08:35:38 +08:00
1. 第三方库估计会是个大麻烦。很多 Lib 未必有 ARM64 支持。

2. 平台相关的 Golang 、C 、C++ 都会有类似烦恼。

3. 但我仍旧觉得整体而言,这是件好事:大家的平台选择毕竟不是更少而是更多了。
leokino
2020-06-23 08:38:47 +08:00
没什么好烦恼的,硅谷一堆用 Macbook 的程序员,转 Windows 是不可能的,你还担心编译不出来?之前 ARM 少主要原因还是没有使用 ARM 平台的个人电脑。Macbook 要转 ARM 不可能开发者工具弄不好。
wsseo
2020-06-23 08:47:43 +08:00
无论有没有利,精神上还是支持的。
Zzzzzzzzzzz
2020-06-23 08:50:30 +08:00
楼上好多发布会都没看全的
nicevar
2020-06-23 08:52:42 +08:00
苹果的做事风格就是根本不鸟开发者不鸟用户,我这样就行,你用着就好,别叽叽歪歪,像早期 iPhone OS 升级一版动不动一些 API 直接就没了,后来出的 Swift 每次升级项目都无法编译通过,折腾一番,被大家调侃是新学一门语言,这是苹果的一贯作风。
Narcissu5
2020-06-23 09:28:21 +08:00
@GM 很遗憾这些成千上万的库基本都是服务器端的,unix 系统能打的桌面系统找不出第二个来。

而且经过苹果这么些年的魔改,OS X 已经远不是又一个 unix 系统这么简单了
newmlp
2020-06-23 09:30:02 +08:00
不要说 x86 换 arm 了,我还遇到在 Intel 下没问题的代码放到 amd 下就出现坑了
youxiachai
2020-06-23 09:42:38 +08:00
@viztorix arm 平台的个人电脑可不少.....不然,现在编译出来的 arm 包是给谁用...
reus
2020-06-23 10:14:30 +08:00
@SoloCompany x86 很显然指 x86 和 x86-64,谁他妈还特地打完 x86-64 啊
GM
2020-06-23 10:35:30 +08:00
@Narcissu5 但是对苹果世界来说,GUI 并不是全部,还有一大堆第三方软件、第三方驱动、第三方工具包
Huelse
2020-06-23 10:49:35 +08:00
转 ARM 主要是为了融合苹果全平台,苹果也能掌控自己的开发节奏。
全 ARM 也意味着 IOS 和 IPad 的应用可以放到 mac 上运行了,应用商店也实现了统一,弥补了 mac 桌面应用少的局面
桌面开发者可能需要做出较大的改动,比如要交叉编译,或者干脆转 swift 等等,IOS 应用开发者可能轻松点
LokiSharp
2020-06-23 10:58:34 +08:00
苹果:爱用用,不用*
feather12315
2020-06-23 12:31:41 +08:00
我提一个 ARM 的弊端:编译器。

ARM32 时代存在奇奇怪怪的架构,大端序小端序都不同;到了 ARM64,编译器中的 CPU 架构显示 AArch64 。

ARM 的 CPU 不保证兼容性,即使是同 ip 核的 CPU 也不一定能运行相同的程序,这是因为指令集缺失( CPU 的实现出于成本的考虑可能不实现某些指令集,比如手机 Soc 多没有虚拟化指令集)。

新 ip 的出现,往往会带来新的指令集,ARM 的指令集变化太频繁了,这部分指令集用的话就需要更新编译器(至于编译器更新带来的坑,做过的人都心有体会),不用的话性能升不上去。

ARM 碎片化太严重。服务器芯片,公司可以投入资源维护,在生命周期内提供技术支持。Apple 可以保证新 ip 发布 N 年内继续维护么?你见过哪个手机 5 年后还有维护的?笔记本的生命周期可比手机长很多
cassyfar
2020-06-23 12:59:43 +08:00
@vk42

1. 没,我目前就在 mac 上开发编译。以前的公司也是有兼容 mac 的编译工具。虽然生产环境是 linux,但开发挺多人喜欢 mac,不喜欢远程连接 linux 。
2. dell 和 hp 的电脑,就是杂牌啊。体验不是一般差。
3. 开源升个级都各自 bug,不太敢想对于 ARM 怎么支持。

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

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

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

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

© 2021 V2EX