Apple Plans to Use Its Own Chips in Macs from 2020, Replacing Intel
bloomberg.com
bloomberg.com
As an Apple customer, I like this idea also. For 20 years, I used to be a desktop Linux fanatic and later became a fan of Android. In the last few years, I have switched to using all Apple devices.
Even though I am a computer scientists, I actually spend more time on my iPad and iPhone, by far, than on my Mac laptops. I only use a laptop for software development (because of the nature of my work, that is often just SSHed into Linux servers), the rest of my workflow and entertainment is on iOS devices.
The older I get, the more I want to get my work done expediently, leaving time to study new technologies and spend time with family and friends. At least for right now, I am maximally effective in Apple’s environments.
As a bonus, I trust Apple more that Microsoft, Google, Intel, etc.
It will be interesting to see if Apple includes a secretive management engine. If they do, then the speculation that it's required by one or more governments will be dialed up to 11.
https://www.apple.com/business/docs/iOS_Security_Guide.pdf
If they included a management engine and produced a document like that, I'd be satisfied.
Besides, there is absolutely no guarantee that Apple isn't just being "semi-open" with their security mechanisms. In other words, who is to say that there are no redundant, undocumented mechanisms in place?
But I will concede that Apple is ahead of everyone else in this regard. It's just that I think Apple being ahead doesn't mean that the information they're providing is enough.
1. https://www.anandtech.com/show/11596/techinsights-confirms-a...
I think they're already working on that: https://www.bloomberg.com/news/articles/2018-03-19/apple-is-...
But CPU/GPU aren't the only chips Apple is sourcing from 3rd party. Think wireless modems like WiFi, LTE, etc.
I think Apple is intensely interested in controlling the entire stack.
Slowly but surely, they've put together all they'd need for a computer. Their T2 chips in the current iMac Pro handle encryption and NVME storage on the SSD's, as well as the camera image processing, Secure Enclave, and the SMC.
OP raised a valid argument - Apple's QC has been crap lately and trending downwards. There's a lot of feedback out on the net to support that line of thinking.
Most of it has been laughable. The stuff you're talking about is firmly within that laughable camp.
If Apple's QC were "crap" you'd see that in customer satisfaction ratings for their #1 product: the iPhone. But guess what? You don't see that. And there is no downward trend.
https://www.macworld.co.uk/how-to/mac-software/how-stop-some...
Storing the full disk encryption password in plaintext on the disk?
https://support.apple.com/en-us/HT208168
How do you explain these except for atrocious and trending downwards QC?
My comments above still stand.
Hardware, though, you've got nothing. Where have they dropped the ball on their chips?
When Apple's custom CPU has its first F00F-type bug then we'll see how they handle a real issue.
The admin access without a password bug -- fixed in 24 hours, and it still required physical access to a machine.
That's not to diminish the seriousness of the flaw, but that's far different that Facebook's (and many others') nefarious, continual and one-might-argue, malicious exploitation of personal data.
I feel like Apple actually cares deeply about privacy. Look at Tim Cook's personal life for example -- extremely private person -- someone, given his life story, who probably appreciates privacy more than most.
No company is perfect and no company should get a free pass for negligence, but I think Apple has earned the benefit of the doubt.
From what I've been hearing lately about Apple, the impression I keep getting is that Apple doesn't think of Mac as a product with a specific target market, but more as a sort of just-a-really-really-big-ipad. The closed garden approach worked well with iOS, where for the most part people just play throwaway games, but I really don't see that being a viable underlying philosophy for laptops, where interop with digital plumbing is important.
The benefit of running the same chips as everyone else was about leveraging the investment of other products into the Intel architecture. Now they're doing that, just with their own chips.
They switched to Intel first and foremost because PowerPC was not going to get them the performance/power ratio that they wanted. It was holding them back in laptops. For example, Apple never shipped a laptop with a G5 chip because it took so much damn power to run a G5. Intel was basically their only option.
A secondary benefit, which they marketed heavily, was the opportunity to boot your machine natively into Windows. They thought this would help overcome the reluctance of "switchers" who were worried that they would miss something about Windows.
These days, the role of the OS as a gatekeeper is basically gone. There's greater diversity in client OS (Windows, macOS, Linux, ChromeOS, iOS, Android, etc.) and most anything important is available through a browser or a native app.
And Intel is no longer their only option. They've proven they can run big businesses making their own chips.
I do wonder how this will affect VM performance on Macs though. I don't see how it can be maintained, unless Apple chips are so much faster than Intel that they can absorb the translation overhead.
I guess that depends on what people think is "important". If by that you mean Facebook and Youtube, sure. But if we mean things like compilers, imho it would be a net loss if the only way to compile anything for any Apple OS was through Xcode/Swift.
That said there is no reason in 2020 they couldn't dual boot to MS's Windows ARM which is already shipping supports 32 bit x86 apps and should be polished enough to do legacy to the limited degree most users need.
I have to say this isn't how I expected Intel to go down. It is basically microcomputers killing minicomputers all over again (which was before my time, TBH).
As a long-time Mac user who's still basically happy with the product, this is what worries me the most long-term. YMMV, different strokes, go in peace with Ubuntu, but for me personally, macOS has been my favorite desktop Unix, hands-down, for about fifteen years. There's nothing that I want to do on even a semi-regular basis that I can't do, and a lot that would require, well, heavy adjusting if I moved to Linux. (Yes, I've used Linux within the last couple of years.)
I also love iOS and the iPad, but it's not a general computing platform; it's a computing appliance. It's very good at what it does, but by design it's difficult-to-impossible to do things on it that Apple doesn't want you to in ways that aren't true for macOS. (I'm sorry to those of you who had to disable SIP to recompile your own version of Apache, or who are infuriated you can't replace Finder with ratpoison, but you know that's not what I'm talking about here, right?) If "Project Marzipan" is about creating a new UIKit/AppKit hybrid that allows developers to create codebases that run on both iOS and macOS, that's already a little worrisome; if it's about "letting iOS apps run on macOS," as some of Gurman's reporting has it, that's a lot worrisome. I have a lot of apps that exist for both macOS and iOS, and in every single case, the macOS version is more capable. And iOS's "sandbox everything" model--and, I suspect, attitudes it engenders--make every app feel like an island not just in terms of data but in terms of functionality: there's much less of the "learn the basics of one app, learn them all" feeling that makes macOS, well, macOS.
If the Mac line moves to Apple's A-series chips, that's...not necessarily bad, but if it's being done in conjunction with sweeping software changes, it makes me extremely uneasy about the line's future in a way that even the Touch Bar doesn't (and trust me, I do not take the Touch Bar as a good sign). I'm not planning to switch platforms any time soon, but I'm starting to wonder if maybe I should buy an inexpensive Linux-compatible laptop so I can, you know, practice. Just in case.
In the long term this is a play to push Cook's iPad Pro post-pc idea, yet again...
I believe the main driver though, as pointed out in this CNET article https://www.cnet.com/news/four-years-later-why-did-apple-dro... was that IBM could not deliver on a powerful enough powerpc chip that would also meet the other constraints, namely, at this time, one of the biggest markets Apple had was the notebook market, and its sales there were exploding. IBM was unable to deliver a lower thermal envelope for its portable chipsets on top of performance issues.
I think this more than anything else pushed that reality.
You say you want to just "get things done expediently," but in my experience apple software is flat out inferior and OSX is the worst of the 3 major operating systems I have to choose from.
Lastly, what does Apple have to gain by switching away from Intel? Not much, at least, not much that benefits me as a customer. Likely they are interested in making their laptops have more in common with their iOS devices, which does little to nothing for me. Apple's behavior towards OSX and macbooks in the past few years should be of great concern for anyone, especially if you actually like the devices.
Linux > Windows > macOS?
The only UNIX based that tops it is macOS.
There is not a single cohesive stack of desktop technologies, what macOS calls Kits, Android frameworks, Windows UWP and such.
Something like Glade still fails short of what XCode or VS Blend are capable of.
Sure there is something like Qt QML designer, but that isn't Linux specific anyway.
You can fix that of course but homebrew does the same job on macOS.
Roll on 18.04LTS.
It does have the overhead of requiring you actually understand (or know how to google) your system/packages that you use though.
Wasn't that hard to do in the end but it's not something I've done for many, many years and doesn't fill me with confidence.
Other UNIX utilities are actually standard POSIX ones. If you are used to GNU extensions to these on Linux, then Mac ones may seem outdated, but ironically (macOS kernel is called XNU which stands for X is not UNIX) Mac is certified UNIX, while Linux is only UNIX like.
Tooling for C and C++ mostly relies on some external package manager, often the OS-provided one (on most Linuxes, for example). There isn't a standard cpan/npm/pip/cargo for C/C++, although there are plenty of tools that can do kind of the same thing.
There's also not much support for virtual environments (there are tools out there, but not ubiquitous tools). It's pretty easy to point the compiler to a different set of header files and libraries, even on a per-file basis, to get a similar effect.
And from the Apple side (which I have a vague understanding of, having dipped my toes in a few times): Most of the documentation assumes that you're using XCode, and I'm pretty sure that the version of the compiler is just tied to whichever version of XCode you're using (which has a somewhat looser tie to the version of MacOS you're running). So in that case, you'd be using the XCode-provided toolchain rather than the OS-provided one.
Not an official one for sure, Cargo is a blessing for people used to dealing with C/C++ dependency management.
I can still go into /etc/ssh sudo vim sshd_config, can my values, and they stick.
Just to test it, I did it right now, and I'm running 10.13.4, for what its worth.
What exactly was the issue with changing the sshd config? This isn't a SIP protected directory, which is the only thing that would prevent such a move.
Perhaps the requirement of sudo? I feel like most linux distros force that in the /etc directory too.
this security feature that is great for the vast majority of Apple's user's isn't convenient for me.
Luckily, Apple shipped SIP with the option to disable it, and it's not hard. So you can disable it once and then you never need to deal with issues like that again. It's weird because it sounds like you want the protection of SIP without the inconvenience of SIP, but that's never been possible with pretty much any security measure ever -- more safety means less convenience. That being said, to me Apple has actually been the best when it comest to safety/convenience ratio. Linux distros don't even have the option of SIP or something similar, so I can't say I find your argument compelling.Provided you don't need a HDMI port. Or more than 1 spare USB port. Or am ethernet port.
You could get the touch-bar version, but I've read literally nothing but bad reviews and stories about that thing, plus tb versions have smaller batteries.
Yes, I could get a dock, but here's a better idea: how about apple chills out on their unnecessary-thinness fetish, and givese back some actual functionality in my laptop.
Every time I come back to my desk with my laptop I have to go through some ritual involving opening and closing the laptop lid and connecting cables in a certain order to maintain screen orientations and try to get the thing to even wake up. I power cycle my dock at least three times a week to try and make it all work
I used to have a 2014 RMBP with the Apple display and it was fantastic because it was all built by Apple and Just Worked (TM).
Hopefully moving to their own chip fab is the start of them going back to owning the entire device solution.
* a convoluted process involving Vagrant, Docker, or both, because you depend on one or more pieces of software that don't run at all on OSX, including Docker itself.
* slogging through bugs specific to services running on OSX because they really only support Linux well, such as Cassandra or Kafka, or even MySQL.
* Getting shells scripts that work reliably on both OSX and Linux, especially as the tools used to do so break backwards compatibility, either by Apple itself or by 3rd party tools like HomeBrew.
* Getting a consistent development environment at all on OSX. Doing so seems to be much easier on a Linux distribution than on OSX.
And that's not even talking about general issues like:
* incredibly flaky bluetooth drivers, often requiring a full restart to fix, if not having to reset some weird hardware bit.
* My laptop randomly not waking up properly from sleep and requiring a restart.
* My laptop randomly beach-balling more often than I ever saw BSoDs on windows.
* OSX seeming to just run really slowly compared to Linux whenever it is stressed in any meaningful way.
* My laptop's wifi not working with random wifi endpoints, such as at the airport or hotel. Whether it's router software bugs or OSX bugs, I am always able to connect just fine on my windows laptop.
* Having to deal with OSX's incredibly outdated userland and its BSD-specific userland. Yes, there are workarounds, but they are generally a pain to figure out and have not been standardized in our environment in any way.
* For a few months my OSX terminal was SEG-faulting about twice a week. I learned to be very grateful for screen/tmux during that time. At some point Apple seemed to fix it, at least.
At $lastjob we were actually developing a Linux service that relied heavily on Linux APIs because it was essentially creating full-on Linux containers like Docker. Before I joined, the previous developers, all big apple fans, were actually going through the tremendous effort of trying to make the service at least build and run on OSX, even if it no-oped most of the things it did.
When I joined, one of my first acts was to completely remove OSX support for this service, and I promise you that life got way easier ever since. Our development processes got simpler. Our build system got simpler. And most of all, our source code got simpler and easier to read.
Granted, most of us aren't developing software that directly calls into Linux APIs, but even then I think you'll find huge productivity wins if you just use a Linux laptop or desktop, assuming everything else is equal.
I haven't used these two in particular, but if they support flatpak, why not? You'd have the same packages as on the server plus the latest versions of GUI apps.
But first of all development without docker is much faster. Setting up a docker container takes some time (especially with a custom built apache server).
Secondly running a docker machine (needs a Linux VM) on mac in parallel to Vagrant (I have to use it too) is CPU taxing as both (docker machine and vagrant) VMs take a lot of power from main CPU.
Add to this constant port conflicts and network paths resolutions issues between different docker containers and hosts. Also it forces me to use Oracle Virtual Box (who likes Oracle ?) These little things all add up.
My point is that what should be a trivial task, is not so trivial when deployment is done on one platform and development is done on another. I agree with original comment that it probably makes sense for industry as a whole to switch to Linux development workstation instead of Mac.
The only reason I use Mac besides it is a company policy is because OSX somehow able to render better fonts. My eyes are getting tired after looking on poorly rendered fonts from Linux machines. If you use Mac and want to see how Linux fonts look like - install SeaMonkey browser. It turns off all proprietary patented algorithms available on OSX and renders fonts exactly as on pure Linux where due to some licensing issues many nice font rendering technics are disabled.
I don't, because docker is a buggy, embarrassingly-poorly-designed system and VMs are a pain. I develop on the same system I deploy on: Debian stable.
> And even when you have only one project, who wants to run debian stable or centos as his main OS?
I loathe CentOS, but I love Debian stable. It's a wonderful, solid (one might even say … stable) system. Why wouldn't I want to run it as my main OS?
One of the things I really hate about our development culture is the cult of the new. It's a good thing to use stable, well-tested systems. Let others find the bugs; I'm happy to get work done.
In 2011 I switched to macOS due to my job and I have never had to deal with any of that. Ever. Perhaps the Linux laptop experience has improved significantly since then though.
Furthermore, there was no hardware nearly as nice as Apple laptops on which to install linux. (Yeah, other than Apple laptops, but I felt like I didn't have the money to justify that).
However I of course agree with your points regarding Vagrant/Docker and shell scripting. It is a shame that MacOS could not be based on Linux.
If you want to run Linux on a laptop and get the best experience, a Mac is not the best option. Thinkpad (business class X and T series) is what you are looking for.
Are all the VM's exactly the same
Can you 100% prove that the vm behaves identically on all the varied hardware.
And no "professional" would consider "Everybody likes something different" is ever valid for a paying job!
No problem if its a hobby project but on a project with even a small number say 5 or 6 the risk isn't worth it.
> Are all the VM's exactly the same
Is the silicon die on your processor exactly the same as everyone else on your team? If not, you're not a TRUE professional.
> Can you 100% prove that the vm behaves identically on all the varied hardware.
No, but I also recognize that I (and many other devs) are not writing space shuttle / train control / self-driving car software that is responsible for human lives. If I were, I wouldn't be advocating for the style of development I mentioned above. That is a different situation which I imagine most people on this site are not dealing with.
> And no "professional" would consider "Everybody likes something different" is ever valid for a paying job!
What does this even mean? Of course it can be "valid" for a paying job. There are literally companies out there who offer different OSes and machines to use for a job and the developers get paid. You get to deem they are not "professional" because...?
> No problem if its a hobby project but on a project with even a small number say 5 or 6 the risk isn't worth it.
The risk doesn't lie with the number of people on a project but the scope of the project itself: basically, can human lives be impacted in a significant way if a dev screws up? Then yeah, there are better, more rigorous ways. Are you writing a web app, a desktop GUI, some CLI tool, or perhaps...the Linux kernel? Then develop on the machine you like! Have a good review process, set up CI to build for the platforms you support, and implement a good set of tests.
Of course I have worked on projects where all the test dev and live hardware was explicitly brought from the same production run so the hard ware was identical down to the rev no of the pcb's - our hardware guy would have liked to have all the disk also from the same production run.
If you are Python developer, install specific version your project needs and use that. Same for any other language.
Not sure what you mean by outdated compiler? For what? C, C++ etc are distributed with Xcode and clang is usually standard compliant and recent.
BASH is the only problem. Newer BASH versions switched to GPL v3 and Apple will never upgrade to that.
My personal solution for that is to disable system integrity protection, build latest bash and install in /bin.
This way most scripts that have #!/bin/sh or #!/bin/bash and rely on new BASH features just work.
Not sure if you're asking about "Apple" software (eg from Apple themselves), or OSX Software.
Personally, I miss Affinity Designer, and SnagIt. Both OSX applications I've paid (though not made by Apple), and which have not-as-good-to-use equivalents for Linux.
I still find myself switching back to OSX when I need to get things done using them. Rare now, but still happens.
What was so obvious that after checking out the options, I bought the wrong hardware?
Of course it is a matter of taste. I get that. I still have to bite my tongue to not yell profanities whenever I hear anything about productivity and Mac OS.
Most of the time I keep my mouth shut. Now I just wanted to tell you that you are not alone. I have to use Mac OS at work. To avoid frustration I have started to let my soul and will leave my body before logging in and let my lobotomized shell I left behind just go with the flow. At least until Emacs is running full screen.
Yes, macOS has a terminal emulator as well.
> I never found out how to be productive in OSX vs what I can do in Windows.
Open Spotlight, type in "Terminal" and hit return.
Windows is the slowest of OSes, see http://www.bitsnbites.eu/benchmarking-os-primitives/
As for writing software macOS is nice since it is quite close to Linux and does contain a lot of the UNIX-thinking.
Windows is, IMHO, a user experience mess. Mac is more gentle and aimed to be simple and useful for everyday people. Windows feels like it was designed by a lot of different groups that in the end glued their pieces together in order to ship it.
You know what's even closer to Linux?
https://developer.apple.com/videos/play/wwdc2017/102/?time=2...
Maybe the developer in question would have been better using a manually created VM or WSL?
Not to mention, the windows environment is completely different to linux and OSX. Until x64, they had a different calling convention. On OSX and linux, also until recently, I could use the same compiler for both platforms and still be supported by the platform vendor.
All of these non-trivial differences make it a lot more resource-intensive to support a codebase on windows that already runs on Linux and OSX. Asides from my work VMs, I don't even have a windows device that I could use for development. So to me, it's no surprise that most open source projects don't build on Windows.
Also, mingw and cygwin also exist since late 90's.
OS X tools are kind of included on Apple's hardware price.
Apple hardware costs in many countries is similar to average PC + VS License costs.
As for mingq and cygwin, most regular people don't have it installed and configured. And cygwin and mingw are not _platforms_ which receive first party support, as unfortunate as that might be.
It was pure pain. Especially when the boss kept asking me what was taking so long (it's just a recompile right?).
500 € PC + Visual Studio vs 1000 € Mac.
All projects are ultimately created to scratch somebodies itch. If it doesn't work on windows out of the box that isn't their use case. What you are wondering is in effect is why people don't pay money to purchase a windows license which will ultimately fund a bad and evil company in order to enable the projects software to run on an inferior OS that the dev doesn't run or care about. If its not end user software for desktop users it doesn't even have the positive effect of enabling a substantially bigger group of potential users to benefit from the software. For anything server related they are either already running linux or can as easily run a linux vm as a windows one.
Further the users who would benefit will by and large buy a license if the software is non free but probably wont contribute anything but complaints phrased similarly to the support requests they would make for paid products that had failed to perform adequately.
I suspect that it was on the local tooling side that things fell apart for this Windows developer, if he was grabbing a project mostly built on Mac or Linux.
A lot of popular dev tooling built around web technologies (node, Ruby, PHP, etc) isn't as mature on Windows as it is on MacOS or Linux.
My source on this is me. I have a Mac and a Windows box at home, and I've had projects fail to set up and build on the Windows machine for these reasons.
It's very nice to give end users the option - when I joined, I asked for Linux and was given a brand-new Dell XPS with Ubuntu pre-installed, root access, and told, customise it to suit you. I keep that spirit with my users.
Throwing Windows into such a setup is a nightmare though - two users actually installed their company laptops with their own personal Windows 10 licenses without my knowledge or approval - I still hold a grudge because I had to actually read the MS EULA to make sure they weren't about to cause trouble! It means I can't manage them (I have no real tools to do so on Ubuntu), so they're on their own for that. Fortunately management has my back, declaring the company to be a *nix shop.
Our actual product is all containerised so it should run anywhere.
Ansible works pretty well for managing Windows machines but it requires a little bit more up-front setup on the Windows side and as always YMMV depending on what you're trying to do.
Not that many years ago that was the same reason IT departments would give for only giving people Windows machines.
This is part of the reason I basically refuse to customize anything on a new linux machine; my needs are already weird enough that I'd rather just adapt myself to the defaults for everything else.
Remap the sequence "jk" to escape, you don't even have to take your hand off the home row to exit a mode.
Ctrl to Escape
Escape to Caps
I mostly use Ctrl-[ for Escape. I have a lot or weird Ctrl bindings. Not an emacs level of Ctrl bindings, but enough that I use this particular rearrangement.
You have to love Emacs and Vim users.
Quite sure Apple's world doesn't revolve around the needs of such a small user base.
No issues.
To those who haven't: Give it a go. Put Escape on Caps lock. If you've got Control there and you're running Linux or Windows with a standard PC keyboard, you probably actually want to swap Control and Alt. If you haven't, you probably want to swap Control and Alt anyway. (This will give you bindings similar to the Mac's Command key. The thumb is a much stronger finger and far more suited to these combinations than the weak pinky.)
That feels like a fair solution.
This is a huge improvement over when I started developing and was forced to use Windows.
I think it would be cumbersome to say the least...
* Would you have to install through the app store gui?
* How would it manage dependency chains and conflicts (system ruby vs local ruby)?
* How about explicit paths or build parameters?
* How would it handle different shells?
I know other operating systems do this but I've never liked it... I guess I just don't mind installing and managing command line/developer tools from a terminal window ¯\_(ツ)_/¯And, with all that said, I have a quite a bit of negative sentiment towards Apple lately for their hardware and platform choices. So I would still say, it's not a developer-centric platform (the Mac)...
Possibly or not. Ubuntu gives me both a gui and a command line option for apt. Thinking about being able to type "app-store install openssh" gives me goosebumps.
> How would it manage dependency chains and conflicts (system ruby vs local ruby)?
First, that example is a problem for ruby, not for the package manager. Second, software can be in the store statically compiled. Third, apt handles dep management really well. Perhaps that's something apple can learn from?
> How about explicit paths or build parameters?
This is a solved problem in ubuntu.
> How would it handle different shells?
Again, this is a solved problem.
> So I would still say, it's not a developer-centric platform (the Mac)
The question I have is if we deploy on linux, why are we using a mac to develop software on?
The sad thing about linux is that as much as I love it and its ecosystem, i cant recommend it to anyone who wants things to "just work":
- X and wayland crash on me all the time on this laptop because of its HiDPI screen and my kinda-works-but-is-wonky fixes to work with multiple monitors.
- Hardware support is the best its ever been, but graphics cards, wifi, exotic devices, laptop power states and embedded devices can still be a pain because manufacturers simply dont care.
- desktop applications can still be a little glitchy, Web browsers work fine, as do first party DE apps, but the more you get away from things which arent in the big name gui toolkits and have custom controls and behaviour, the more problems you seem to run in.
But aside from all that im happy here in ubuntu. When your software library feels as easy as picking a book from a shelf and 90% of the system updates by the update manager and says "hey restart when you feel like it" Im quite comfortable.
If you look Apple ship a modern version of ZSH with their OS, I believe because it isn’t affected by the same potential licensing issues.
Everyone else will buy consumer oriented devices that are as open as the ipad.
It's not a bicycle for the mind its a train and if you dress appropriately and pay your fee you may set up a concession stand on the route.
With various linux package management systems you have multiple interfaces to the same same system thus you can at one moment use the gui to install foo and having closed that you can fire up your favorite terminal and run install bar.
* It'd clutter the app store and force developers to use the app store and whatever approval process they decide.
It also has a concept that neither Microsoft Apple nor Google has opted to pick up on because they desire control of their platform and to extract a substantial tax on all software sold on same via such control... sources also called repositories.
Linux package management systems draw from not a single centrally managed source but a user editable list of sources. Each source is free to run with their own set of requirements. There is nothing requiring a hypothetical dev tools source from being any more restrictive than whomever maintains the source used by homebrew.
Further packages can actually contain sources. It would be entirely trivial to package up a source of dev tools as a package and allow people to install that via the front end of their choice.
* How would it handle different shells?
Different shells is probably the simplest answer the arguments to a hypothetical install command would be simple text strings. If the argument command includes characters that the shell considers special characters they would have be escaped or wrapped in quotes like any other combo of shell and cli tool. Generally most package names just don't include characters like ([])$\~`'" in the name and most commands don't require any particular special attention to shell escapes.
* How would it manage dependency chains and conflicts (system ruby vs local ruby)?
* How about explicit paths or build parameters?
These are implementation details that don't go away by exiling developer tooling to officially unsupported channels. For example language specific package managers will probably remain a thing but it would be vastly easier if you could do officalmacpackage install developerrepo then officialmacpackage install cargo|node|whateverfloatsyourboat then use that to deal with whatever.
All your concerns are basically lack of experience with more reasonable systems there are zero good reasons not to do this. There are literally no downsides other than the work required for an official solution. However it seems vastly unlikely that we will ever see such a thing.
The logical endpoint of Apple's vision seems to be 2 classes of device. One with a very high introductory price and annual maintenance that allows you to create and run whatever you like so long as such software is distributed via blessed channels and you tithe the required 30% to apple and more reasonably priced but still expensive devices that only allow you to consume software.
The former will come with xcode and technology to deal with apple approved languages. You will be able to play with other tech on your local devices but it wont be able to be distributed to end users.
The latter will be as open as your ipad is now.
https://www.patreon.com/homebrew
(I do not participate in Homebrew other than as a user.)
“How dare they inject advertising into a critical command line tool that I use to get paid money!”
“It’s inexcusable to promote your own financial success when someone types brew upgrade”
“No doubt they’re blowing the money on burrito delivery in SOMA”
“I’ve been a $1 Patreon since they launched three months ago and they haven’t implemented my favorite wishlist feature!”
“If they can’t do it for free, they should give up and shut down and let someone fork it.”
From memory of speaking with an ex senior-Apple-dev-person, Apple doesn't support any 3rd party Open Source projects nor Communities. eg Homebrew, or even the software they bundle in their OS
Any license with a Patent clause or Tivoization clause will be verboden. As an example you will never get something that depends on Postgres in the Apple store.
Other types of developers were a kind of nice to have regarding sales, but no longer relevant.
If you do anything else than UI scripts, I would agree with the above and say you are better off with a linux box.
When you get into plumbing, I feel like there are better alternatives.
1) There is a lot of cargo-culting around the MacBook because hurr durr Windows is terribad (though, to be fair, Docker does work better natively with OS X than Windows, even under WSL), and
2) Most companies give their developers the choice of a MacBook or the shittiest Windows machines known to man (because of irresistable volume deals from Windows OEMs). I bet the spread would be more even if companies were willing to offer the Surface Book as an option. This laptop is nice.
https://www.consumerreports.org/laptop-computers/microsoft-s...
Archived at https://archive.fo/sBiUK
Most of issues people have with Windows can easily be explained by low quality hardware. If you need a decent laptop, you're looking at price tags above $1000. Depending on where you live, I wouldn't buy a Windows laptop below $1400, if you expect to be happy with it.
Honestly Microsoft should take steps to prevent the sale of Windows 10 on laptops without an SSD and at least 4GB of RAM. That would help the Windows brand tremendously.
Docker for Windows doesn't exist for Windows 7 (still used in a number of enterprise environments). You're stuck with Docker-Machine in that case.
Many companies don’t allow mac purchases, even for developers.
Apple creates their products for a specific customer (which covers most of population looking at its popularity among people, who have enough money to buy their products), but not for me. Using Macs or iThings feels like using devices which aren't design for my workflow.
Macbooks are well-built, but they are optimized for Mac OS. Dells and Lenovos are good enough for me and work nice with Linux. I like physical buttons and keyboards which are... well, hard to say what I don't like in Mac's keyboards, but they are not going well with me.
It is almost absurdly bad. The only OS that still hangs, freezes, and crashes regularly. It is like Windows 98 quality wise and seems to get worse instead of better.
The whole UX is also insane. Every feature is hidden behind some obscure keyboard shortcut that you have to google or you just get used to working with this useless toy os.
The terminal is garbage. Everything is slooooow as fk (typing, mouse, etc).
It is shocking that the internet industry has standardized on working on this garbage when they run Linux on their servers and would be far better off developing on the software they actually use.
It just demonstrates the cult mindset and horrible lack of real technical proficiency in the industry.
Tell that to my Windows 7 box. It crashed last week because I tried to copy a PNG on the desktop into an Outlook e-mail message.
(IT still hasn't cleared Win 10 for company-wide deployment)
FWIW, according to the old Human Interface Guidelines basically everything was supposed to be discoverable via menus, and then has the keyboard shortcut right there in the menu.
The keyboard shortcut System Preference pane lists additional keyboard shortcuts, and lets you easily change them system wide. But yes, granted, searching online reveals quite a few more shortcuts.
I'm just wondering how Windows or Linux are better in that regard in any way??
Why would it matter to you, as a customer, what chip is inside your computer? As long as it can run your programs, why do you care?
See also: Microsoft and Windows on ARM
1. Getting packages with apt on ubuntu without installing homebrew. It's vastly simpler and natively supported by ubuntu. I can also update my entire system with sudo apt-get update && sudo apt-get upgrade.
2. Native docker support.
3. On mac, I always ask the question whether something is ctrl-c or cmd-c, say. On linux it's always ctrl.
4. I don't have to login to the apple store to get the software I need.
5. Linux has always been command-line first. On mac it's always been GUI first.
6. Macbooks are terribly built, and fail for a number of reasons. [1]
7. The Apple brand, while it used to be one of homebrew is now akin to one of fashion. It's kind of like seeing all the kids walk around with their "Hollister" t-shirts on.
I could go on I suppose but those are the meat of the issues.
1: Louis Rossmann's macbook repair channel. https://www.youtube.com/watch?v=sfrYOWlKJ_g
4 - i cant think of a single application, outside of maybe xcode, a developer might need to sign into the app store for
6 - whatever reasons that youtuber might have for not using macbooks, i will never buy a non-mac notebook ever again. this 2013 13" mbp has been the best and most reliable computer I have ever had in 30 years and I bought it used!
7 - sure the apple brand is cool but i don't get your point? doesn't it mean that you care about the branding so much so that you won't use it? do you see where I'm going?
He said nothing about "fine". Docker on Mac is through a VM and thus not native. Containerization in MacOS is impossible without a VM.
I will add that the usefulness of seeing the containers PIDS in ps and other tools is more useful than most mac/windows users realize.
xhyve died on the vine it appears, but did make things a bit better.
Pro-tip: If you spill water on the keyboard, shut the MBP off immediately and send it in to the apple repair shop to get cleaned. If the MBP is on while there's water on the logic board, rust will form, either short circuiting chips, or rusting out the copper traces.
7: Apple used to be an amazing technology company giving the world wonderful computing devices. Today, it's a fashion accessory company. Mac OS doesn't run in the cloud. It is not the core OS that runs our infrastructure or space programs. And lastly it doesn't capture our imagination anymore. That throne has been passed to Elon Musk with Tesla, SpaceX and Hyperloop.
I knew they are fragile, I didn't know that using the actual cpu performance for more than a few minutes is a problem.
Lol, nope. At the job I just left almost all of our team had MacBook Pros. We ran our entire dev stack with docker-compose and wasted so much time dealing with broken docker crap that ultimately stemmed from the fact that you're not running docker natively, but rather in a VM.
I wish I could still query the Jira database. I could throw out tons of specific issues.
Unless you want to copy from the terminal, where it is ctrl + shift + C.
GUI menu shortcuts are invoked with Cmd, and that includes copy/paste.
CLI shortcuts work as always (and there's no overlap, because of the extra Cmd key).
That said, I do most of my heavy lifting on the Mac, and all primary dev on a Mac. Doing the equivalent tasks is a chore in Windows. I used to be all-Windows, but once I understood that MacOS is file-oriented and not program-oriented, it helped a lot.
This has always seemed to me to be a species of "file oriented" working, and I prefer apps that run in a file oriented way. For instance, a graphical file manager that shows a folder in a window, and you click to get open an item in the folder you so always get a new window - even if it happens that the item in folder is just another folder that is opened by the graphical file manager. Or office apps which always open each document in a new window, and when I close the current document, the only thing I notice is that the current document is closed - it doesn't try to focus some other window from the same app.
But Mac OS has always seemed an almost perfectly application-based interface with its fully application-based dock and it's application-based global menu (close a window for a file that was loaded by Cool App, and Cool App's menu still shows). I think it's Finder is a bit confused: it used to be mostly file based, at some point in the OS X years it got more and more application based but perhaps it's swung back - it's been a few years since I've bothered trying Mac OS. It had some of the most appalling virtual desktop support when I last used it, that made me think "the people who have implemented this only work in an application-based way". I can only imagine that's got better. But it seems that Mac OS is always: application-based workflow is prioritised, file-based workflow is secondary.
I have found that Linux can[1] excel in this workflow, Windows is ambivalent to all workflows, supporting all of them badly because it supports none at all, and Mac OS prefers you to think "what tool am I using", not "what task am I doing".
Is my experience entirely unique?
[1] i.e. it depends on what particular tooling you're using - it's possible a default setup is appalling.
I have Kubuntu at home and a 4k screen, and also at work with a "3k" screen. I don't do development at home, but the general desktop works fine.
I use both a Mac and an Arch Linux running i3/awesomewm, and to me macOS is like any Linux distro with a user-friendly desktop environment.
I guess it doesn’t have an « official » package manager, but homebrew has most packages anyway?
For a lot of people that don't care the differences are largely subjective and the difference between Ubuntu, for example, and macOS are largely academic and aesthetic.
A large factor in this is that I like to contribute to FOSS and find that 'ideology' to be a match with my beliefs regarding software.
This is really not the case with Windows or Linux. These require a lot of tinkering and tuning. A recent swap from one Windows 7 machine to a Windows 10 one took days, the migration procedure is basically garbage.
I've never had much luck with desktop Linux even though I use it all the time on servers but those get rebuilt with a new OS when they're out of date. Upgrading them is just too much of a fuss.
If you've got a workflow for keeping desktop Linux up to date and rolling over from one machine to another as you upgrade hardware, that's worth sharing.
Switching to a rolling distro will eliminate the upgrade pain. Keeping dd backups is also relatively easy.
And unless you're on a custom kernel, you can just roll over to a new machine with your image and the appropriate kernel modules would get loaded for the new hardware at boot.
Stable, long term, OS support. I'm running CentOS 7 x64 now, as I got completely sick and tired of Apple's "new OS release every year" bullshit.
I feel like Apple provides a computer and OS that are user-friendly to the general population. But it also seems like the whole culture is "No, don't do it that we. We've provided this method as the One True Way."
$ brew install gnome-desktop
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 3 taps (caskroom/cask, caskroom/versions, homebrew/core).
==> Renamed Formulae
php70 -> php@7.0
Error: No available formula with the name "gnome-desktop"
==> Searching for a previously deleted formula (in the last month)...
Error: No previously deleted formula found.
==> Searching for similarly named formulae...
==> Searching local taps...
Error: No similarly named formulae found.
==> Searching taps...
==> Searching taps on GitHub...
Error: No formulae found in taps.Most of my concerns with regards to the OS I use has to do with the stuff I do 10s or 100s of times a day.
Because it's part of the answer to the question "How is package management via apt any different than using homebrew?", and (I think) supports my assertion that Apt is more of a piece of core OS functionality than Brew is.
I love apt, but I have no philosophical stake in the game. Both allow me to install things from command line. In that respect, they are functionally identical to me.
Then once a quarter or half-year, I need to do an OS upgrade, and then I use two different systems depending on platform (I use both regularly). Let's say one takes 15 minutes and uses apt, and the other takes 45 minutes and uses App Store.
Then I amortize that over the preceding three months, and in both cases the attention required, confusion created, and effort expended approaches zero rapidly, regardless of system.
Like I said, if you're a system admin, then sure.
Because updating Arch is about 100x faster than updating a Mac to a new version. The loading bar looks nearly complete and then "About 17 minutes remaining."
perf, case sensitive file systems, non stupid alt-tab behaviour, strace, pstack, gdb (these don't seem to work without sacrificing animals), gnome-shell (better than finder by a long way, imo).
I've got a mac. I don't install programs except for things through brew. It's basically shitty linux with outlook.
You can have a case-sensitive position. (Separate from root so it doesn't break some apps)
https://apple.stackexchange.com/questions/193368/what-is-the...
You mean UTF-8?
>It's basically shitty linux with outlook.
Linux is shitty Linux. Except on the server. (IMO, of course).
But on multiple desktops if you alt-tab to the previous application again, it only brings up the application windows in the current screen instead of bringing you to the last window you used (on another screen). Wrong! Broken! Sad!
Also, on mac alt-tab raises ALL the application windows. So if you have shed loads of terminal windows or loads of browser windows open, then alt-tab brings them all to the front. This is definitely broken since it stops common workflows like copying between windows; or finding some text that you want to type into a terminal and then alt tabbing to the terminal only to have the screen covered in terminal windows. SAD.
Mac is low energy (That's the reason I think I have it for a laptop).
However, agreed that on a Mac with multiple "spaces" it's completely broken.
Sorry man, but you’re doing it wrong.
And the Mac file system is case sensitive.
For one, you largely don't pay strategy tax, which is under discussion in the very title of this submission.
Also UNIX underpinnings on macOS, just like on NeXTSTEP, was just a mere convenience, the OS culture was never about crufty CLI programming, and many that only jumped into Apple after OS X have not yet grasped it.
You know what I ended up doing after nine months of this crap? I switched back to my trusty old 15" MacBook Pro. The backlight is dying, but it works a lot better for me than Windows or Linux!
I could make do with an older computer for Office and Outlook.
This is what I have is used since 2016 as my personal machine. Comparable in price to a MacBook Pro and easily outperforms a MPB. Specs on mine:
Intel CoreT i7 6700HQ (4 core s, 3.5GHz)
16GB RAM
15" 4K Display (1080p is standard, I upgraded. No regrets).
GTX 970M
256 GB SSD (system drive) + 1TB hard drive
Installing and running Ubuntu has been a breeze.
Like a MBP it has an aluminum body and weighs less than 4lbs.
Expensive SDKs? You should have seen UNIX compiler prices before GNU and BSD actually mattered.
Don't try to use non-UNIX OS as if they are UNIX and the experience will be much better.
I was a C# developer as recently as 2017, and I'd say that I prefer Windows 10 to OSX as a development environment, but going through your points:
* Upgrades are handled by the system administrator at most companies, so it's unlikely that automatic upgrades will be set up if you've got anyone remotely competent handling your IT. * I can't say I've ever seen an advert when working on Windows. There's some Cortana crap, but that takes a few seconds to click away, and you'll never see it again. It's no different to your standard desktop setup for OSX or Linux. * If you're a .NET dev, it's extremely unlikely that you're paying for the OS or the platform, in the same way that you're not paying for OSX. Admittedly, Microsoft tools take an age to set up, but the latest versions of .NET and Visual Studio are much quicker - if anything, I spend far more time upgrading/installing stuff on OSX. Hell, sometimes setting something up on Homebrew will take longer than a standard Windows installation for a given tool. * I'm yet to see a Windows machine, outside of a brand-new one, set up without the necessary .NET framework. If it's not on there, Visual Studio will install it for you. Again, not an issue. * Not sure what you mean by build tools and a default compiler - IMO building/compiling is ridiculously easy for .NET apps, either through the command line or through Visual Studio.
In my view, as someone who has worked on all three sides (OSX, Linux (Debian), and Windows) I'd say that Windows is just as capable as the other platforms for its main use cases. Where Windows struggles is in its differences. It's a very different experience, and people from each side struggle to make the switch, and it's a switch where you feel that you can run before you can walk at times. You have your own way of doing things efficiently, but even though you're looking to do something similar on a different stack you're using entirely different tools.
I had so many issues with Mac and all my Linux devices just work flawlessly for years without issues.
Finder is garbage compared to Windows Explorer. OS hotkey navigation is much better on Windows and GNOME/KDE/Fluxbox/xmonad. (I actually miss using xmonad; it was soooo good at this.) Office applications (still very real in a lot of environments) are mostly awful on the Mac. iTerm2 is fine, but I prefer PuTTY. Starting applications by their binary name with WIN + R is better (for me) than trying to find them within Spotlight. There are other little enhancements that I prefer Windows over to OS X, but I'm not remembering them right now.
I also hate the new MacBook keyboards. They take "getting used to," i.e. typing "lighter" than I'm accustomed to. Also, not having USB-A ports and requiring a 90W USB-C to USB-C power brick (i.e. not being able to charge the thing from common chargers, the most lucrative reason for using USB-C, for me) is garbage.
The one thing I like about OS X is that it's a BSD with GNU utilities built in. The thing that I don't like is that it's not a Linux and many of the dev environments I've worked in run on Linux, especially now in the age of Docker. While that's good news in that it forces me to do almost everything within Docker, it's bad whenever I need to maintain parity for whatever reason.
Also if an app doesn’t have configuration of hotkeys you are screwed. On Mac hotkey config is OS wide.
The command console experience on windows is horrible.
Office apps are better on Mac. Pages, numbers and keynote offer me a totally superior experience. The ribbon interface on Windows is a disaster. You spend too much tome hunt around among a zillion incompethensible icons.
In fact I do GUI design at work and use MS Office as an example of how to NOT design a UI.
Not sure why you complain about Finder. You got plenty of alternatives on Mac. I use Terminal and Finder a lot in combination and they interact with each other a lot better than on Windows. E.g. does windows have an “open” command yet?
It's been there since forever (Win95?).
start (without parameters) - open a new CMD window
start . - open an Explorer window of $PWD
start <DPATH> - open an explorer window of DPATH dir
I do find Finder to be inferior to explorer in almost every way. That tree pane on the left is too useful.
Yes, you can buy a 3rd party replacement with the hassle of deploying and maintaining on multiple machines, if you have them, but my main complaint is what decades of not caring about the most fundamental of all Mac apps (the only one you can't quit) implies about Apple's strategic attitude toward the Mac overall.
For those of us who find the Mac the best pro dev platform, the implications are not good, because what we tend to like about it (desktop unix where all the client stuff just works) is just a historical accident that Apple would not create again and does not intend to maintain longer than necessary.
Rather than make the Finder more powerful to make the Mac better for serious users, Jobs took the approach that people who couldn't understand the difference between a file and a folder were the real market for Apple, solving the problem by creating iOS with no user view of the file system at all.
This turn from computer company to fashion accessory for those who don't care about computers per se was so successful as a business strategy that I can hardly criticize it. It just bodes ill for those of us who like the Mac for features its only supplier wants to be rid of.
Each time Apple has an event where Cook pointedly emphasizes that the iPad is "what we at Apple see as the future of computing", I google for an update on the current state of "best desktop Linux distro".
When I transitioned from Windows to Mac, 13 years ago, I needed some adaptation time, especially with Finder, but in the end I found it powerful. The main issue coming from Windows Explorer is that basic Explorer workflows such as copypasting don't have a Finder equivalent.
Having been a Finder user since my 128K Mac in spring, 1984, I've had adequate time to get used to an application that hasn't improved in even the most obvious ways for going on two decades. It's fossilware.
Why would losing focus on one window be a problem?
Why would you need to create all these directories in multiple parts of the tree?
I can't quite comprehend what sort of work flow of work you do which require these things?
Perhaps I don't see it because I use the Finder and Terminal a lot together. I don't use one exclusively for very long periods.
But I am curious what you're workflow is like, because I see a lot of Finder hate, but don't really get what people's problem are, and how they are using Finder which is causing them so much problems.
Finder also supports tree view you know. OTOH does windows have as good filtering tools, smart folders, labels etc?
Alt + Enter (since Windows 95, at least)? You can find it in here: https://support.microsoft.com/en-us/help/12445/windows-keybo...
Numbers excel at what a spreadsheet application should be about. Once you get very complex sheets you are much better off using more specialized software such as DataGraph, R, Julia, Matlab, Numpy, SAS
Is what i generally use to open applications. I never use spotlight
I use Linux at work daily but miss my mac. It is much more unstable and unpolished. The app selection is really weak and the integration between gui and console is weak although better than on windows.
Windows is an utter mess these days as Microsoft is jumping between so many different UI paradigms.
I could not care less about "freedom" or these other philosophical aspects of Linux.
Plasma is just straight up amazing on every level.
In addition because mac use commad+C, command+V for copy paste rather than ctrl+C and ctrl+V as Linux and Windows, you feel no different working from a CLI than from any other app. You don't have to mentally jump in and out of two different ways of working.
This extends all the way into GUI apps. Typical CLI commands keys work in all mac GUI apps. I can use readline keys such as ctrl+a, ctrl+e for moving the cursor e.g. Works even in office apps like Keynote and Pages.
It is very frustrating to not be able to use these Unix conventions on Linux!!
There are lots of little things like this which makes a superior experience IMHO.
Dragging a file into Konsole (KDE's terminal) gives a menu with the options "Copy here", "Link here" and "Paste location". Seems reasonable.
Dragging a hyperlink or image from Chromium gave the same options. "Copy" downloaded the file, although set a timestamp in 2106 for some reason. This doesn't work from Firefox.
Dragging selected text pastes it in.
"see ." opens the current directory in the file browser thing, "see thing.odt" opens LibreOffice, "see my.pdf", etc. "see http://example.org" doesn't work, although I can right-click the link to open it. (Naturally, "alias open=see" if you prefer that word.)
I set a custom shortcut for Konsole for "Super+C" etc (Windows/Cmd key), but I don't use it very often. I mostly select + middle click to paste, which is a Unix convention I miss on a Mac! The readline keys are nice, they seem to work about 80% of the time on a Mac, and I haven't found a way to get that working in Linux.
My "lots of little things" favours KDE. Properly maximizing a window, having a "keep above" button for any window, focus-follows-mouse, and the general feeling that the computer does what I ask in a boring way, not what it thinks I want in a stylish way.
To be honest, Mac does many things really differently. Yes it feels and sounds like double-think, but I do everything differently from my Linux desktop, and I can do the same things at the same speed, if not faster.
On the average, I use them equally, and can do the same thing on both.
One footnote is, I do not install anything via homebrew or anything massive which installs into depth of the macOS. For these stuff I have a Linux VM, which is fired up rarely.
Anything I do today (everything from Intel microcode, x86 assembly to C/C++) happens on macOS simply because I can do every single thing I need to in one place. Most devs I bump into that really hate macOS have no idea it is really just (open source) BSD with Apple's oddly unique visual facade. There is literally nothing I can't do on my Mac even during the times I run Visual Studio, VTune, etc. I also find it amusing when devs tell me that macOS isn't as customizable as Windows. Sure... sure... ;-)
There's no way to run userscripts/WebExtensions on IOS. Your device is no longer a user-focused tool to access media, your browser is closer to being a "smart tv" than a customize-able information explorer and augmenter essentially controlled by no one.
You're giving up an awful lot for the sake of convenience, trends that if amplified could irrevocably change the character of the Internet for the worse.
I also don't get what's missing from a modern Linux desktop, especially since nearly everything is on the web these days.
Adobe software, for one.
EDIT: These all seem to be .NET development? I use Visual Studio mostly for C++... for that would you recommend CLion?
1. Artificially long delay when I hover on variables before I can see their values. This drives me insane.
2. I can't view the "raw" values of a variable; I can only see whatever it decides to show me. (So if there's an std::string, I can't examine its fields; at least not by default, if there's any way.)
3. The first time I tried running the debugger, the process stays hanging in the background. I couldn't kill it; I had to manually detach it from the debugger. This was literally the "hello world" example it came with.
4. The completion database for their hello world (all it includes is <iostream>) took quite a while longer than Visual Studio's did. I can't imagine what it's like for actual projects.
5. It initially told me I can't debug because I didn't have a project? So I had to reload the CMake project. This makes no sense.
6. There seems to be no filtering of private variables that I can't access (in the completion UI)? Maybe I'm missing something here.
7. There seems to be no obvious "immediate mode" in the debugger. I'm not well-versed enough to know if GDB has this feature, but regardless, whatever you have to type into GDB to get this feature would be more painful than in Visual Studio (where you literally just type the expression into the Immediate tab and press Enter).
8. Even the cursor hiccups repeatedly. Not that Visual Studio's is perfectly innocent in this regard either, but CLion's stuttering is far more pronounced, far more frequent, and far less excusable (see https://imgur.com/a/Huo2V).
This is just after a very quick use. It seems to "work" in the same way Eclipse does -- the functionality is "there" (maybe even more than what Visual Studio has), but it's just clunky and doesn't feel smooth or "integrated" (the 'I' in IDE).
It's better to add bells and whistles on top of a rock solid foundation such as VS than the other way around imo.
I'm not a VS/VSCode user but I am a Sublime Text and PhpStorm user. You can debug in Sublime Text but I'm not sure you'd want it to be your primary debugger. I'd guess VSCode/VS might be similar.
And again taking Sublime Text and PhpStorm as an example, PhpStorm knows your code far, far better than Sublime Text ever would do and this makes navigating your code quicker and easier.
I have (personally) never had the desire to write/run a userscript on iOS. If my device being a “smart tv” lets me focus more on other areas of my life (i.e. projects, hobbies, and career) rather than fiddling with my tools, then that’s a trade off I’m more than happy to make.
I suspect many other people share this point of view.
There are iOS ad blockers on the Apple App Store, and extensions for MacOS Safari. I'm not sure how much more authorized it can get than that unless you want Tim Cook to hold your hand through the process.
If Google wanted to include their own ad blocker with Chrome they could - it is highly unlikely that they would want to.
Still, it's clear Chrome could offer an adblocker if they wanted to.
[1] https://support.mozilla.org/en-US/kb/tracking-protection
In my opinion, the most important branch the Web could take right now is going from transparent content to opaque content. Now I can filter, transform, organize and augment content accessed through my browser, and even remix it, all enabled by the inherent organizing of the technology, which suggests to the larger society more can be done. It's an open question though, and that technology could be changed to restrict what can be done with content.
A good ad blocker for Safari (on Mac or iOS) just uses the Content Blockers system, and provides essentially a JSON blob with a bunch of rules in it to Webkit, which will then take the requested actions (mostly block, sometimes hide elements, sometimes force a URL to https) internally - the Ad Blocker "app" never knows what sites you're visiting and is never involved in actual blocking.
- imessage (signal is getting warmer, but the integration is still lacking)
- adobe creative suite
- video editing
- audio production apps
- photo management and post processing (darktable is still garbage)
- sleep/wake and connecting/disconnecting external displays
- not-ugly fonts
Which is to say: Linux is pretty good on Macs, whereas macOS is pretty broken (after weeks of intense debugging with other Hackintosh folks) on hardware that would run Linux just fine.
That's one heck of a mental disconnect.
I’m more saying that—although Linux’s support for things like sleep/wake on random machines might be sometimes wonky, the best efforts of the Hackintosh community don’t get macOS to support those same machines any better. It’s the machines that are wonky. (Usually by having horrible off-spec ACPI tables that get patched over with drivers the manufacturer releases only for Windows.)
Which is further to say: it’s not really a failing of macOS or Linux if your hardware won’t sleep/wake correctly, or won’t connect/disconnect from external displays correctly. In either case, it’s because your machine is nonconformant to the specs the drivers were written to follow. The only way to succeed in such an environment is to spend man-decades (Linux) or at least man-years (Hackintosh) reverse-engineering the brokenness and writing heuristics into your drivers that patch over it—or by being such a monopoly player that the OEM does that for you (Windows.)
Still nothing for the creative suite except for wine though.
https://www.bitwig.com/en/home.html
I agree that audio production on Linux is pretty good these days. Ardour is a pretty good DAW. The only problems are jack being a PITA sometimes and the lack of plugins.
The reason I went with bitwig was to support anyone doing anything that wasn't quite Live because everything is made with Ableton now and I can hear it. Also the collaborative features that didn't work when I last tried them. Moving to Supercollider has solved all those issues for me. It's also cross platform and free.
A user interface that isn't ugly and laggy.
It's not like there is a defacto user interface but there are plenty of them that sure doesn't lag or look ugly!
Networking, printer stuff, graphics stuff that works immediately after installation, without one having to search for various problems & fixes on the Internet. And that doesn't randomly break after kernel upgrades.
Because of running into networking & graphics driver problems every now and then (and having to revert to older kernel versions), and problems with printers & drivers, I feel I would never never never recommend Linux to people, unless they enjoy troubleshooting things and learning new stuff.
That being said, Windows 10 is great for regular-user stuff --- really great, in fact. It's only for development that it's sometimes a little awkward, and it's really not bad. If I were working with .NET/MSSQL/IS more, I'd love it: Visual Studio is a nearly perfect IDE on a powerful machine. Debian is still better for me, though.
I think one is safer, if one use a bit older hardware (laptops and printers), because then the Linux people have had time to look into bug reports and incompatibility problems and fix them?
Nowadays when buying a new laptop, I always websearch for the laptop name + "Linux problems" or something like that, to see what bugs & incompatibilities other people have reported already. And then maybe I decide to avoid that laptop. But ... I wouldn't expect my parents or most other people to do this. Instead they'll buy a "random" laptop with new "unknown" hardware, and then there'll be a 20% ? risk that networking or graphics won't work for them? And I think they'll need help to get the printer working. ... And with all that in mind I feel I need to slightly warn them about Linux.
So, shifting it to ARM and letting universal apps in the iOS App store now run on macOS in addition to iPad opens up the mac to a metric fuckton of developers that are happy to make cross-platform apps, since the iOS app store is SO lucrative.
Apple showed, with the iPad which was a totally new product category, that the sheer number of iOS developers could push the iPad from a platform with zero apps to the best tablet in the world (with an incredible app ecosystem) and universal apps who's UI adapt to the screen they're made for.
A lot of what Apple really does is hardware integration. Let me use the hardware to run a free OS, and also take advantage of the excellent hardware integration. Let me use a free operating system, StumpWM, emacs and some nifty APIs which let me talk to the integrated hardware system.
Give me, in the words of Steve Jobs, a 'bicycle for the mind,' not a tram to nowhere.
Linux just works, sure it's isn't pretty like macOS but it let you get your work done fast, I know perfectly how everything is put toughener, there is a problem surely I can fix it in seconds, just edit some config file and done, it has far more tools for developers, if you need to install software you have the package manager, sure on macOS you have brew but it have some problems, and a lot of developer tools either don't work on macOS, or doesn't work correctly, or are similar but not the same as Linux.
In fact on my mac most of the times or I works with remote servers or with VMs on my computer, because for development work Linux it's far better.
I consider the extreme vertical integration of Apple as a bad development (Apple recently is trying to control even rare Earth metals). I like the market to be "modular", with many different vendors, making replaceable parts that fit together like in the desktop PC. And I wish for a future where I still have a choice, instead of being forced to use iDevices for everything from scientific computing to consumer media players.
There’s probably no way to support that counter-factual. We could easily have ended up with some other open-architecture personal computer and open source operating system.
https://en.wikipedia.org/wiki/Berkeley_Software_Distribution
Which of course gave us FreeBSD in 1993
Thats just one simple example I can think of. Intel, as well, was never monopolized as a chip manufacturer. They could sell chips freely to IBM competitors.
Also, the reverse engineering of the IBM platform is what made Compaq computer successful in the mid 80s.
https://en.wikipedia.org/wiki/Compaq
I don't think even a quick examination of the histories involved here would yield any other result than open hardware and software was always going to be a big component of desktop computing.
These things ebb and flow anyway, historically what you usually see is that for at least a decade (sometimes more, a lot more, and sometimes dramatically less) what ends up happening is vertically integrated solutions are favored as they bring the most harmony to the average customer of said platform ('it just works!' was as slogan of many firms, not just Apple). Then as complexities can be either mitigated or eliminated these things tend to open themselves up.
I believe Mobile devices are going through this phase. I think in another decade or two you will have a situation where you start seeing really useable open alternatives to the major platforms even though right now it does not seem intuitive or obvious how that will work
This way I hope they still will have the choice to run software they (can) trust on their own devices. If everyone would just go for the convinience, at least desktop Linux would dissapear as an option.
I have no doubt they can make it fast and usable enough for the naive consumer living inside the bubble of what relatively inexpensive(consumer grade) app-store apps can do and that microsoft will release something pretending to be MS office for a new ARM macbook line, but photoshop, autocad, mathematica(ok that one is fairly portable), AfterEffects and whatever it is the pro's use for video editing those days are a different ballgame.
We saw microsoft stumble down that path with their successfull port of windows to arm where the OS itself worked but where no major 3rd party business essential app ever got ported to windows for arm, with a lot of IT departments choosing to keep windows 7 around our of fear of what 10 would morph into until MS begun to dial back their ambitions for windows everywhere.
Im guessing that the short run result of Apple going though with OSX on arm is that a lot of the CAD and video editing heavyweights just drop support for whatever OSX morphs into to support running on IOS hardware.
AutoCAD isn't ultra optimized for Mac anyhow, it will be okay.
This transition may screw up or significantly slow down VMs of Intel-based OSes like Ubuntu.
Sure, but if we're deploying to x86 servers running Linux, then running Ubuntu on virtual ARM doesn't seem terribly wise[0] — it won't tickle the right bugs.
[0] For my money, running Ubuntu in general is a poor idea. It's not a great server OS, so it shouldn't be on the server — and if it's not on the server, it shouldn't be on the development systems either. Just run Debian everywhere.
But the Mac thrived for a very long time without x86 compatibility, and it can do the same again, virtualization was always kind of a happy accident for us anyway.
No they won't.
One thing they could run with is ARM-on-ARM virtualization, which is a more direct (heh) parallel to what they do on Intel now, but ARM hypervisors are less mature, and their practical applications, less readily apparent.
VMWare's primary market is vSphere -- and you don't run vSphere on a MacBook.
If my Steam library couldn't come with me, there's no way I'd get an ARM Macbook.
Frankly, I'd be surprised if even a game like Overwatch got an Arm port.
The problem is that you are not just porting from a low TDP atom(by any other name) chip with a intel gfx card but a class of computers that include dual Xeon systems with 2 or more high end ati cards, to something that don't really scale upwards from a macbook air in terms of raw power.
And when you remember how badly outperformed even the highest spec mac pro is compared to their competitors, who is likely still going to be around a decade from now the question is to what extend a maker of high margin niche product targeted at demanding professionals(with corporate procurement budgets) to even consider supporting the mac with anything but a simplified html5 based consumer version that lacks most of the advanced features going forward.
This may be a terrible outcome for multi-OS users, but it's not guaranteed.
I don’t really do much video, photo or 3d editing these days but isn’t that all GPU driven?
If that’s the case then couldn’t someone like Nvidia pick up the slack for Apple with a really nice external modular offering?
Given Apple's recent obsession with AR/VR, I wouldn't be surprised if the new apple architecture was really GPU first, CPU second. Apple has always loved graphics, and in all likelihood they recognize that a more parallel OS model might actually suit people's day to day needs better.
And even if you could most of the software in question is composed of countless components some of whom predates the mac itself and porting that to support anthing but the traditional big core CPU platform is not a trival thing to do, which is why the Xeon powered workstations and servers still exists and why manycore designs only really work in the supercomputer space.
You could argue that the workstation itself is a dead concept and that the future is "cloud" with html5 frontends even for video and CAD workloads* which is something autocad and adobe is likely working on as a long term strategy, but in the short term they need the workstation that post Jobs apple don't appear to to have any interest in building.
If they're talking about making MacOS more like iOS I think it might be time to start looking for the exit. A laptop/desktop is not just a portable dumb terminal for accessing siloed cloud services.
Mobile transformed the computer into a portable surveillance and addictive media device aimed at the user rather than a personal computing device built for the user. Those are two separate issues of course -- there is nothing in mobile that mandates that it be designed to commoditize its users -- but the shift to mobile was used to also smuggle in a total inversion of the user/machine relationship.
Apple is kind of a strange company. On one hand they have stuck up for the privacy and security of their users, but on the other hand they were a factor in this inversion of relationship. They weren't the only or even the primary factor, but the locked down nature of their iOS platform helped other actors such as Facebook and Google implement surveillance-capitalist and gamified attention-capitalist user experiences there.
Whether or not I stick with Apple depends on whether or not they keep my computer mine even as they swap out the CPU. I could care less about the architecture as long as it performs well, but I do care about the nature of my relationship with the technology that I use. I care about this for both personal and professional/pragmatic reasons.
The greater threat is the ios-ofcation of macOS. We've seen many companies pull their apps from the Mac App store due to the limitations of the sandbox.
Apple would not be making this switch if they didn't think they could improve performance.
We've been asking why Apple doesn't already do it.
The same architecture can generally scale to 10x over a few process generations.
Possibly a patent issue also
Clock speeds alone can probably increase by 30%. Caches and internal datapaths can double or more. Then you can start to add in more execution units or more expensive branch-prediciton or even new more power-hungry instructions.
A 4 Watt Intel Pentium 4410Y Kaby Lake for mobile devices gets about 1800 on Geekbench, while a 115 Watt Intel Core i7-7700K Kaby Lake for desktops gets 5600.
I'm just going to say it: the Apple laptop CPU is going to get Geekbench score... above 9000!
And, yes, I do have a CPU design background.
Once you understand this, then you can understand how CPU designers work to predict future performance. CPU designers use artificial testbenches.
Or even further they could bake a "rosetta" into the chip's microcode and have their CPU natively support the x86 instruction set along with ARM or whatever they come up with.
The Intel chip you mention isn't in any Apple machine at all. (Except maybe the iMac Pro? Is it even in that?) So you be real. I don't think you've actually looked at the benchmarks. You should do so. I think you'll be shocked at just how much overlap there is, just like I was.
What benchmarks? Geekbench? That's the only one I've ever seen where the fight is close, and Geekbench (like everything that boils performance down to one number) is nearly completely useless.
If you see a two-watt phone CPU beating a 45-watt actively-cooled laptop CPU, you can either conclude that the phone is alien technology decades ahead of anything else on the market or that the benchmark is broken. Which is more likely?
https://www.realworldtech.com/forum/?threadid=136526&curpost...
Geekbench may not be the best tool for determining the power of a processor, but at the least it gives you a general idea of power across devices in a consistent set of tests, which can be extrapolated.
That post is pretty outdated. It's about old hardware and an old version of Geekbench. But people still use Geekbench 3 and old x86 hardware, so it's not totally irrelevant.
Knowing Apple had Intel Macs running in the background for years before they announced the jump to x86, I wouldn't be surprised if they already have the chips and know how well it performs.
And I also wouldn't mind if they did another demo like they used to: https://youtu.be/oxwmF0OJ0vg?t=24m45s
Extraordinary claims require extraordinary evidence. "But Geekbench..." is not extraordinary evidence. Give me a board where I can do an Apple to apples comparison, booting both under the same revision of the same OS, and running industry standard benchmarks (read: plural), and then we can come to that conclusion.
> Extraordinary claims require extraordinary evidence.
"Extraordinary" is in the eye of the beholder. We have some evidence; you're welcome to believe it or not, but unless you supply alternative evidence you're not really making an argument. You're just saying "it might not be true," which is something anyone can say at any time about anything.
It should be irrelevant in Apple's case anyway since they run their own OS. If their OS is faster for a certain task than some other OS then that's part of what you would define as "faster" for a user of the device.
Right? Am I missing something?
Apple is probably looking at all these trends and concluding that they don't really need Intel.
Arguably, the A11 Bionic is already faster than mainstream desktop CPUs.
"The iPhone 8 even edged out the score from the 13-inch Apple MacBook Pro with a 7th-generation Core i5 processor. That notebook notched 9,213. Is Geekbench 4 really comparable from phone to desktop? According to the founder of Geekbench, John Poole, 'the short is answer is yes that the scores are comparable across platforms, so if an iPhone 8 scores higher than an i5, then the iPhone 8 is faster than the i5.'"[1]
[1] https://www.tomsguide.com/us/iphone-8-benchmarks-fastest-pho...
From my understanding, which might be wrong, Geekbench only tests what both can do. Comparing a pickup truck and a sports car you need to look at more than just how fast they can do. You can both move furniture, but the sports car will need to do a lot more to be able to what the pickup can.
Yes, Geekbench is a terrible CPU benchmark, but both of them are Turing complete, so there is no functionality difference. And complex instructions are broken into uOps in x86 too.
But more seriously and less snarky there's a reason they used the 13" macbook pro there specifically and that's because the 15" with the quad-core i7 destroys the A11, 15k vs. 10k. Of course that's with wildly different power & thermal budgets, and I haven't seen much reason to think these geekbench results are at all representative of anything, so grains of salt and all that.
Also if you look at the performance trajectory of A-series in the last five years, 2020 sounds about right for where the crossover will come even between iOS based A-series processors and the fastest of what Intel has to offer, provided they can keep up the pace of performance improvement.
Have they really, though? What lines are actually crossing? Intel's mobile CPUs have continued to shed power, so how much of this is actually Apple "catching up" to Intel vs. Intel just optimizing for power at the cost of performance? As in, is there any performance gap that's actually shrinking, or are phone SoCs just getting more power hungry while laptop ones are getting less power hungry?
Because phone SoCs have gotten rather monsterously power hungry compared to years past. They are actually 5w under real world load parts now, with devices just letting them thermal throttle rapidly to achieve higher burst rates. Laptops, by contrast, are ~10w TDP, vastly less than they were a decade ago.
This would probably make a fascinating in-depth analysis, but the singular data point of a 5w SoC being within spitting distance of a 10w SoC is hardly a revolutionary story. It's pretty much what you expect.
will apple up the battery requirements for their own cpu/gpu, or would they simply drop battery while striving for a thinner laptop?
this from someone who's been buying/using Macs for a long time - I'd love to see some very fast arm competition, but is that what it'd really turn out to be?
Geekbench is based on the unthrottled peak performance of the CPU. Increasing the TDP headroom eliminates throttling but Geekbench doesn't measure throttling.
You can perhaps increase performance by overclocking but this requires the CPU to be designed for higher frequencies. AMD's Ryzen CPUs usually top out at around 4 GHz. Intel's CPU can be overclocked up to 5 GHz. The maximum clock speed is limited by the slowest component of the CPU. If the slowest operation takes 0.25 nanoseconds to complete this limits your frequency to 4GHz. If Apple had enough foresight to design their chips with this in mind then maybe but in reality they probably optimized the chip entirely for mobile TDPs.
I'm sorry, we need better evidence.
Imagine if they're not held back by the battery at all, or even just have to match the power consumption of the power-hungry x86 chips.
If we had a MBP with 64 wimpy a53 cores it would still only have 50% of the performance of a Intel i7 8700k or AMD Ryzen 1800X on paper. Of course that is faster than most notebooks but if you truly care about CPU performance then you usually wouldn't use a notebook in the first place.
The reason why windows on ARM never caught on was simply that windows was still available for x86. With apple it's different though, because once (Or if) they switch, then the only way to be on OS X is through the use of the new architecture.
There are a variety of features of OS X that are going to keep the design community there for the foreseeable future.
As an example with the PPC->x86 move, they released Rosetta in 2005, stopped pre-installing it in 2009, and only in 2011 did then completely remove the ability to install it. I foresee a similar experience here.
The existence of Rosetta does not prove the transition to be 'complicated'. It just shows the transition was a thing
These sorts of "great, now I can't use Mac for XYZ" problems might, at first glance, be dismissed as "well, looks like Apple out-grew your niche market... sorry."
Upon further investigation, however, it appears that Apple might letting go of too many niche customers whose needs will be met by niche products; niche products that will grow concentrically, and the Apple we know now will die (has already been dying) a death of 1000 cuts, and the shell that remains will the consumer tech toy company we see taking shape now.
As long as iOS developers aren't impacted, I'm not sure what the incentive is for Apple to allow that kind of access.
Apple did just this, twenty years ago.
https://en.m.wikipedia.org/wiki/MkLinux
Interestingly, they claim to have incorporated some of the technology from MkLinux into OSX, according to this page:
https://developer.apple.com/library/content/documentation/Da...
Make of that what you will.
- Adobe's plans
- Apple's transition plans
- Really, anything other than the vague statement that Apple will start using their own chips in two years
Without the insistence of so many designers on using a Mac, would macOS really have won a foothold in corporate environments? If enough designers and developers switch to Windows, who's to say that macOS won't slowly turn into a hobbyist OS that no IT department wants to support (like Linux, or Macs ~12 years ago)?
Microsoft started down that path last year with Windows 10 on ARM, and Intel had some legal issues with that - https://arstechnica.com/information-technology/2017/06/intel... It will be interesting to see how Apple handles this.
Second, while Apple's mobile processors are currently the best in ARM world, for "pro" desktop computers Apple needs desktop-grade processor. Making something comparable to i7 isn't such an easy and cheap job.
I though one of the major reasons for the switch to Intel was the power consumption and performance on laptops.
Qualcomm, NVIDIA, and Cavium have created very powerful ARM chips for non-mobile application. Apple definitely has the chip architects, the money, and the experience to do such a thing.
(Amd, Intel, and now Apple)
By the way, don't forget Broadcom, Marvell, Cavium, IBM etc. as they are doing big bucks with CPU's and SoC's as well.
I'm specifically worried about the performance workstation/gaming cpu market, which Broadcom Marvell, Cavium, and IBM are not major players in. It's currently AMD and Intel. Apple would need to sell a lot of macs with the new CPUs to make the R&D cost worth it and the new CPUs would have to be very fast or they won't sell macs.
Besides, there's no Carbon to Cocoa or CodeWarrior to Xcode port, so aside from a very small percentage of optimized assembly code, it shouldn't be nearly as hard.
Good point, I guess Apple never though of that.
But even if flat-out performance isn’t as good, what about if it proves cheap and easy to scale to more cores? Like, what if you get twice as many cores as the Intel equivalent has threads, albeit at 2/3 the speed (maybe worse or better for some workloads) but no hyperthreading-style contention? This wouldn’t be useless.
And GPU-accelerated functionality will be mostly unaffected.
How about FX!32 or it’s latest AArch64 cousin seen on Windows 10?
Of the above, qemu can target x86 and run on anything, Virtual PC ran originally on PowerPC, and FX!32 ran on the Alpha
It usually takes 4-5 years to design a chip, and if Apple planned on releasing the Mac CPU in 2020, well...
Intel’s position amounts to cage rattling and vague insinuations that efficient execution of x86 code is impossible without hardware support. That’s nice, and their ham-fisted approach already hurt customer choice in the past (Transmeta and nVidia Denver, before the later implemented the Arm ISA) but the Windows on Arm solution is completely software and not coupled to any specific Arm chip implementation.
The switch to Intel started six months [correction: seven months] from the announcement, and took seven months to complete.
June 5th, 2005: Intel switch announced at WWDC
January 10th, 2006: First Intel Macs (MacBook Pro and iMac) released
August 7th, 2006: Mac Pro and Intel Xserve released, last PowerPC Macs discontinued
https://everymac.com/systems/by_timeline/index-macs-by-timel...
Current Apple best CPUs are already performing very well compared to some Intel CPU. Not the fastest Intel CPU, obviously, but a) Apple Arm implementation is already above all the Arm competitors b) we are talking about an Arm implementation optimized for low energy consumption and other components and functions essential to a high end mobile phone -- and even then it starts to catch up chips that are dissipating more and integrate far less features c) the hypothetical Apple latop/desktop cpu won't be coming today.
From a theoretical pov I see nothing that prevent Apple to achieve what they want. Especially with the kind of money they have, and the kind of team they have to already design chips. Oh btw, the A11 has more transistors than a 4core Skylake. That does not means much, except that we are dealing with the similar kind of projects, and that in that kind of project, the perf and thermal budget you have is not something that suddenly makes the people working on it go: oh my god, but we don't know how to make that, we are only good for mobile phone SoC. I suspect some of Apple employees working on their chips even worked at Intel before...
Another problem with what you say is that the workloads you consider are especially well suited for accelerations, and it is even simpler to compete in this area compared to old school CPU power. You just need bulk compute power, that can come in the form of, at least: vector instructions; GPU; DSP; fixed function acceleration units. Those areas are not especially dominated by Intel.
Some last points are that: top CPU speed are (mostly) not growing anymore. That lets others catch up Intel in the few area that they did not yet -- others also are catching up on the process side.
The result of that equation is that I really don't see why Apple could not manage to create high performance CPU to the point of not needing Intel anymore. Maybe at first they would limit to their laptops, and switch the Mac Pro last, but I'm not even sure of that.
Meanwhile in reality the top end non apple ARM SoCs only have the performance of a single highend intel core.
http://browser.geekbench.com/android-benchmarks/ vs http://browser.geekbench.com/v4/cpu/7779910
Otherwise I could as well take the perf of an IBM z14 mainframe and compare it to an existing smartphone SoC, and declare that Arm is doomed because too slow. Note than even increasing the clock alone of those ARM cores would increase the perf greatly -- it might not be possible without modifying them in various degree right now (if you don't target high freq to begin with, you can afford to work less on the length of some critical data path), but given today processes it is very probably not extremely hard to tune the design if needed.
I don't see recompiling their next release with a different version of Xcode qualifying as "significant work".
That would be Final Cut Pro X, which Apple itself makes. (Also, Motion, Compressor, and honestly, iMovie does a lot of stuff you wouldn't think it could do for a free app.)
I've never encountered anyone using Motion professionally. It's all Nuke and After Effects with Fusion growing.
It's a radical direction, but they are designing the chip by themselves and for themselves, they have deep pockets, and if it worked well it would reduce an important risk.
There are already several chips capable of running multiple instruction sets. Most desktop machines have chips that can run either x86 or x84-64. Some(?) ARM chips have a Thumb mode. So that seems very practical, and obviously there is a bigger "impedance mismatch" when trying to do both x86 and ARM on the same chip, how much worse is it?
If you could do some kind of hardware real-time instruction translation without wasting much silicon and without reducing performance (for x86) that much, it seems like it would take a lot of the pain out of the transition.
And while it might be doable (x64 and ARM on the same chip), I think it might not be a smart decision, since some things will not function correctly or will have to be redone (e.g. speculative execution).
I don't know either architectures on a deep understanding level (x64 or ARM), but I have a feeling that there should be some big architectural changes that would prevent x64 code to run on ARM natively.
Some would argue it's already been dead for a long time. I'm seeing less and less directors and artists using Macs for their workstations when it was close to 100% about 10 years ago.
They just didn't supply a competitive workstation machine for so long that many were forced to move to windows if they wanted power. I don't know a 3D artist anymore who isn't doing all their rendering through multiple Nvidia GPUs in a tower PC.
The iMac Pro has only been out for a few weeks after years of neglect and I'd struggle to recommend it to anyone at that price point.
(Ironically many I know still use a Mac laptop but it's relegated purely to office/email/slack/web tasks that back in the day we'd associate with Windows machines, not the actual creative work)
Why is it unlikely that Apple would make a x86 chip? Because of IP/licensing, or for technical reasons?
[1]: https://www.idc.com/getdoc.jsp?containerId=prUS43495918
On PPC you could either dual-boot or run OS9 (and 8?) apps seamlessly on an OSX desktop, which was pretty impressive.
The seamless emulation of OSX-PPC apps on an Intel processor was extremely impressive though. I remember the majority of stuff working surprisingly well with little slowdown (though this might now be rose-tinted).
Mac OS 9 inside of “Classic” (the VM that ran OS 9 inside of OS X) wasn’t especially seamless, but what was seamless was “Carbon”, a transitional API that allowed developers to build apps that ran natively on both Mac OS 9 and Mac OS X. It didn’t take nearly as long to port code from OS 9 to Carbon as it would have taken to port to Cocoa, so many early OS X apps were Carbon ports.
Or it could be nothing. This is a pretty thin article.
They definitely do have OSX running on ARM64, they had OSX running on x86 for years before the switch (in fact they had OSX running on x86 before it even was OSX, NeXT ran on x86, SPARC, PA-RISC and 68k, PPC is the one Apple had to add), they've already gone through two architectural migrations (68k -> PPC and PPC -> x86) and by all accounts the iOS core is very much shared with OSX, it wouldn't make sense not to port OSX along the way.
Although NeXTStep ran on x86, the MacOS build on x86 was John Scheinberg's personal skunkworks project until it became Marklar in 2001 (and then kept under the hood for another four years). Mind, Darwin was always written to be portable, but it wasn't a deliberate strategy to take it to Intel. This time around though, I too reckon that they have already a MacBook running on an A10X in the labs.
I'm reminded of the patent-sharing agreement between the two. Or, given MS' diversification, they may be willing to directly license the tech. Making the x64 -> aarch64 translation as robust as possible has benefits for both companies, and they're not nearly the bitter enemies they used to be.
No, they have tech for executing i686 binaries on aarch64, not x86_64. Big difference.
Meanwhile, High Sierra is the last macOS release to support 32-bit binaries.
"Without compromise". We'll see what this means later, but most likely it'll mean that macOS won't ship with a 32-bit runtime and you'll be able to download as you do with Java.
I was just listening to a Windows Weekly podcast about that, and its limited to 32-bit x86 binaries only, no 64-bit support. They also said its "unusable" for 32-bit apps (in particular Chrome), because you can watch the system drawing the windows of x86 apps on the screen.
Watching the video, they seem to be exaggerating a bit with "unusable", but Chrome does look sluggish, and the startup of "DrRacket" and its window redraw does look very slow too.
Edit: After watching the video, that didn't seem too bad. Perhaps it would work well enough on top of a beefier ARM processor? Of course the lack of x86_64 support is another issue that may not have a reasonable solution.
I know the iPad Pros certainly outperform many cheaper Intel chips while using lower power.
But I doubt they would want to split the line into half ARM half Intel, or move the Mac Pro to ARM.
What pro task, really requires high single thread performance? I imagine Apple could match intel by simply using more cores on their ARM CPUs.
- an iMac that didn't really meet my needs
- a ridiculously unaffordable Mac Pro tower
I jumped over to Linux running on commodity PC hardware.
Only issue I have on Mac is compiling large programs.
I dunno, I feel like the writing has been on the wall for Apple to switch to their own ARM chips, for 3 or 4 years now. At first it was "yeah maybe someday", but by this point, I'm just surprised they're waiting until 2020. I was hoping the first ARM Macbooks would be this summer. (Really, last summer, if I'm being honest).
In 2020 I doubt anyone will see any problems with ARM performance on a desktop or laptop.
Edit: Found the source: http://atp.fm/205-chris-lattner-interview-transcript/#bitcod...
To make their own chips, they'd need to either license from an existing holder (which wouldn't let them tinker unless it was a partnership or they acquired the license) or they'd need to make something so incredibly great the other three would trip over themselves to use it, and bind themselves in the process.
(Price tag would be in the ballpark of $15-20 billion, 3 months of income for Apple)
https://www.kitguru.net/components/cpu/anton-shilov/amd-clar...
In theory, but then VIA is a subsidiary of Formosa Plastics Group, so they'd need to either negotiate the sale with an entity with which they've locked horns in the past or buy an entire petrochemical group???
They'd probably have an easier time buying AMD.
They can't buy AMD (nobody can) for patents as licences on parts of x64 AMD doesn't own will be voided if AMD is ever acquired.
Intel will also lose access to AMD patents.
the article (thin as it is) claims a multi-step transition. Apple almost certainly has a version of Mac OS that can run on their iPad hardware - the transition path that makes the most sense to me is a 12" MacBook that runs essentially the same internal hardware as an iPad pro, and a MacOS that can run iOS apps. There would be a great consumer market for a MacBook that runs iOS apps, and it would serve as a hardware test bed for developers to get their MacOS applications ported over to ARM before transitioning the MacBook Pro lineup away from x86.
https://www.macrumors.com/2015/11/16/tim-cook-no-converged-m...
>We feel strongly that customers are not really looking for a converged Mac and iPad, because what that would wind up doing, or what we’re worried would happen, is that neither experience would be as good as the customer wants. So we want to make the best tablet in the world and the best Mac in the world. And putting those two together would not achieve either. You’d begin to compromise in different ways.
But as a former Surface Pro owner who now has an iPad Pro, I don’t see that happening. The iPad is immeasurably better as a tablet when you have tablet-oriented software available. And when you don’t, obviously the Surface’s compromise of “have a crappy desktop experience too” is usable if you need to have that option. But it’s not good compared to stuff designed for a tablet.
Similarly, the chunks of Windows 10 that are clearly designed for touchscreens (like the new Settings app) are not great on a desktop compared to the older and still more powerful control panel. More consistent, sure, as any ground-up redo would be, but the information density of things like the Add or Remove Programs list is awful compared to what it was before.
I don’t think Apple is going to make those compromises. They might do a more converged developer backened for Mac and iOS to make it easier to target both platforms, but they won’t shove the frontends together.
This, I think, is the most accurate picture of future iOS / Mac convergence. Universal binaries that present either a desktop, tablet, or phone UI based on where they're running.
Microsoft's mistake was trying to converge the desktop and tablet UIs.
Unifying the Mac frontend into that ecosystem just seems like the obvious conclusion.
I don't know that they'd strictly be the same executable, but at least as far as the user is concerned they would be the same piece of software. From a developer perspective, multiple UIs built with slightly different flavors of AppKit depending on the UI paradigm, including the Mac which is currently targeted by AppKit.
iOS doesn’t handle that kind of UI well.
There’s also the cost issue. All but the most exotic iOS apps cost less than $100. Many professional apps cost hundreds or thousands of dollars.
It’s not just a fundamentally different market. The products are fundamentally different in critical ways.
I can imagine a hybrid MacPad product - maybe a dual-panel clamshell - but if it’s done badly it would be the worst of both worlds.
I auspect it could a succesful replacement for the iOS product line, with dual MacPadOS and iOS support.
But I can’t see it working for professionals without a lot of breakage.
If it didn't need a totally separate UI framework, ports like this would take less effort and more apps would do it. Maybe you can't sell it for 6x the cost any more, but a comparatively small amount of work gives you a leg up on the competition.
Twitter is another example. They killed the native Mac client earlier this year and said "For the full Twitter experience on Mac, visit Twitter on web."
It's also worth noting that when he said that, Chromebooks didn't run android apps.
https://www.macrumors.com/2018/01/31/apple-still-plans-combi...
Putting an ARM processor in a Mac does absolutely nothing to change the viability of running iOS apps on a Mac.
iOS developers always compile, test, and debug their apps on x86. The challenge of running iOS apps on x86 was solved 10 years ago.
What's stopping Apple from shipping Macbooks with a custom SoC that can run existing Apps in emulation until developers can recompile? I would argue that most Air and Macbook owners aren't developers and probably don't have many apps that didn't ship with their system.
The processor doesn't matter.
But compare the Intel Core m3 to the Apple A11, and a completely different story will emerge. The A11 is already comparable to relatively recent Macbooks in terms of performance.
The current A11 chips for iPhones are within 10% of Intel's top mobile chips on Geekbench, and within about 30% on their top desktop CPUs.
It's entirely possible for chip architectures to see 2x-3x speeds when moving from mobile power budgets to desktop power budgets.
An Intel Pentium 4410Y Kaby Lake running at 4.5-6 Watts gets about 1800 single-core on Geekbench, while an Intel Core i7-7700K Kaby Lake running at 115 Watts gets 5600 single-core on Geekbench.
No, they aren't. iPhone X's multithreaded geekbench score is 10k. The 15" macbook pro is 15k. That's a lot more than 10%. It's only close if you look at the lower end Intel chips, the dual core ones (which is what Apple ships in the 13" macbook pro).
What do you think is the most important for 250million desktop users? Because the vast majority of them are sitting idle waiting for interaction tasks, like on your system now.
My dual Xeon E5-2690 v4 regularly loads all its cores and benefits greatly from them, but keep making assumptions by all means.
But if all you want is a chromebook competitor then sure, A11-class works fine. I'm going to guess that the people using Mac Pros tend to care a bit more about just running Chrome/Safari, though. Maybe Apple is just going to completely give up on their historically strong content creation market.
Keep in mind that while you don’t see much 68k outside embedded these days, you still see POWER in supercomputer rankings, and it also appeared in game consoles.
If Apple ends up doing it, the proposition would almost certainly be different and it seems very unlikely it would involve things like running your x86_64 macOS apps on your brand new Mac except three times slower. Thinking about this in terms of previous changes (or in terms of PPC history details) just seems obviously wrongheaded to me.
The Macbook Core i3 is barely enough to run Safari or iTunes and Apple could probably replace the CPU without many of those users ever noticing.
They will not compete at the high end against the Core i7s with 6 cores running at 3.8GHz (12 with HT) though.
The market segment isn't that large though so it seems tough to get it done within the laptop budget. Still, it could benefit the other devices and streamline the hardware development, so maybe they think it's worthwhile.
I don't think we can make that assumption here. I would be very surprised if the ARM chips they put in desktops are identical to the ones they put in phones.
For one, the power budget is going to be a lot larger (even for a notebook), and power is roughly equivalent to speed.
https://browser.geekbench.com/mac-benchmarks
> iMac (27-inch Retina Mid 2017) | Intel Core i7-7700K @ 4.2 GHz (4 cores) | 5683
https://browser.geekbench.com/ios-benchmarks
> iPhone 8 | Apple A11 Bionic @ 2.4 GHz | 4217
4217 for Apple A11 @ 2.4Ghz vs 5683 for Intel Core i7-7700K @ 4.2GHz
Of course, microbenchmarks don't mean much. But the margins are thin enough for users to notice already. Add in more power, more cores, more Ghz, better optimized instruction set, more vertically integrated system, and who knows.
Geekbench is not at all a reliable benchmark that tells you anything about real preformance.
Its a total farce to suggest that a CPU with a power budget that is 10x to 20x larger, on a modern process, with modern archtecture is somehow just as fast or slower.
I have no doubt some customers were caused pain by the transitions, and some left the Apple world entirely, but characterizing them as being "fucked over" seems a bit over the top.
1) Old programs don't work, because it is a different CPU architecture. 2) Old programs work, but in a VM, so it can't take full advantage of the hardware. 3) Old programs must be recompiled to work on new architecture.
The last one is the preferred option, but is only possible for open source software. If options 1 or 3 are taken for proprietary software, the customer needs to buy a new version of the software.
Look - Apple or any other vendor isn't beholden to one CPU architecture. Such expectations breed monopolies - like Intel in PC CPUs.
None of your arguments prove that Apple is fucking over customers or developers. If anything, this opens up the market for newer, more nimble companies that'll fill the gaps left by slow moving, irrelevant apps/software.
Cheers
I agree that vendors are not beholden to a CPU architecture, but let's not pretend that switching is immediately beneficial to the user. What you call "opening up the market", I call adding unnecessary obsolescence to programs that chose not to add planned obsolescence in the first place.
If anything, I would take this as further evidence that software should be sold as source code, because the utility of mere build artifacts can be taken away.
Then there's your contrived reason to obtain source code - another bogus, non-sensical reason that'll never fly with devs.
You always have the choice of staying with an older model, or better, using Linux on your custom hardware. Don't push your socialism/communism on one of the most capitalistic companies on Earth (Apple)
The PPC transition and Intel Transition both had emulators, fat binary support, and for the Intel transition, early access to developer hardware [1]. I’m not sure how much more you can ask of Apple. The current iOS simulator compiles to native Intel code and then builds for deployment use the appropriate CPU target. The tooling is mature and the execution know.
Apple can certainly do better in a lot of areas, i.e. Swift examples that are either missing or are too old to compile. This is something they’re competent at.
[0] https://arstechnica.com/staff/2008/04/rhapsody-and-blues/
[1] http://vintagemacmuseum.com/the-apple-developer-transition-s...
Compiling for different architectures was a checkbox in ProjectBuilder (after you took care of endian issues, once). Much easier than in Xcode today.
My favorite was that they apparently shipped an additional architecture by accident: the developer tools came with one of the aforementioned architectures long after it had been officially dropped.
"Spreadsheet macros" were like hot personal computing shit in 1983. Really not good if you cannot create them in 2008. , (Few complaints about the current Mac MS Office, FWIW) I'm just saying that breaking old stuff often takes year to fix.
Emulating that requires a massive performance hit, because you essentially have to check every single memory access to make sure its not doing something invalid on ARM.
Google didn’t answer that for me, but I found out that there now is a ”cp15 sctlr[1] (alignment bit)”. http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.... says this about it:
”3.5.1. Alignment faults
If alignment fault checking is enabled (the A bit in CP15 c1 is set), the MMU generates an alignment fault on any data word access if the address is not word-aligned, or on any halfword access if the address is not halfword-aligned, irrespective of whether the MMU is enabled or not. An alignment fault is not generated on any instruction fetch or any byte access.”
A lot of x86 code is aligned for speed already so it's a pretty safe bet to assume alignment and fix it up if wrong.
Will it be that simple? Apple's own Logic Pro ships with a lot of legacy products from Emagic days. I know they've re-skinned a few with the last couple releases, but I'm guessing a lot of the DSP code is still the same.
I concluded ARM was fast enough for 90% of users. Once you don't have the restriction of battery life and small enclosure it is not hard to imagine that Apple could beef up ARM a lot for their desktops and laptops.
Why run multiple CPU architectures when one does the job and is much cheaper?
I've been thinking hard about what kind of workload ARM can't handle and I can't think of anything. Ok... there is one 1st person shooter games. But iOS is a more successful gaming platform than Mac.
Not necessary. They only need to ship one model of Mac Mini or any small desktop lineup with Ryzen to improve their negotiating position while still being compatible with the existing x86_64 ecosystem.
So no, this is not merely a negotiation jibe. There are definite long-term prospects.
We're already moving to a mobile-first design and approach world. Having those mobile/tablet apps expand automatically to desktop is the next logical conclusion. As an app developer, there is nothing better than write-once-run-everywhere, and the cascading effects of that on the whole Apple ecosystem and future consumer audience is hard to understate. Keeping aside power, efficiency, device prices, opportunity costs and much more.
> significant work by third parties outside Apple who haven't even heard of the possibility of this happening until today.
Definitely not today. Its been speculated for many years now ever since the A4 chips, and its still not official news. Usual "people who don't want to be identified". If or when this becomes official news, most partners would be like about time, because everyone is in one way or another working on convergence and multi-device. Adobe and Microsoft are examples of pivoting many of their desktop businesses successfully to cloud and apps already.
Thankfully Apple comprises vastly smarter people than me, but I've always thought this is a bad idea.
The two interaction models are so dramatically different that I don't see how merging them makes sense. A finger is not a mouse.
There are no good or bad ideas :) Its all about time, place, knowledge of tradeoffs, execution, business, marketing, taking into account all stakeholders (user is one of them) and everything holistic :)
What you say is true, a finger is not a mouse. But we're now a decade past the release of iPhone, and by this time, the industry in general (and Apple in particular) have deep knowledge about all the tradeoffs involved here. 5 years before and this can be considered a reckless bet that requires a Steve Jobs to pull out. Now, its just natural evolution. Responsive design has been around for even longer, and changing interactions based on screen and form factors is a pretty mature problem domain now.
To be very specific:
- whether its a finger or mouse can be a runtime decision, not necessarily a compile-time or clean-slate/distribution decision for different platforms
- those decisions are already standardized enough based on existing knowledge that you can let the platform/framework (or 3p libraries) handle it out-of-the-box for you and just register multiple possibilities. instead of debating finger vs mouse - think finger and mouse
i.e. different interactions requiring entirely different apps - is not necessarily true for all of them. for a 2D application, some amount of standardization is actually good, otherwise it doesn't really help all the interaction patterns and may instead stagnate them.
Is my anecdotal too far off?
If you look at the PPC->Intel timeline[1], Apple announced it 6 months in advance, although it went fairly quickly after that.
1: https://en.wikipedia.org/wiki/Apple%27s_transition_to_Intel_...
Doesn't all have to happen at once, and Apple has been though this before in the PPC-Intel switch, which went rather well.
It'd be perfectly valid to write an application for the MAS in x64 assembly, if you want, as long as it's sandboxed and doesn't touch any private APIs.
This announcement is hardly a surprise. The writing has been on the wall for at least the last 5 years since LLVM replaced GCC in XCode. It became even more obvious when Apple started compiling to "Bitcode" so that they could deliver optimized binaries to devices. What that replacement meant is that it would ease Apple's transition away from any particular architecture - developers shouldn't have to do much if the app is installed from the App Store.
These weren't clear signs of an upcoming ARM switch:
• Apple has been purging software that's under the GPL for quite a while now, and GCC was probably high on the list since Apple (NeXT) had been bitten by its license before[1].
• The Intel switch in 2006 was extremely smooth even using GCC.
• Bitcode is not enabled on macOS, and even if it were, it's not abstract enough to recompile an x86 app for ARM[2].
[1] https://news.ycombinator.com/item?id=9158017 [2] https://news.ycombinator.com/item?id=9728162
When I say that, I'm thinking of the old TED Talk by Amory Lovins called "Winning the Oil Endgame". I feel like there's some parallel one could draw between peak oil and process improvements. Intel has slowed down now that it's more difficult to extract increased performance with each iteration. I'm guessing someone at Apple is thinking about where they'd like to be positioned when the well runs dry.
https://newsroom.intel.com/editorials/x86-approaching-40-sti...
Intel didn't name names, and everyone at the time assumed it was related to Microsoft and their efforts to ship windows 10 on ARM with a 32 bit only x86 emulator.
But I wonder if that rant was actually aimed at Apple. Microsoft's emulator only needs to target a older subset of x86, one that could avoid ant patented instructions.
If Apple are planning to move from x86 to arm, they will need an emulator that supports full 64bit with some relatively recent extensions that all MacOS applications target by default.
Also the level of secretivity at Apple is soo high that I'm not even sure anybody outside there knew about any concrete subject this summer. And would they somehow know, why would them try to dissuade them publicly at this point? That does not work like that at this level.
> "Apple is working on a new software platform, internally dubbed Marzipan, for release as early as this year that would allow users to run iPhone and iPad apps on Macs"
Two things here:
1) I'm OK with breaking the Intel near-monopoly on x86. I'm not OK with moving to a walled garden where Apple forces you to publish apps through their App Store with a paid dev account, etc. just for the privilege of users on their platform. ARM doesn't necessarily mean this, but it is a different CPU arch. When Apple transitioned to Intel/x86 from PowerPC, Intel processors were performant enough compared to PowerPC processors to provide a pleasant emulated PowerPC environment for applications build for PowerPC. I don't think that a switch to ARM would provide this benefit, and afaik Intel's mobile offerings aren't that far off from ARM efficiency. So what's the benefit? Just vertical integration, I guess? Escaping Intel's backdoors and high prices?
2) iOS apps on OS X. Why? Does anybody want this? The way I see it, web apps are perfectly adequate for the desktop environment when it comes to stuff like checking my bank account or browsing Hacker News. I don't want to deal with a desktop app to do any of the stuff I can currently do via a browser. Is there actually a use case?
3) Given the hellscape of bugs currently present in iOS/macOS, does anybody have faith that Apple is going to be able to navigate a rewrite of macOS on this scale? It sounds like the sort of thing that requires a lot of talent and a lot of focus. Apple has the capital for this, but not the environment, imo.
Seems to me like this could be the nail in the coffin for Macbooks that's been pending since the merger of the macOS/iOS teams and the introduction of the controversial TouchBar/USB-C Pro.
Also, the Microsoft Surface Book Pro has a detachable screen that is a stand alone tablet. What if Apple is designing for an iPad to be the main screen with a base that houses external GPU, battery, keyboard, etc. iPad production ramps up, iPad users can "upgrade" to a full laptop, laptop users are automatically in the iOS eco-system.
I'd join you in that minority.
Inn their current yearly OS release cycle? Nope, not at all.
You're already scratching the surface: vertical integration, backdoors and high prices, power and battery life optimization, lesser effort for an app developer to publish to all platforms, develop-once-run-everywhere, ...
Looks like you're looking for one "The Reason" - but there doesn't need to be one. If a layperson like you or me is able to provide 5-10 reasons, then its likely there could be 100-1000 reasons internally, and all of them add up.
> 2) iOS apps on OS X. Why? Does anybody want this?
Of course yes. As an app developer and as a consumer - convergence and bringing my apps and data across all platforms is no longer an "optional" thing anymore, its mandatory even for a ToDo list app, or email, or IM and everything else. Web apps suck at power efficiency - see the situation with Slack/Electron/Chrome/others on desktop, especially when it comes to stuff like hardware bound work (video/audio, digital image and movie processing, hidpi wor and much more).
If you don't need all this, and all you need is just a chromebook with a browser, its fine, it has and will keep working. It also ties in to why you're confused "why this is required" in so many ways. You may not be the target audience here.
> 3) Given the hellscape of bugs currently present in iOS/macOS, does anybody have faith that Apple is going to be able to navigate a rewrite of macOS on this scale?
This one answers itself. If a fragmented platform doesn't work and has lots of bugs - then it makes all the more sense to invest all resources in one platform/arch to have better focus and lesser bugs to tackle. Everyone doing rewrites know that there will be short-term pains, but that has to be balanced with the larger picture - otherwise we'll just keep hating new releases but there will be no solutions other than "let's do only bug fixes for next 1-2 years" aka platform stagnation, and users still won't be happy :)
On 2)... I hate web apps. Probably much more than your average layperson. Electron is miserable in my experience -- laggy, high memory/CPU user, non-native feel, but I think a web app in a browser is OK. There are really two different use cases I see here. a) Take TurboTax, for instance. I don't want to download a TurboTax app for my computer. I'd only use it once or twice a year. But it works well in a browser. It's complex enough that a web app is justified. b) Spotify. It needs to interact with local files, and I usually have it up in the background. A web app doesn't work well for this. Unfortunately Electron doesn't work well for this either.
I think if this is executed well it could be amazing -- what if layouts scale beautifully onto a laptop screen, so I can use an iOS app instead of an Electron app for Spotify/Slack/etc? If this happened, the benefits could trickle down into iOS, making it a more useful platform. On the other hand, layouts might not scale well for larger screens, and iOS apps on macOS could end up neutered and even less useless than a current webapp. Hopefully the former case happens, but lately Apple makes me feel like the latter is more likely.
3) I'm not really convinced that this will reduce bugs. In my experience, combining two pieces of software into one just makes the resulting monolith harder to reason about because it doubles complexity at high levels and increases complexity exponentially at low levels. But maybe that says something about my development skills :)
Yes, and perhaps better power/performance ratio. Possible iOS binary compatibility as well.
It should be an easier transition than from PPC -> Intel, since at that time, most big apps used CodeWarrior and had to transition to XCode along with the architecture move.
As for 2), I think that's a nice convenience - if you're a developer you wouldn't have to to worry about emulation.
> does anybody have faith that Apple is going to be able to navigate a rewrite of macOS on this scale
Is it really that crazy they would rewrite parts of their OS to target a new architecture? A large undertaking sure, but not that ridiculous... This is Apple, not some random startup lol.
Right now many new desktop apps are just badly ported web apps wrapped in electron. They are slow and eat a lot of memory as all of their UI is a being rendered in a glorified standalone chrome tab.
This is less about iOS apps on OSX and more about making it easier for the iOS developer ecosystem to build desktop apps. Right now it’s web teams that are building desktop apps because for most companies it’s too expensive to hire a dedicated desktop team. Even big apps like slack/WhatsApp use electron.
Making it easier for iOS developers to build desktop applications with the APIs they currently use should hopefully lead to higher quality apps.
Hybrid mobile frameworks like Cordova tend to get a bad rap these days especially with the arrival of more performant alternatives like React Native.
Electron apps are not built by iOS developers, but by developers like myself who would rather hit 3 birds with one stone ;-)
And no, nothing would change, except the MacBook will get to be even more shitty. We'll remember fondly the MacBook Pro of year 2015 as the last model that didn't suck.
Android apps on Chrome OS tablets are a thing now.
With macOS on ARM, the iPad Pro and MacBook lines merge, as the hardware internals converge.
I still expect that they'll offer devices in traditional form factors -- laptop-like devices and desktop devices, if the market demands this. But for most users, they don't care what's inside if it let's them accomplish what they're trying to accomplish.
What are iOS developers supposed to develop on?
Presumably laptops and desktops with Apple chips inside.
Where do you see that?
That said, CPUs have gotten so cost effective that it makes possible something which has come in and out of favor for a while, which is a network of devices that do one thing co-operating as a larger system.
So lets say you buy your "iDisk" which is a storage brick that you can put on a short range wireless network. A couple of iPad monitors, a wireless Apple keyboard, and a wireless Apple mouse. You set up this box of stuff and arrange it around on your desk and it is essentially a "single" computer system perceptually which, running a development "app" could work fine for development.
The "brick" turned out to be the all-aluminum MacBook, being carved from a single piece of metal.
Maybe someday they'll make a cross-platform Xcode.
It appears that Apple, at least when it comes to the iPad, is increasingly unwilling to deliver new software that isn't explicitly tied to a new piece of hardware (and thus a hardware sale). We got writing APIs in order to sell $99 Apple Pencils, but never an actual vision for what it would really mean to do professional work on the iPad. And at some point, it stops seeming like there's some master plan waiting to be unveiled just around the corner. The iPad has been around for 8 years and the fundamentals of using one have largely remained the same, the same as the original subpar experience we excused since it was obviously a 1.0 product. The iPad has basically gotten thinner, faster, and gotten a pencil (which don't get me wrong, is great). iPad sales reflect this: iOS DEVICES may be doing amazing, but iPad sales have plateaued or declined repeatedly. Apple seems eternally confused by this, as if they think the product is done. They begrudgingly offer a "new" iPad with older parts and slightly cheaper price as if people just don't get what they're missing.
But what's missing is a message, a message other than "this is obviously the next iteration of the computer, why aren't you buying them even though we hardly update the Mac either?". The message and vision would inspire Apple to lead by example in the software they produce for it.
Yeah, it felt a little stuck for a while, but iPads are ridiculously more useful and viable as work platforms than they were in the iOS 8/9 days.
Give us a MacOS-like desktop mode. We could connect a mouse and keyboard using bluetooth. We could airplay to a display. Even better, replace lightning with thunderbolt so we can connect our phones to an external GPU.
This allows Apple to switch to intel chip on iPhone, or switch to an ARM chip on MacOS.
[1] https://thenextweb.com/apple/2015/06/17/apples-biggest-devel...
I think you're assuming way too much. Says Chris Lattner regarding Bitcode, "It's useful for very specific, low-level kinds of enhancements, but it isn't a panacea that makes everything magically portable." [1]
[1]: http://atp.fm/205-chris-lattner-interview-transcript/#bitcod...
I have it built on my raspberry pi B+, Linux 32bit chroot, and there is a prebuilt Windows image available that you unzip and run.
Not easily. It's optional on iOS [1], and doesn't support completely new (non-ARM) CPU architectures. On macOS, the feature doesn't exist at all.
[1]: https://help.apple.com/xcode/mac/current/#/devbbdc5ce4f
In theory an LLVM-based bitcode-like system could allow Apple to change CPUs and automatically recompile App Store binaries without developer intervention, but their current bitcode system does not support that.
I think it's safe to say that the vast majority of applications (Microsoft Office, games, browsers, text editors, IDEs, etc.) installed on Macs are sourced from places other than the app store.
This is not necessarily the wrong move for Apple, but it is fraught with danger. Here be dragons.
1. doesn't suck 2. pays very well 3. has already demonstrated multiplatform apps with iPad / iPhone
I do not understand why we argue what is better between Mac, Windows and Linux. It all comes down to the scope of what we're using it for. All of these 3 OSes have complex parts and arguing which one is better is not a a good conversation to have. The market already says it all for what choices people are making. These 3 OSes feature development would always follow the market demand. They're usually not that far off for important features. And whether they choose to focus/optimize them is a business decision.
I have used all 3 and I like different parts of all 3. I currently use mostly my Macbook Pro, iPhone and sometimes iPad as they're very reliable and high quality made products. They often get my job done mostly without a hiccup. I would choose the product that get my work done best within the least amount of time so I could focus on other more important things. My wife, however, prefers her Windows laptop & android phone as she could do her work better and she prefers android because of its flexibility.
My experience with HN comments leads me to believe otherwise, at least among professionals. :)
Microsoft Office was another drag on the Carbon library. They also chose to keep their applications in the old format even though they were told repeatedly from Apple that this thing was going away. Eventually they got their shit together and the Office suite for OSX is a best of show.
Userspace GNU/Linux is also pretty bad about this, despite the effort put in by Linux.
The biggest issues I ran into was always with the low quality edu based applications. So many of the issues we had with those apps were because they were created in Windows and ported half way to OS X, an old PPC version that did something special that the Intel version couldn't do, or the worst one using a special baked in version of Adobe Flash..
/shivers
Asking for friend ;)
The app wasn't a universal binary at the time. Which would be fine if the PPC version worked with the PPC machines, and Intel worked with the Intel machines. haha.
*Edit The windows version did usually work without issues. The OS X version eventually worked once they redid the whole application.
Edit: maybe I should explain a little. We were a educational software developer and doing multimedia titles. We had a home grown multimedia engine which served us well (at the time there weren't alternatives) but Flash came along and at the time they would license the engine as a C or C++ library, which we could embed. This would get us a capable engine with superb integration with the content creation tools.
If your application let students finish what they were doing without randomly crashing and losing everything, then it is leaps and bounds better than the MAP system.
The school had to extend the map testing by 2 weeks just because of how often it crashed and students had to retake it. My coworkers at other school districts in other states ran into the same exact issues. Then on Windows, it had to access a SMB share somewhere to dump data to a flat db... that would get corrupted sometimes when a students application froze up... haha. it was job security though.
Unless you rely on a piece of software that does not receive any updates anymore. Then you're basically screwed. I am rather annoyed that Apple is going to break backward compatibility yet again for no good reason. Intel Mac's perform a perfectly adequate job and Intel couldn't really screw Apple because they are a rather good customer.
Then TSMC and Intel are pretty even, which is slightly interesting to extrapolate all manner of conclusions.
Intel has slowly opened it's fabs to outsiders, however the first one was Altera, who Intel now owns, so... Main point is in 20, 30 years, is Intel's main business going to be fabbing their own chips, or someone else's? I dunno, I just enjoy following the industry.
Windows is an awful choice for software development, a job that usually requires a lot of interaction with Unix servers. Microsoft's recent crush for Linux and open source can't fix many years of closed standards, closed protocols, and Embrace-Extend-Exterminate evil culture.
And MacOS, even though it's still loosely based on a Unix *BSD flavor, still falls into the "closed fence" category - brew is nice but can't be compared with the maturity of the package managers on any Linux distro, you can't just recompile or update the kernel on the fly to get support for a new device, and OS internals are purposely obscure to developers. Paying all that money for such a closed box, if you're anything more than an average users, is simply a waste of money.
Linux distros are by far the best environment for a computer scientists - made by developers, for developers - but there's no major vendor that sells machines with Linux pre-installed and supported, and getting Linux installed on the newest Surface or Dell toy is often a challenge that gets many frustrated.
There's definitely a huge gap in the market, and as a computer scientist I feel that none of the major vendors cares to provide me with a solid machine to do my work.
Is there any reason why something like the various Dell machines preloaded with Ubuntu or RHEL wouldn't count?
Inappropriate how, exactly?
Use a kernel module.
I haven't had to do that in years. On the other hand, knowing that I could gives me peace of mind.
Then, I realized that I have more money than time. I can choose Apple hardware, and run OS X (now macOS), trouble free. The only time I patched my Linux kernel was when some piece of hardware didn't work. Now, I simply choose hardware that works with my mac. It's not that much more expensive, usually.
On the software side, my old workflow with terminals, SSH, and browsers is pretty much unchanged. The only thing I really liked but Apple dropped (and I hate them for it) was virtual desktops. For that, I use TotalSpaces2.
That said, I think you can still get a Dell XPS with Linux preinstalled, no?
Also, as someone who used to live next door to the creator of GNOME, saying it isn’t as polished as MacOS is quite an understatement.
What are you talking about here ? They are still there.
Four finger swipe up to get Spaces overview. Then click the plus button to add a new desktop.
I was referring to the ability to set up virtual desktops in a 2D grid, which was removed in OS X Lion. I got very used to a 3x3 grid of desktops where I can move around with Control + arrows. No animations, just instantly switching to another desktop. That is what I now use TotalSpaces2 for.
If you are developing, Linux is almost certainly better. The vast majority of languages have all their libraries available in the built in package manager, the included versions being guaranteed to work together.
I'm obviously not suggesting you run Arch Linux, but any Debian based distro will pretty much just work. And Ubuntu LTS doubly so.
I am by no means a Linux guru - I just grew disgusted with Windows and wasn't willing to switch to Apple.That said you can get some decent laptops now with full Linux support. You have to stick to that hardware though.
The situation today is a lot better. I believe some research into Linux support is still a good idea before purchasing, say, a laptop.
Assuming UNIX programming is the only thing developers are supposed to do.
They gave up the server line entirely, and the "pro" moniker seems to not mean what it meant in the past. Even the super popular Mac mini seems to be lacking investment.
It would be interesting to see an internal view of growth of investment dollars going into MacOS/desktop/laptop vs the tablets and phones. The recent bugs and vulnerabilities certainly seem to point at some neglect.
Linux is a great OS. I spend all day SSH'd into it. From a Mac. Because my workstation needs to work, and it's not going to work if I'm copying and pasting kernel code from Stack Overflow to get my trackpad to scroll the correct direction. I'm not a C programmer, so keep me as far from the kernel as you can.
The best environment for a computer scientist is the one that lets them get their work done in the most comfortable fashion. And for most of us, that's Linux on the server and something else on our workstations.
When was the last time you used a linux desktop, 2005? On any linux desktop I can think of (MATE, Gnome, KDE) this is a matter of going to Settings | Mouse & Touchpad | check or un-check the natural scrolling box as desired
I had to go into recovery mode last week because an automatic kernel upgrade broke.
You're doing that thing where you ignore the argument to refute a tiny irrelevant point of the argument.
Thats a rhetoic device for arguing without content, like the whole 'attacking the person not the argument'.
Your point is not compelling and does not refute the parent comment.
The thing is, though, desktop linux users are just used to this. Your choices boil down to:
1) do a lot of research and setup and then constant maintenance to restore settings that updates casually break, and understand that there will still be exceptions and gaps, or
2) try to stay inside the lines of Gnome, or Unity, or whatever ElementaryOS calls their graphical shell, and ignore the thousands of applications that do not match the look and feel of your chosen environment.
I keep going back and trying desktop linux every few years since switching from Gentoo to Mac in 2003, and sometimes I use it exclusively as my personal machine for months at a time, but in the end, frustration always drives me back into Apple's arms. :(
In any gnome 3 distro I've ever used, I've only ever had to change it in the gnome control center and it works system wide.
Right now I'm running solus mate and changing it in the mate mouse and touchpad settings is system wide and works in both qt and gtk apps...
Were you using a touchpad driver other than libinput?
(Actually, I do remember that in some versions you had to figure out how to trick the system into thinking you might have a touchpad before it would provide you a place to change the mouse wheel scroll direction, but that seems like a separate failure of preference panels, rather than the root of the issue).
Traveling and working remote, battery power is very important. You cant shutdown or sleep your computer seamlessly. Its just simple thing. It should just work.
Yes you can customize it as you wish but I dont want to. I want to spend time for actual coding and having time for myself.
This was a big moment for me. I was a huge anti-Apple guy, I had built my own laptops and used Android and everything had to be open and hackable. Until one day I just realized it wasn't fun anymore. I would have to stop what I was doing to fix some broken (virtual or real) duct tape that held everything together.
I bought my first Mac the month I replaced the CPU, then the motherboard (wrong socket), then the RAM (incompatible with my new mobo), and then was staring down a dying video card in my desktop. I realized I didn't want to fix it. I picked the wrong parts because I didn't care anymore, I didn't care enough to do the proper research. I spent all day fixing computer problems, I hated doing it on my own time too.
What I want is a computing appliance that lets me do my job and nothing more. I don't have that yet, I still have to deal with system updates and reboots and filesystem maintenance and all that nonsense with my Macbook, but it's closer. I've been considering a Chromebook but I have had bad luck with Google products in the past.
Not a month goes by where I don't re-read Mark O'Connor's "I swapped my MacBook for an iPad+Linode" series and find myself agreeing more and more.
http://yieldthought.com/post/12239282034/swapped-my-macbook-...
This is the real value of macOS. I agree that I liked it better when it was more Unix and less Apple unix-like but it's still better than fighting with your Linux config on a x86 machine.
- https://askubuntu.com/questions/604002/mouse-wheel-scrolls-i...
- https://askubuntu.com/questions/819662/how-to-invert-touchpa...
(They're mutually exclusive; I put the 1st one 1st as undoing that one is a case of rerunning the command replacing the '1' with a '0')
If the first one succeeds, try putting the command you used into ~/.Xdefaults and see if it sticks. The 2nd approach puts info into a file anyway.
If these fail, what desktop environment are you using?
The problem is "didn't work out of the box". Using Linux as a desktop OS can be a death-by-a-thousand-cuts experience. Sure, whatever problem you run into there's probably someone who's figured out how to solve it and posted instructions online. But if the solutions are known, then the operating system shouldn't have those problems out of the box.
First is the "violation of least surprise" principle. Linux as a UNIX is traditionalist to a fault, sometimes obsessively so beyond what is helpful. Scrolling is typically done inverted in X11.
So, that means this would need to be a configurable option.
From the standpoint you're talking (where the comparison is to macOS), now you're in UI territory, which has typically never been one of Linux's strong points.
Someone has go build the UI, but then that'll only be for one given desktop environment, and so now you have duplication of work. Unless every DE does that work, if you're not using one of the DEs that has done the work - well, you get no radio selection group or dropdown or whatever.
There are very real reasons why Linux isn't best in class. The politics, infighting and greybeard traditionalism does more to hurt the "it just works" flow other environments have.
(Note that I'm not saying "politics", "infighting" and "greybeard traditionalism" are the same thing; they're very different groups and issues, but they combine to form stalemates and inertial cancellations. For example, when traditionalism met systemd, the result was a vicious catfight instead of unified action. Things could have worked out where the community met Red Hat's lobbying with a list of terms and requirements. Nah; everyone just threw their hands up in the air and screamed instead. This is what's broken in Linux. I think KDE had it sorted in 1999 when they pragmatically grabbed the still-closed-source Qt and made a desktop environment out of it. Then GNOME came along and drowned everyone more political overhead than the W3C and Internet working groups combined, and user experience is definitively worse for GTK ever being created.)
I tend to use it everywhere... running a hackintosh on my desktop now, and mbp for personal laptop, and work assigned is another mbp.
However, if they go off of x86, that may drive me back to linux to be closer to prod/deploy environment.
xinput set-prop 'ELAN1200:00 04F3:301A Touchpad' 308 1
xinput set-prop 'ELAN1200:00 04F3:301A Touchpad' 295 1
You'll need to replace 'ELAN1200:00 04F3:301A Touchpad' with your touchpad device name, which you can find out with 'xinput list'That being said, many laptops which were originally for windows have issues like this too. Desktops are usually fine because they tend to use highly standardised components. Laptops, not so much. This is pretty much entirely because companies are not willing to write open source drivers, and the good integration of stuff in package managers only works if drivers fit the packaging requirements. This usually means open source. I imagine this is mostly a problem of slightly higher cost, but also embarrassment of the jankiness of code. For mass produced systems with volume in mind, where the target consumer barely cares about reputation, it just isn't a priority.
In other words, you have to go for something expensive while also not being an OEM who opposes openness.
tl;dr you need to do your research before you buy. Linux needs cooperation from all parties, you can't expect compatibility with everything.
I don't see a trend there. Some things always worked, while others didn't. Same for the current MBP's. It's the usual problem for hardware where the vendor doesn't provide Linux drivers: you need somebody to write these drivers in their spare time and only a few people are willing to do so. I maintain an overview of the Linux compatibility of the MBP's >=2016 (https://github.com/Dunedan/mbp-2016-linux/) and it's absolutely astonishing what a few people can achieve, even without documentation of the hardware. Given, the hardware support isn't that good yet in Linux, but if there would be 10 instead of 2-3 people working in their spare time on the drivers, first class support would be there pretty soon. So if you care about Linux compatibility of Macs: Get your hands dirty and do something about it!
> It's just not worth getting a Mac to run linux.
For me it's worth it, because it feels like somebody thought really hard about getting things right, which results in really, really nice hardware (except for the latest keyboards and the Touch Bar of course).
Isn't this the same argument people used when the Mac ditched the floppy, and then again when they ditched the CD-ROM drive?
Edit: Oh and also lack of CUDA support i.e. NVIDIA cards.
2. Professional photographers for a long time primarily used CompactFlash which has never had built in hardware support. So I can't imagine they are suddenly missing something they never had. It's the prosumers who were the heavy uses of SD cards and who were inconvenienced with the decision. Although most cameras come with WiFi these days so you can see Apple's thinking in removing the port.
3. Using a SD card as external storage is an awful idea. It was never designed for that much IO especially on OSX which can thrash storage devices pretty badly (check fs_usage). Just buy a USB-C enclosure and a 2.5inch hard drive like everyone else. Very cheap and comes in large sizes.
The old Model (15") (no new processor + no usb-c)
I fought software update and driver issues for years. I ran the most bog standard HP laptops that I could get, albeit w/ Nvidia GPUs. Every distribution upgrade there was something that went wrong. One of a list of usual suspects: video driver, power management, and wifi. Things were never completely broken. It would be something like not being able to close the lid, sleep, and properly recover. Or not being able to connect to wifi when coming back from sleep. Or not being able to stay connected to wifi after a couple hours and needing the kernel modules to be removed and reinserted.
I kept a set of hard drives so that I could always move to the next version of the OS on a clean install. I could fall back easily if the next release presented problems. I would tinker and fix the sort of issues you get with these random outlier driver problems and press forward. I had a good regimen going, but ultimately it was the power management issues that wore me down. Randomly finding the battery dead because the laptop didn't sleep when I closed the lid or not being able to properly return from sleep was just too much.
I've been running Linux for 20 years and I'm not willing to put up with these problems on my workstation. It seems like it must be a very small minority that can.
If you're going to have an actual destkop machine maybe you can avoid most of these problems. And maybe these things have been solved finally for laptops, but I wouldn't know, I moved on and haven't looked back.
What makes you think everyone faces the same issues as you? Maybe the problem is your specific hardware? I've been running linux based distros as my daily driver for over 10 years and literally never had any of the issues you described. Never had issues with power management, wifi always worked out of the box on all distros I've tried and suspend/resume always worked flawlessly. If you want a laptop that works well under linux, buy a thinkpad or a dell developer edition laptop.
I learned, the hard way, the truth of the cliché: Linux is free only if your time is not worth money.
I'd also like to add my voice as one of those who have used linux for over ten years with excellent out-of-the-box support for hardware. Often, linux will even offer a better experience by including support for obscure hardware out-of-the-box. No internet connectivity or hardware driver media required.
I realize my experience is anecdotal. However, for me and many others it seems, linux just works.
There seem to be a lot of misconceptions about the whole developer's environment thing. "Made by developers, for developers" and "all that money for such a closed box" sound a lot more like wishful idealism than actual "best tool for the job" pragmatism.
I also used to think linux was the best desktop, and did so for a long time, because of "by developers for developers, open-source" and other righteous sounding things. But believing you're using the best tools and actually doing so are two different things; I wasn't even living in Emacs or aware of how superior the VIM language is back then, so much for using the best tools ;)
Its easy to fool yourself into thinking you have the best tools, and its near impossible to tell you actually do.
Last I checked getting a 4K monitor to work under linux was a very involved series of configurations. My current MacBook has a retina display and effortlessly supports a 4K monitor as secondary screen. Retina alone is a game changer.
Combined with better text anti-aliasing it makes macOS by far the most pleasing/productive experience for development I've ever used (disclaimer: I have over a decade of experience in both Windows/Linux desktops.)
I stopped believing in desktop on linux a few years ago (and I really wanted it to work!) Things are getting more fragmented instead of unified; that adds lots of extra work for users and app developers, which result in a frustrating experience and vastly different UIs depending on versions/toolkits used. I don't think a commercial desktop will change any of that, even a fully dedicated and financed team will take years to barely get on-par with the desktop on macOS.
I feel like this is a wide enough class that you shouldn't speak for all of us. I spent years on Ubuntu and a bit in centos and then macOS and prefer the macOS UI over both gnome and awesomeWM and brew over apt and yum. For reference I use laptops and spend most of my time on the web, in git, various programming languages, and of course writing latex.
I have worked at three games development studios, some of the biggest in Europe and every single developer machine runs Windows.
Apple is as good as dead if they actually carry this out.
The other transitions (68k->PPC, and PPC->x86) brought with them nearly an order of magnitude increased raw performance, which let them paper over some of the emulation overhead in Rosetta or their 68k emulator.
They won't have the same intrinsic benefit working for them this time; it's hard to beat Intel at raw performance, especially single threaded.
By comparison, the 68k emulator on PPC wasn't even a JIT. It just interpreted 68k machine code, and even then it was still 2x faster than a native 68k.
Moore's law really helped them.with their previous transitions, but Moore ain't cashing checks like he used to.
So to start off with chips that, let's assume are only about 90% of the chips that you're replacing in native code, you're now at least under half the performance of x86 while emulating. And that means half the battery life too.
According to Anandtech report in 2006, btw, the real world difference was far less than 5x. Indeed, Intel chips had substantially worse FP performance back then, something Apple uses quite a bit in their graphics subsystem.
In other words, take this with a huge grain of salt.
Of course, I am already not buying another Mac until they give me a keyboard with a physical ESC and F-keys so maybe it doesn’t matter at this point.
I am going to miss running windows and linux VMs, and commercial software by microsoft, adobe, and blizzard. I'm also going to miss hand-optimized x86_64 assembly variants of ffmpeg, lame, x265, nodejs/v8, java hotspot, and more.
Anyone want to chime in on why Intel can't get more than 5% YoY while Apple has been getting 30-40%?
I will probably surpass Pizza Hut's growth in making pizzas this year.
Last year I made just a few, and only this month already two or three!
Compared to other ARM licencees they do beat the pants off of. This is probably why Apple put in a T1 chip and a touch bar in the Macbook Pro and the T2 chip (dedicated power module) in the iMac Pro. They are prototyping the individual pieces with Intel as the main processor so that they can attempt to swap the chip in 2020.
EDIT: nitpick on t1 and t2 chips.
In an iPad profile sure the heat dissipation is very limited. With even a basic passive heat sink (not just a spreader, but actual fins for surface area), much less active cooling like most laptop and desktops use, and the heat profile dramatically changes.
This change was inevitable -- recent A## chips have been just astonishing for passively cooled chips. The state of the art in binary translation, and the support for cross compiling across architectures, makes this a very doable transition.
https://www.youtube.com/watch?v=ctgAzn5Wx8o
If Apple can come up with something like Infinity Fabric, then they could steer the same course.
ARM was nowhere near there (for it had no need to) before modern smartphones. ARM in 2007 was single-issue in-order single-core topping out at ~600MHz.
I'd guess, but I don't know, that Apple's performance growth is coming from two places:
1. More multi-threading. Moble chips in general have been getting more parallel over time. It's pretty easy to construct synthetic benchmarks that benefit from this; it's less easy for general purpose applications, although they are coming along.
2. The GPU is improving. It seems like there is a lot of headroom here to improve. Apple's GPU is almost certainly substantially better than Intel's. This isn't really a huge problem for Intel, because for people who care, they can always get a discrete GPU. Super powerful GPUs can be very impactful for certain applications, but they just don't have general applicability.
In general, I'm pretty skeptical that Apple's CPUs are improving in the necessary areas to enable them to switch their pro lines. Moving over their Air and Macbook products to in house chips seems pretty straight forward.
My prediction in 2016, was that Apple would switch to ARM based laptops in 2019, so it looks like I am off by just 1 year.
A quick summary of my argument back then was that ARM was getting fast ENOUGH, but are considerably cheaper. Standardizing on one CPU architecture for all their products makes sense. In addition it allows them to differentiate themselves from competitors.
The only choice I am still uncertain about is the Mac Pro lineup. Since performance will matter a lot more in this segment it is harder to see a transition away from intel. A possible solution would be for apple to go massively parallel and simply use a lot of ARM CPU cores. Sure single thread performance wont be able to compete with intel but they might not need to.
A lot of the stuff you need a Mac Pro for like compiling large programs fast, video processing etc is likely very paralelizable.
Apple loves vertical integration and all, but selling chips is the reason nVidia exists. Apple could put out a clothing line, switch to building luxury watches or cars, or commit entirely into doing "fashionable audio" (Beats, Apple Music) to compete with Bose and still exist past computers - it's a lifestyle/fashion company masquerading as a tech company. Apple making chips is means to an end - to fill a hole in the market that Qualcomm and Samsung weren't able to. If it were anything more than that, Apple would be taking customer orders for A11s.
Meanwhile, nVidia's Project Denver and the whole Tegra stuff only came about after their plans to attack Intel head-on failed miserably. They hired up a bunch of Transmeta employees in the hope they could implement a binary translating CPU that would "cheat" them into being able to implement an x86 processor without the licensing stupidity. Intel's lawyers proved them wrong.
Just not worth the hassle compared to the price of an ARM license or sticking with Intel (or even just investing a huge chunk of cash in AMD to build super power efficient laptop chips, if you had any confidence that they could pull it off).
Essentially you cant just buy Intel, AMD, or VIA and acquire the rights to make x86/x86_64 processors. You could acquire a controlling or other majority ownership stake in one of the companies and then continue to run them as a wholly owned subsidiary.
In addition, Intel, AMD and VIA cant just license you the rights either. However you could enter into a Joint Venture with Intel, AMD, or VIA as a ‘passive partner’ whereby the subsidiary has inherited access to the technology. This route has been undertaken without legal repercussions so far to VIA. Zhaoxin is a joint venture between VIA Technologies and the Shanghai Municipal Government, and has so far produced a line of x86 compatible processors on a 28nm process for the Chinese domestic market that are apparently performance competitive.
Apple has more than enough cash to fund a joint venture with AMD or VIA that could enable them to bypass any possible complaints from Intel about emulation violating their intellectual property. Apple could take this route to build an ARM based processor that had sufficient x86_64 helpers to speed things up enough that the translation/emulation performance was negligible. Heck they could use this to design their own entire x86_64 CPUs and if it was with AMD they could borrow a GPU core they are familiar with too.
At the end of the day, Apple has enough money they can basically do anything they want with regards to technology.
The challenge will be successful execution in the face of a market that has become increasingly immune to the reality distortion field Apple projects, the demise of Steve Jobs significantly decreased the power of Apple to distort reality in a way that is consistently in its favour. Not so much of a ‘If Steve was still at Apple’ as simply ‘Apple isn’t the same now, and this changes the mathematics of the situation’.
> Apple could take this route to build an ARM based processor that had sufficient x86_64 helpers to speed things up enough that the translation/emulation performance was negligible
Totally agree, this is exactly what I thought when I read the story. There’s a lot of transistor budget these days for special hardware, especially in a larger / more power-hungry part that is substituting for something quite expensive (Intel chips).
Mac’s role as the heavy-lifter in Apple’s ecosystem means it has different trade-offs to consider, and my guess is that definitely points to a JIT or compatibility layer for legacy x86 apps. If that’s the case, it wouldn’t be worth the effort unless it could be reasonably performant, which means silicon. The optics would be really bad if they launch a platform transition and it was less than ~75% of last year’s computer.
With that said, they’ll be pushing hard for app developers to transition over, and might throw away that compatibility silicon after a few years. It’s a really cool thing to be your own chipmaker and have the levers that Apple does in this situation to add compatibility silicon and not just accept another architecture’s limitations.
x86 is a far more complex CPU architecture which they have zero experience in making. ARM in contrast they have experience with all the way back to Newton, and it has a nice licensing preposition.
I can't see them doing something different than ARM and x86. That would be an enormous undertaking to come up with an entirely new CPU architecture.
x86 really has nothing going for it architecture wise. It just has a market because Intel makes fast chips that run existing software. ARM is a better architecture, and Apple already has the toolchain to make software run on that architecture.
If you asked two equally competent chip makers to make a fast chip, and one was given x86 architecture and the other ARM, I am certain the ones who got ARM would win. x86 is just winning today because intel is filthy rich and can pour insane amount of money on x86 to make up for all this short comings.
People buy computers to run software. If they can't run their existing software on it, the computer has no value. Just like with the original PPC-to-Intel transition, where Apple provided a PPC emulator on Intel, if they go with ARM, Apple will have to provide Intel-to-ARM translation software in macOS for several years.
But now, a significant number people are using Macs as hosts for x86 Linux and Windows virtual machines. This changes the calculus a bit. It's one thing to emulate an ISA to run software in a user context; quite another to perform cross-ISA virtualization. QEMU can do the latter, but at a significant performance penalty.
It should also be noted that Apple is sitting on _much_ more cash than Intel. At the end of last year, Intel had $14B in cash on hand, while Apple had $285B.
Obviously, but my point was that this mattered more in the past. Apple has so many tools and arrangements in place today to make a transition less painful. They got fat binaries and bundles. They got bitcode. They have really strong control over the app delivery process by having it all go through their app store. Almost everybody use xCode which they also control.
I can't remember ever running very much on PPC emulation on last transition. Usually I used fat binaries. Apple has been through so many of these transitions and gotten better at it every time. This will likely be quit smooth.
"But now, a significant number people are using Macs as hosts for x86 Linux and Windows virtual machines."
Really? I've been a Mac user since OSX came out and have very rarely encountered people who do that. I think this user group is too small for Apple to care. Anyway Linux should work fine, and I believe Windows also runs on ARM although not all software so I think this is not as big of an issue as you might think.
Are you a software developer developing for Linux targets? That describes nearly _all_ back-end development work done in the last 10+ years in SF and Silicon Valley.
> Linux should work fine, and I believe Windows also runs on ARM although not all software
Have you actually tried running ARM virtual machines on ARM hosts for these two environments? This can hardly be described as a mature art. If even remotely usable software exists today for this purpose, I'd love to see it.
Even if it did, the fact that developers usually target x86 builds (for deployment in the server clusters) makes this less useful than one might otherwise think.
Such clairvoyance.
https://www.extremetech.com/computing/139677-the-threat-of-m...
In regards to audio applications like Logic and Ableton, single thread performance is probably the biggest factor. Individual plugins and effects are all single threaded within a DAW.
I wouldn't assume that Bitcode is a huge help with this. Per Chris Lattner in the linked transcript, "It's useful for very specific, low-level kinds of enhancements, but it isn't a panacea that makes everything magically portable."
Even having never built one myself, it remained a last resort of some kind in the back of my mind.
2. apple seems to be underestimate the value of openness in driving certain kinds of customers to their hardware (developers, for example). Further splitting the ecosystem will drive some users to linux laptops. (Hear hear).
3. intel's incentives are now highly aligned with the linux community (esp given msft's windows shutdown)
4. this is the first time since 2005 that there's a legitimate spread trade between intc and aapl.
Just because Apple says they are done with Intel and are making their own chips, does not preclude the possibility that they are simply working with a different x86 vendor on a custom/semi-custom design.
I see zero way Apple gets off the x86 architecture in the next few years, simply due to the tremendous software ecosystem that has grown up around the platform since the switch from PowerPC. They would have to offer a dual path for years to get their larger software partners prepared.
You may be underestimating the possible paths Apple has to a) transition software developers quickly with better tooling, and b) provide sufficiently performant JIT / compatibility layer by sprinkling a bit of x86 compatibility into future A-series chips, and you’re certainly underestimating the value in c) reducing complexity on the software-side.
Apple is already making their own GPU and CPU and throwing all their weight behind that, why would they hop onto the (brilliant but rather unreliable and on mobile totally unproven) AMD train?
What’s being suggested is not that Apple use AMD designs. It’s that Apple partner with AMD in order to gain licensing cover for their own largely or completely in-house engineered chips.
"Intel shares dropped as much as 9.2 percent, the biggest intraday drop in more than two years, on the news."
Ahh. That too.
Plus all of the ad revenue from all of the people clicking on this startling article. I don't trust Bloomberg for anything related to Apple.
It's not a question of price; it's about getting the chips they need.
Intel has missed a lot of targets in recent years, and (according to rumors) more than one recent Mac model has been delayed because Intel did not have the next chip generation ready in time.
Current Macbook Pros max out at 16GB RAM because the Intel chips don't support LPDDR4 RAM.
On iOS, Apple can control everything. They can plan ahead, and know that in 3 years they'll have the chips they need.
On the Mac side, they can only hope that Intel doesn't delay their roadmap longer than usual.
(The story about Marcipan (a shared iOS / macOS UI framework) seems unrelated to the chip issue. Sounds like they included it in this article only to make it look a bit more substantial. There is already a lot of shared code between macOS and iOS, and the CPU architecture isn't holding anything back in that regard.)
I wonder if anyone has seen side by side roadmaps of Apple and Intel's roadmaps, or projections of those roadmaps? I doubt Apple is moving away from Intel for pricing reasons, given the margins they work with. It seems more likely (or at least as likely) there are broader technical reasons. Feels like an apples-to-apples (no pun intended) comparison would be helpful.
This would be easy to do, if we knew what was on Apple's roadmap…
Correct me if I'm wrong, but wouldn't a change of processor architecture mean that the majority of the apps that currently run on Mac won't run anymore and would require the app developers to make extensive changes to make them run on the new architecture?
I've parted with my MBP after having used it for 4 years and switched to Arch Linux. It has been a blast so far, apart from the spotty HiDPI support and lack of built-in dictionaries. It's also much nicer than Ubuntu as a dev distro (not as a production distro of course) since you can install the newest version of almost any software you want in a flash without involving the messy PPAs. I was worrying about Apple's shifts in the recent years in the Mac line but they pale in comparison to this change. Gives me less of an incentive to use any Apple product for sure.
Why not just add capabilities to iOS and make an iOS laptop? The only thing I see missing is true multi-user support (not the hack they do in the education market) and pointer support.
They already invest a lot in the development of their ARM-based processors for iOS. I don't think the additional investment for making them ready for Macs would be that high. Take the 12" MacBook for example. I can even imagine they could simply stick the current A11 processor into it and it'd be fine.
> Would they make more money by selling ARM based Macs?
Yes. Profit margin would be much higher.
The only thing changing as far as cost would be the processor. Let's say they save $100 on the processor (not likely). They sell about 14 million Macs a year. That's only $1.4 Billion - pocket change to Apple.
Don't you worry you will have to cross-compile to run your programs on the amd64 server? Or how you are going to debug locally bugs that may arise from a different architecture? Or that homebrew could be in an inconsistent state for some years until all software catches up with the new architecture?
Actual hardware to test on is essential for debugging, but it’s not like ARM based Unix/Linux isn’t already a thing.
Assuming Apple doesn’t lock down the OS, I’d say that open source ports like Homebrew will be available almost immediately. It’s the closed source vendors with outdated development processes that might drag their heels.
I'd be more skeptical if Apple hadn't already pulled off CPU architecture transitions with impressive smoothness multiple times already.
Will Apple do an x64 CPU?
Or maybe x64 emulation? ...maybe with custom hardware assist?
Could they possibly do a crazy "you must recompile for ARM if you want to run on the latest Macs" thing?
The performance of Apple's ARM CPUs is already fine for the lower end of lappys, and have superior power usage. Moving up into midrange performance lappys doesn't seem like a stretch at all to me, or even higher end lappys, especially if you're looking for more cores. But what about iMacm, iMac Pro and Mac Pro? Does Apple really have a solid plan that makes ARM CPUs competitive there? Or will there be Intel-based Macs at the high-end and ARM-based Macs at the mid to low end?
Could Apple possibly tie all this to some unification of iOS and MacOS?
And/or tie it to a unification of the iOS App Store and Mac App Store?
Interesting stuff.
But this is probably the next best thing to have. A company that at least tries to be sensitive in terms of privacy and security building their own hardware, albeit not open. I respect Apple for that.
If Apple really plans on doing this, it MUST be because of some fundamentally new capability that they are either unwilling to divulge to Intel, or Intel is unwilling to invest in. Some kind of core change to the way that Macs interact with or behave with users; otherwise it just doens't make sense to me.
ARM? Walled garden of an app ecosystem? Command line?
There has been convergence between iOS and MacOS for a while now.
I'm sure this has been going on for a long time behind the scenes. That is what happened when the PPC -> x86 transition became public. Since Apple has it's own ARM chips/fab, I wonder if ARM is where they are going? It would make sense from a couple different points of view: Lower power use and security. Can there be equivalence between the two architectures, meaning would similar CPUs net you a similar workload?
There is much to like about the iOS app store, but there also is much to dislike. Apple is the gatekeeper here, and if they don't like your app, you are out of luck. That's not the case with MacOS, at least not yet. You can still write what ever kind of app you desire for what ever your client base may pay for and Apple can't really do much to stop you. Merging iOS and MacOS would need to address this.
Finally I use the command line a lot. I don't have access to that on my tablet or phone unless I jailbreak it which has it's own risks with doing so. If Apple decides this is no longer acceptable, that will certainly change my choices for getting work done.
I don't see a lot of good coming from this move.
Finally, the ARM and NVIDIA deals could make large strides in the market of getting blockchain ready and making machines purpose built for dealing with the inevitable future of blockchain in everything.
Apple once made PowerPC chips with Motorola, IBM, and others.
There is also a rumor of Apple using ARM chips with X86 codes or X86 emulation.
I'd like to see Apple make a version of a modern PowerPC CPU and use an ARM as a co-processor to run iOS stuff. Cut out Intel or do it via emulation like Rosetta did for PowerPC code.
But less credible that they will only use their own chips. However, there have been complaints that Apple's high-end hasn't been very high recently - maybe laying the ground-work, lowering expectations?
The got rid of the 3rd party ARM design in their iphones/ipads, going for their own ARM/AARCH64 design. They are currently in the process of getting rid of the PowerVR GPU, to be replaced with their own GPU.
Moving to their own AARCH64 CPU for laptops/desktops fits with that trend. Many people have been wondering 'when' this will happen, not if.
Moving to AMD doesn't fit with this long term trend.
I mean, I doubt if more than perhaps 5% of Apple internal dev can take advantage of "tight integrat[ion] of new hardware and software." This integration probably takes form of either some specific app (think Pixel camera phone), some specific library, or compiler optimizations. The first one (specific app) can be accomplished much cheaper through add-on chips (guess what, that's what Pixel does). The 2nd and 3rd can be done much more effectively through a generally available chips (like, well, Intel's chip) since more people, from vendor's engineers to researchers to random open source ninjas, would be able to experiment and help out.
In other words, from a purely technical point of view, there is absolutely zero reason to do this. Whatever happens, Intel is among if not the best capable chip producers. And Apple is not "disrupting" (i.e. focuses on unaddressed aspect), but merely directly competing with Intel's core competencies. It's not Amazon entering details against WalMart's. It's Target's competing against WalMart's, except they don't have Target's existing competencies. Which, again, makes no technical sense.
On the other hand, if they want to completely lock in users......
Tim Pritlove predicted this move for some years now on his freakshow(.fm).
Anyway the only interesting thing to me is if they will share a codebase between macOs and ios or if they will create something new and not based on darwin. Maybe they will take the step steve didn't want and switch to linux.
Sorry but transiting from Intel doesn't make sense to me. It would burn huge pile of money for very low benefit.
I claimed at the time, that I would bet him that apple would start making machines with Intel chips. He LOST it and said "THAT WILL NEVER HAPPEN!!"
And thought I was a complete moron for even suggesting as such.
:-)
Then again, wont happen
When it comes to the design part, Apple has gobbled up enormous amounts of talent and resources the last 10 years. PA Semi was one of the bigger ones:
What are the odds that Apple will just internalize x86 production, as opposed to doing a A11-style ARM derivative?
Zero, since it's wildly improbable that Intel would grant them a license to use the x86 architecture.
Moreover, the x64 was created by AMD, not Intel.
Factually wrong. Ask Microsoft. ;)
With the assistance of a veritable phone book of cross-licensing of patents with both Intel and VIA.
My strategy with any apple news: ignore it until its released or said from the horses mouth. Remember the iphones that had clickwheels like ipod rumors prior to the iphone? Thats what I consider this.
Just like this rumor might be.
It's not just feasible for Apple to develop new microarchitecture from scratch. Kalamata will license ARM technology. New microarchitecture takes 6-8 years to develop and it's huge investment even for companies like Intel, Amd and ARM.
Currently only Intel and Amd have high end desktops CPU's. ARM is likely enter as third with ARM architecture that Apple is licensing, but it will have relatively low performance.
Apple will likely take a hit in workstation markets for CAD and image processing application market but they are in the position to gain a lot in more common use cases if customers get better power/performance ratio.
I wonder what he'd say in this scenario. Not saying "Steve Jobs would have NEVER allowed this apple is going to shit", simply wondering if the effort required to move to x86 should be essentially discarded (depending on the implementation)
Edit: I agree with the replies, they are a good reminder to me of the sunk cost fallacy
That's a good point and a reminder to me of the sunk cost fallacy.
KDE connect is irreplaceable 5 minutes after you install it.
Down, right?
I find it very strange people think Apple SoC aren't any good for desktop workload.
https://browser.geekbench.com/v4/cpu/compare/7795892?baselin...
This is an Macbook Top Spec from Intel on a Fanless Design, against an iPad Pro also a fanless design. Let's ignore the small difference of TDP for a minutes because both are limited by its Fanless design, and Geekbench do runs on for a few minutes, so it is an indication or how close they are in these specific workloads.
The Intel Core i7-7Y75 can turbo boost to 3.4Ghz if needed, comparing that to max 2.4Ghz of the A10X. If we also ignore the frequency, iPad Single Core performance is with 10% of Intel's best Core processor at this TDP. The A10 core here is a generation older then the A11 used in iPhone X and iPhone8, and A12 coming in this September will likely have even better IPC.
The JavaScript testing performance on both Mac and iOS Safari shows performance is similar and A11 even edge out Intel in some cases.
So no matter how you spin it, in certain workload Apple A11 has already matched up or exceed Intel within a Fanless TDP design. That is excluding the advantage Apple will have on Multicore when it has 4x Core compared to 2 Core 4 thread in Intel.
Intel's 14nm++ is also matured and better then then TSMC 10nm, which is merely a testing node for its 7nm.
i.e Assuming Apple wanted to, they could have a 7nm Quad Core A12X shipping in 6 months time that is better then Intel's Core at Fanless TDP or <15W design, at 1/3 of the cost.
The reality is Intel hasn't been executing its plan for a few years. And If this rumours is true it is only themselves to blame. When Apple were designing its 2015 Macbook, Intel's roadmap were clear, three years later in 2017, the Macbook was suppose to have Quad Core in its design. And looking at all the latest roadmap, it doesn't seem there will be a 10nm Quad Core CPU shipping this year either. Not in fanless design. We are looking at 2019 march, four years since its introduction to get that through.
Then there is the LPDDR4 memory support. You wanted 32GB Laptop Memory? Well Intel doesn't allow you to have it. Not even in 2018. The delay in 10nm, the little to no improvement in IPC, AVX2 is very much a niche. As a normal customer I dont really have a reason to buy Intel anymore unless you want absolute Price / Single Core Performance, otherwise AMD is a much better choice. So I dont think we are the one who are frustrated. Apple is likely too.
I also wonder how this moves means in the Modem space. Which is the much more important pcs for Apple. I have often argued one reason Apple didn't make the Mac to ARM move earlier was because Apple needed Intel's modem to fence off Qualcomm's "double dipping". Now that Broadcom failed to acquire Qualcomm, Intel is being dumped from Apple. Does that mean Apple is going back to Qualcomm modem soon? Likely along with a deal of using Qualcomm Centriq on servers and likely later in Pro lineup of Mac?
Previously Apple's rumoured Project McQueen were to bring all the Server inhouse, using less resources from AWS, Azure and Google. Apple is a large Server customers on its own. If Qualcomm has Apple to kick start its Server CPU business, along with Apple push to help PC transition to ARM, it may be well worth Qualcomm to lower its royalty and modem prices.
With their focus on iOS vs MacOS, this doesn't surprise me. MacOS will simply die once they port their tools to iOS.
Terrible choice IMO.
If they had any doubts all they had to do was say nothing -- which is their strong preference -- and it would have remained clear that the Mac Pro was dead.
Making a strong "trust us, we're working on it" statement and then canceling would be a pretty bad unforced error. Not impossible, but with their top-down, forward-looking decison-making process it seems very unlikely to me.
It's much more reasonable that they'll do a "best effort" in the high end space but it won't be comparable to a Xeon. You can see the iMac Pro as a prelude to that. A beefy machine to be sure but not what you'd expect for top of the line.
But if they really are committed to the Mac Pro (and if this rumor is essentially true), then they must be planning something pretty extraordinary:
1. They actually have a solid plan on how they are going to make CPUs competitive with Intel Xeons over the next ~2-4 years.
2. They're planing on a bifurcated line, where some Macs have Apple CPUs and some have Intel CPUs... presumably with different architectures. I guess 2b. would be that the Apple CPUs will actually be x64 compatible.
It all seems pretty crazy, but Apple has done this kind of thing before, and done it rather smoothly. I guess time will tell.
Intel has been iterating their design decades longer and was in stiff competition for much of that time period. They will be hard to catch in the desktop/laptop space for anyone starting with a cell phone CPU.
ARM has not had real competition in their market, most chipmakers are licensing ARM tech, so they should be easier to catch up to, which Apple has done (with a healthy dose of borrowed ideas from ARM).
Before they went to Intel, they were at the mercy of Motorola, which couldn't keep up with Intel.
The problem Apple had with IBM was that IBM didn't care enough about power efficiency to make the chips viable in laptops. They also weren't that interested in fast iterations of incremental improvements.
When the G4 first game out, it was far, far ahead of x86. Apple offered it at 350, 400 and 450 MHz but shipped maybe a few hundred or a few thousand at 450 MHz and a few tens of thousands at 400 MHz. Those computers blew the Pentium out of the water. Intel eventually caught up and passed them purely on manufacturing ability.
Then the G5 came out, which was a beast of a processor. But it never came out for mobile, and IBM only upgraded the speed once or twice before Apple went for Intel.
https://en.wikipedia.org/wiki/PowerPC
PowerPC (with the backronym Performance Optimization With Enhanced RISC – Performance Computing, sometimes abbreviated as PPC) is a reduced instruction set computing (RISC) instruction set architecture (ISA) created by the 1991 Apple–IBM–Motorola alliance, known as AIM. PowerPC, as an evolving instruction set, has since 2006 been named Power ISA, while the old name lives on as a trademark for some implementations of Power Architecture-based processors.
Now that they have the upper hand, they are free to go back to their old ways without much considerations about opennesses.
With the PC sales declining and most OEMs following back to the old ways of integrated computers, before of PC components revolution, I guess most regular users will use follow along.
If the macOS/iOS developers still can get their share of the cake, most things will hardly change, although they might loose those that only use macOS as a pretty UNIX.
The question is how relevant are those sales currently.
Apple will not suffer in 2020 from having lower performance than intel. It wont matter. Form factor, screen quality, memory speed, memory size, touch pad, battery life etc will matter so much more.
Multi threading is also so much more common on pro app which require performance. They can just match intel by using more cores. ARM is way cheaper than intel so I don't see how they can lose this game. PPC was an entirely different world.
The mac mini is essentially 1700 days old since they downgraded the processors.
I only have macs because I build apps on them. I buy used and as inexpensively as possible. Using an old i5 for development currently.
I wanted to be an Apple fanboy, but having to rebuy critical software for even point releases because of stability killed that off for me long ago.
Best Apple I've ever owned (beyond my //e) was the Dual Processor Quicksilver. Case opened on the side, you had many upgrade options and it even looked nice (irrelevant to me but I'm sure that matters to some).
ARM will simply be the new PPC. You think things like supporting external graphics cards (yay they just got limited AMD support) and having high end rigs isn't what people want, especially in the gaming community?
Apple's switch to PowerPC which gave them a performance lead over Intel for five years and kept them competitive for another five or Apple's switch to its own ARM Core designs which have given them a 12-24 month performance lead over the entire Android ecosystem?
Bear in mind that Apple dominates the high-end desktop / laptop market, both in market share and profit share* which could put a huge dent in Intel's economies of scale for high end consumer CPUs.
* I'm assuming these figures omit servers. Also, there was a lot of noise in around 2009 saying that Apple had over 90% of the high-end PC market, but I've not seen more recent figures one way or another. Given that PC prices seem to have, if anything, slipped, I doubt it's gotten worse for Apple (and goodness knows the tech press loves any statistic that makes Apple look bad).
The problem with switching to a different architecture is that if it falls behind Intel, people will say "not as fast as a PC." If you stay with Intel and it falls behind, people say nothing. It's risk vs. no reward.
Bye bye Apple. Nice to have known you. Game over-Linux wins, we all win. No more proprietary OS.
Fortune Magazine in 2008: Think of Cook’s contribution like this. There are two basic ways to get great profit margins: Charge high prices or reduce costs. Apple does both. The marketing and design drive consumers wild with desire—and make them willing to pay a premium; Cook’s operational savvy keeps costs under control. Thus Apple is a cash-generating machine. Cook has called the company a place that is “entrepreneurial in its nature but with the mother of all balance sheets.” At last count that meant $24.5 billion in cash and no debt.