It's early days, but so far this transition has gone massively better than any previous similar processor transition. The PowerPC->Intel transition was much worse.
Not sure what you expected, but having seen previous transitions, this is smooth as butter. If you are a Pro, you know that jumping onto a platform early is fraught with potential gotchas.
> the Macbook Pro 13 really feels odd in this lineup if the word Pro is supposed to mean anything.
There has always been a bit of a blurry line between pro and non-pro Apple products. This model year it means just as much as it has on many other model years. Apple left the "higher end" Intel builds in their product line to address the needs of developers who want 32GB or RAM or many other configurations.
This Pro is exactly the machine that the developers porting Go or Rust over to MacOS will likely be using.
I don't believe I'm saying, suggesting or hinting that this is not going smoothly for a transition like this. If you read my comment as somehow saying this transition is not going smoothly, I'd like to understand why you'd think that and I'll update my comment.
What I'm commenting on is that anything that is not already completely bought into Apple's stack is not there yet, and that reveals where Apple's priorities are. Anything that's cross platform or depends on cross platform components needs to play catch up now. It's fine if they have priorities though?
> What I'm commenting on is that anything that is not already completely bought into Apple's stack is not there yet, and that reveals where Apple's priorities are.
Not remotely.
It reveals who priorities updating their software to Apple's new platform. Apple can't control who ports a given piece of software to their new platform and how quickly it gets done. The surface area is too large.
All Apple can do is get the tools out there for the people who are doing the porting.
Most likely Go and Rust aren't ported simply because porting languages is hard and time consuming.
> Anything that's cross platform or depends on cross platform components needs to play catch up now.
I'm not sure why this is remotely surprising or noteworthy. Apple needed Xcode, Swift, and Objective C running in order to build MacOS. There would not be a platform to try to port to if Apple's toolchain wasn't working prior to day 1.
Rust, Go, React Native, are all by necessity going to be rely on Apple's toolchain to run on Apple, so by nature they take longer to build.
> Most likely Go and Rust aren't ported simply because porting languages is hard and time consuming.
So, to be clear, Rust is ported. It's not a tier 1 target yet, but it does work. Time is not the only issue here, as elaborated downthread. For the gory details, see https://github.com/rust-lang/rust/issues/73908
> I'm not sure why this is remotely surprising or noteworthy.
It might not be for you, but then I'm curious why it's noteworthy enough to have two layers of comments about it. If you don't want to talk about that then by all means let's not.
Apple has priorities, and these have results. I think it would be interesting to talk about that, as Apple could have invested time and money in getting some more things going (I'm thinking virtualization and Docker related things especially - you know, the stuff they demoed at WWDC!), but they didn't. It's fine they didn't, but we can still talk about that can't we?
> It might not be, but then I'm curious why it's noteworthy enough to have two layers of comments about it.
You noted it, I was trying to explain something which seems to me exceedingly obvious.
> Apple has priorities, and these have results.
The reason these tools were built/ run first is due to the priorities and constraints of outside individuals, not Apple's. If you build a graphics editor or a text editor using Apple's toolchain and most of your clients run Apple, porting is likely high priority and not super hard.
A lot of these things you are complaining about are just really hard problems.
Docker requires a hypervisor which wasn't part of the A12Z processor they shipped in the DTK. It also depends on Go.
Go isn't available because porting languages to a new processor is non-trivial.
Rust has the above issues, plus didn't Mozilla lay off a huge chunk of the Rust team?
> Docker requires a hypervisor which wasn't part of the A12Z
processor they shipped in the DTK. It also depends on Go.
Apple did have prerelease hardware that supported virtualization, which they supplied to Parallels. Docker has not worked with this hardware based on their press release and GitHub issue [1][2], although they may have received some specs. In any case, Docker depends on Golang with won't release until February.
If Apple did make Docker a priority (which you'd expect given the namedrop at WWDC), this seems quite strange to me.
> Go isn't available because porting languages to a new processor is non-trivial.
I'm sorry, I don't buy this at face value for Go and Rust. I believe these teams could support a new architecture very well very quickly with the right tools and support, like how their stuff also runs on weird things like S390. They show day in day out their stuff is very flexible. By no means do I want to suggest it's a trivial matter, but these toolchains are made to be portable and currently support both much more exotic and very similar systems to aarch64 macOS at the same time - like x86-64 macOS and arm64 iOS. Rust's current bottleneck may be due to CI sure, but then the question becomes why weren't DTKs used for CI?
It seems that if Rust and Go developers were approached with the right tools and support, they wouldn't have had to figure things out now. Is it that bad that they have to figure things out now? Not really - but I do think it could have been avoided, and we wouldn't have had to wait for a golang release in February and a Docker release after that.
> Rust's current bottleneck may be due to CI sure, but then the question becomes why weren't DTKs used for CI?
Rust's CI is pretty demanding, both in general, as well as given that it's core to our stability story, we need it to be reliable, and something we can rely on for a long time. DTKs are by very nature not a long-term thing, but a short term stopgap.
Not sure what you expected, but having seen previous transitions, this is smooth as butter. If you are a Pro, you know that jumping onto a platform early is fraught with potential gotchas.
> the Macbook Pro 13 really feels odd in this lineup if the word Pro is supposed to mean anything.
There has always been a bit of a blurry line between pro and non-pro Apple products. This model year it means just as much as it has on many other model years. Apple left the "higher end" Intel builds in their product line to address the needs of developers who want 32GB or RAM or many other configurations.
This Pro is exactly the machine that the developers porting Go or Rust over to MacOS will likely be using.