9 ms·
>Mac ARM laptops mean cloud ARM VMs. What is the connection here ? ARM servers would be fine in a separate discussion. What does it have to do with Macs ? Macs
by bubblethink 6y ago
>Mac ARM laptops mean cloud ARM VMs.
What is the connection here ? ARM servers would be fine in a separate discussion. What does it have to do with Macs ? Macs aren't harbingers of anything. They have set literally no trend in the last couple of decades, other than thinness at all costs. If you mean that developers will use Gravitons to develop mac apps, why/how would that be ?
- Torkel 6y agoTo quote Linus Torvalds: "Some people think that "the cloud" means that the instruction set doesn't matter. Develop at home, deploy in the cloud. That's bull*t. If you develop on x86, then you're going to want to deploy on x86, because you'll be able to run what you test "at home" (and by "at home" I don't mean literally in your home, but in your work environment)." So I would argue there is a strong connection.
- bubblethink 6y agoBut that's the other way round. If you have an x86 PC, you can develop x86 cloud software easily. You don't develop cloud software on a mac anyway (i.e., that's not apple's focus). You develop mac software on macs for other macs. If you have to develop cloud software, you'll do so on linux (or wsl or whatever). What is the grand plan here ? You'll run an arm linux vm on your mac to develop general cloud software which will be deployed on graviton ?
- bigiain 6y ago> You don't develop cloud software on a mac anyway I've got anecdata that says different. My backend/cloud team has been pretty evenly split between Mac and Windows (with only one Linux on the desktop user). This is at a Java shop (with legacy Grails codebases to maintain but not do any new development on).
- skinkestek 6y ago> If you have to develop cloud software, you'll do so on linux (or wsl or whatever). I think you are vastly underestimating how many people use Mac (or use Windows without using WSL) to develop for the cloud.
- wolfgke 6y ago> I think you are vastly underestimating how many people use Mac (or use Windows without using WSL) to develop for the cloud. The dominance of Macs for software development is a very US-centric thing. In Germany, there is no such Mac dominance in this domain.
- unicornfinder 6y agoTo be fair in the UK Macs are absolutely dominant in this field.
- physicsguy 6y agoDepends very much what you're doing; certainly not in my area (simulation software) at least, not for other than use as dumb terminals.
- ahartmetz 6y agoYes, in Germany it's mostly Linux and Lenovo / Dell / HP desktops and business-type laptops. Some Macs, too.
- evgen 6y agoGiven the fact that the US has an overwhelming dominance in software development (including for the cloud) I think that the claim this is only a US phenomenon is somewhat moot. As a simple counter-point, the choice of development workstation in the UK seems to mirror my previous experience in the US (i.e. Macs at 50% or more.)
- nostrebored 6y ago
- leadingthenet 6y agoMac is actually way better for cloud dev than Windows is, since it's all Unix (actual Unix, not just Unix-like). And let's be honest, you'll probably be using docker anyway.
- jchw 6y agoIf the cloud is mostly UNIX-like and not actual UNIX, why would using “real UNIX” be better than using, well, what’s in the cloud?
- Koshkin 6y agoAgree, although I think this is kind of nitpicking, because "UNIX-like" is pretty much the UNIX we have today on any significant scale.
- TickleSteve 6y agoArguably now, with WSL, Windows is closer to the cloud environment than macOS. Its a true Linux kernel running in WSL, no longer a shim over Windows APIs.
- socialdemocrat 6y agoThat is just utter pain though. I’ve tried it and I am like NO THANKS! Windows software operates too poorly with Unix software due to different file paths (separators, mounting) and different line endings in text files. With Mac all your regular Mac software integrates well with the Unix world. XCode is not going to screw up my line endings. I don’t have to keep track of whether I am checking out a file from a Unix or Windows environment.
- mmm_grayons 6y agoYour line-ending issue is very easy to fix in git: `git config --global core.autocrlf true` That will configure git to checkout files with CRLF endings and change them to plain LF when you commit files.
- flohofwoe 6y agoI develop on Mac, but not mainly for other Macs (or iOS devices), but instead my code is mostly platform-agnostic. Macs also seem to be quite popular in the web-frontend-dev crowd. The Mac just happens to be (or at least used to be) a hassle-free UNIX-oid with a nice UI. That quality is quickly deteriorating though, so I don't know if my next machine will actually be a Mac.
- bubblethink 6y agoTrue, but then the web-fronted dev stuff is several layers away from the ISA, isn't it ? As for the unix-like experience, from reading other people's accounts, it seemed like that was not really Apple's priority. So there are ancient versions of utilities due to GPL aversion and stuff. I suppose docker, xcode and things like that make it a bit better, but my general point was that didn't seem like Apple's main market.
- Siira 6y agoIt works great though, thanks to Homebrew. I have had very few problems treating my macOS as a Linux machine.
- cat199 6y ago> So there are ancient versions of utilities due to GPL aversion and stuff. They're not ancient, but are mostly ports of recent FreeBSD (or occasionally some other BSD) utilities. Some of these have a lineage dating back to AT&T/BSD Unix, but are still the (roughly) current versions of those tools found on those platforms, perhaps with some apple-specific tweaks.
- chrisseaton 6y ago> You don't develop cloud software on a mac anyway You must be living in a different universe. What do you think the tens of thousands of developers at Google, Facebook, Amazon, etc etc etc are doing on their Macintoshes?
- deleted 6y ago[deleted]
- Kye 6y agoThey individually have a lot of developers, but the long tail is people pushing to AWS/Google Cloud/Azure from boring corporate offices that run a lot of Windows and develop in C#/Java. edit: https://insights.stackoverflow.com/survey/2020#technology-programming-scripting-and-markup-languages-professional-developers https://insights.stackoverflow.com/survey/2020#technology-pr...
- danans 6y ago> What do you think the tens of thousands of developers at Google ... are doing on their Macintoshes? I can only speak of my experience at Google, but the Macs used by engineers here are glorified terminals, since the cloud based software is built using tools running on Google's internal Linux workstations and compute clusters. Downloading code directly to a laptop is a security violation (With an exception for those working on iOS, Mac, or Windows software) If we need Linux on a laptop, there is either the laptop version of the internal Linux distro or Chromebooks with Crostini.
- bubblethink 6y ago>What do you think the tens of thousands of developers at Google, Facebook, Amazon, etc etc etc are doing on their Macintoshes? SSH to a linux machine ? I get that cloud software is a broad term that includes pretty much everything under the sun. My definition of cloud dev was a little lower level.
- bigiain 6y agoThis is the same Linus who's recently switched his "at home" environment to AMD... https://www.theregister.com/2020/05/24/linus_torvalds_adopts_amd_threadripper/ https://www.theregister.com/2020/05/24/linus_torvalds_adopts...
- MaxBarraclough 6y ago> If you develop on x86, then you're going to want to deploy on x86 I can see this making sense to Torvalds, being a low-level guy, but is it true for, say, Java web server code? Amazon are betting big on Graviton in EC2. It's no longer just used in their 'A1' instance-types, it's also powering their M6g, C6g, and R6g instance-types. https://aws.amazon.com/about-aws/whats-new/2019/12/announcing-new-amazon-ec2-m6g-c6g-and-r6g-instances-powered-by-next-generation-arm-based-aws-graviton2-processors/ https://aws.amazon.com/about-aws/whats-new/2019/12/announcin...
- vbezhenar 6y agoI agree about Java. I'm using Windows to write Java but deploy on Linux and it works. I used to deploy on Itanium and also on some IBM Power with little-endian and I never had any issues with Java. It's very cross-platform. Another example is android apps development. Most developers use x86_64 CPU and run emulator using intel android image. While I don't have vast experience, I did write few apps and never had any issue because of arch mismatch. High level languages mostly solved that issue. Also note that there are some ARM laptops in the wild already. You can either use Windows or Linux. But I don't see that every cloud or android developer hunting for that laptop.
- ravedave5 6y agoIt works until it doesn't. We had issues where classes were loaded in a different order on linux causing issues that we could not repro on windows.
- MaxBarraclough 6y agoInteresting, but in that case you changed OS rather than changing CPU ISA, so not quite the same thing.
- mark-r 6y agoNo, it's exactly the same thing. The more variables you change, the harder it will be to debug a problem.
- ben-schaaf 6y agoIf you're on a low enough level where the instruction set matters (ie. not Java/JavaScript), then the OS is bound to be just as important. Of course you can circumvent this by using a VM, though the same can be said for the instruction set using an emulator.
- drcongo 6y agoBecause if you're developing apps to run in the cloud, it's preferable to have the VM running the same architecture that you're developing on.
- piva00 6y agoBecause when you get buggy behaviour from some library because it was compiled to a different architecture it's much easier to debug it if your local environment is similar to your production one. Yeah, I'm able to do remote debugging in a remote VM but the feedback loop is much longer, impacting productivity, morale and time to solve the bug, a lot of externalised costs that all engineers with reasonable experience are aware of. If I can develop my code on the same architecture that it'll be deployed my mind is much more in peace, when developing in x86_64 to deploy on ARM I'm never sure that some weird cross-architecture bug will pop up. No matter how good my CI/CD pipeline is, it won't ever account for real-world usage.
- LoSboccacc 6y agoon the other hand, having devs an alien workstation really put stress into the application configurability and adaptability in general. it's harder in all the way you describe, but it's much more likely the software will survive migrating to the next debian/centos release unchanged. it all boils down to the temporal scale of the project.
- piva00 6y agoI'd say that on my 15 years career I had many more tickets related to bugs that I needed to troubleshoot locally than issues with migrating to a new version/release of a distro. To be honest it's been 10 years since the last time I had a major issue caused by distro migration or update.
- jonplackett 6y agomaybe what he means is, if macs are jumping on the trend, man that must be a well-established trend, they're always last to the party.
- pavlov 6y ago> "Macs aren't harbingers of anything." I have to agree. It's not like we're all running Darwin on servers instead of Linux. Surely the kernel is a more fundamental difference than the CPU architecture.
- apetrovic 6y agoARM Macs means more ARM hardware in hands of developers. It means ARM Docker images that can be run on hardware on hand, and easier debugging (see https://www.realworldtech.com/forum/?threadid=183440&curpostid=183486\ https://www.realworldtech.com/forum/?threadid=183440&curpost...).
- socialdemocrat 6y ago> They have set literally no trend in the last couple of decades, other than thinness at all costs Hahaha then you have not kept attention. Apple led the trend away from beige boxes. Style of keyboard used. Large track pads. USB. First to remove floppy drive. Both hardware, software and web design has been heavily inspired by Apple. Just look at icons used, first popularized by Apple. Ubuntu desktop is strongly inspired by macOS. Operating system with drivers preloaded through update mechanism was pioneered by Apple. Windows finally seem to be doing this.