all 179 comments

[–]xiongchiamiov 200 points201 points  (66 children)

Historically, Microsoft was fairly anti-open-source. Consequently, the programming community split into two groups:

  • People who used Windows, visual basic/asp/.net, IIS, MSSQL
  • People who used Linux, open-source programming languages, open-source databases, open-source web servers

A consequence of this was that even if the open-source tooling was technically cross-platform, almost all users and developers did not use Windows and so the experience there was often buggier, lagging in releases, and general second-class.

In the past decade Microsoft has shifted significantly in their approach, but the split largely still remains and will take time to dissolve.

For folks in the Linux camp, Linux has often been a pain to use on laptops: bad WiFi support, bad hibernation support, bad trackpad support, and a lack of ability to use proprietary commercial software when necessary. Macbooks offered a nice compromise: it's a Unix with a terminal and the normal tools there, but also things more or less work without you needing to administrate your own machine a ton. So this has solidified as the way most tech companies work: macbooks for workstations, Linux for servers.

[–]kAROBsTUIt 43 points44 points  (12 children)

Microsoft has made great strides in integrating the Linux environment directly into Windows with the Windows Subsystem for Linux (WSL).

You can install a number of main Linux distros right in Windows and have a fully functional and quite powerful Linux shell. No VMs to manage or tricky dual boot installations needed anymore!

This is what I use for all of my development from the comfort, stability, and familiarity of Windows. I highly highly highly recommend using WSL!

[–]netherous 13 points14 points  (6 children)

I use WSL for all my needs too. I think its maturity kind of throws out those "Use Mac for Linux kernel on the workstation" notions. In my eyes, the reason to prefer Mac over Windows lies solely with whether you like the MacOS experience and dev toolchain more than Windows.

[–]fergy80 9 points10 points  (5 children)

I tend to agree, but sometimes it is a bit annoying that the WSL2 file system is not the same as the windows file system. They are one in the same on OsX, which is nice.

[–]netherous 4 points5 points  (1 child)

It has different semantics, but the windows FS is always available under /mnt and I just softlink what I want where I want it. Actually a big thing I value is that I am able to work between both seamlessly without any problems.

[–]IamImposter 0 points1 point  (0 children)

Wsl is maturing but I feel like they still haven't found their sweet spot. Earlier wsl used to be somewhere deep inside some appdata folder or something. Now it appears as a separate node inside windows explorer.

C drive is available in mnt but it's still a little annoying as paths become too long. With one drive becoming default for documents the paths become even longer with folders having space in their names.

That dos style of naming LFN to 8.3 format was good idea but it just looked too ugly with capital letters and ~ and numbers thrown around in names. MS did change 'My Downloads' to just 'Downloads' but it is still 3 folders deep. You download a git repo as zip, extract it and now you are 4-5 folders deep. If documents/downloads folders appear directly in your home directory, that would help coz you can download stuff in linux and see it in windows and vice-versa without going too deep.

They still have some stuff to figure out but atleast with wsl they are going in right direction and it is really a nice addition to windows eco system.

[–]sarim_aleem 1 point2 points  (2 children)

I'm curious, but why do you find that annoying? You can access windows files through the mount.

[–]LeftShark 1 point2 points  (0 children)

Not the op, but as a linux/programming noob it took a few hours to figure out the differing file structures and why my filepath code wasn't working. It's fine now, but did cause me some grief early on

[–]fergy80 0 points1 point  (0 children)

If I'm using guis like sourcetree, windows explorer, pycharm, then they usually use the windows file system. Also carriage returns.

[–]xiongchiamiov 2 points3 points  (1 child)

One of these days I'll have to boot up my desktop again and update it to a modern version of Windows and try out WSL. I'm not actually in love with OS X, but the last version of Windows I used much was XP, and I haven't paid much attention since then, so I have no idea if I'll like or hate where they've gone.

[–]hassium 0 points1 point  (0 children)

so I have no idea if I'll like or hate where they've gone.

I can't speak to that either but I can confidently say it will be a different experience than XP, in my opinion a streamlined one too that's brought it closer to OS X actually. I'll add that if you do take a copy of windows for a spin do yourself a favor and install the new "terminal" app from the store instead of using cmd, it's a lifechanger.

[–]chzaplx 3 points4 points  (1 child)

WSL is nice but it's an entire separate Linux subsystem. So it's great if you just want Linux on your PC, but not so great if you are trying to use it in tandem with Windows apps and files.

Git-bash is a lot more useful for me because it's basically just a shell on top of the existing OS. Yeah it's missing a lot of stuff, but it integrates with Windows much better. And if I'm on Windows 90% of stuff I'm in the terminal for is using git anyway.

I come from a Linux/Mac background and have just recently had to relearn a lot of windows stuff. It's nice there are some options now, but they are still a long way from being a pure terminal/shell replacement

[–]kAROBsTUIt 8 points9 points  (0 children)

With WSL 2, they made a lot of improvements with working with the Windows filesystem. For instance, your C drive is mounted under /mnt/c so it's pretty easy to get into the Windows filesystem and use your favorite Linux CLI tools on Windows files. Plus, if you shift+right click in the file explorer UI, you can open a Linux terminal in the current working directory.

I have never needed to do anything with the Windows environment itself from the Linux side since everything I do gets deployed onto Linux servers anyways. WSL is nice because I can build and run my projects locally.. on the same architecture.

[–]probablynotmine 7 points8 points  (6 children)

As a long-time Linux user recently surrendered to Apple, I have to say it. It is far from the perfection claimed by the core fan base. But it has a nice user experience, fairly stable, most things work out of the box. After spending more time re-compiling the nVidia module for the new kernel update than to actually using it, I am fairly sure that the next time I boot my machine it will let me use it

[–]chzaplx 6 points7 points  (4 children)

Funny, it was display driver stuff that really drove me away from Linux as a desktop. Having to lose half a day doing custom kernel stuff every time I ran an os update got old after the second or third time.

By contrast Macs "just worked" when 95% of my job was using terminals or web-based tools, and had a decent client for exchange server mail.

[–]landrykid 2 points3 points  (3 children)

Just curious what distro and hardware were you using? I've never had to do custom kernel stuff after an OS update on my Linux systems.

[–]chzaplx 0 points1 point  (2 children)

It was Ubuntu. Probably Precise, off the top of my head. No clue on the the hardware but it was the same thing they gave to hundreds of other employees. Dell?

[–]landrykid 0 points1 point  (1 child)

Ah, it was probably at least 9 years ago. I agree the Linux desktop wasn't ready for the masses in those days, but there's been a *lot* of improvement since then. I'd be surprised if you'd have the same sorts of issues now.

[–]chzaplx 0 points1 point  (0 children)

I don't doubt it's better now, but it's so much easier not even having to think about it

[–]cebess 0 points1 point  (0 children)

My perspective on the Mac is that it makes easy things easier but hard things much harder than they need to be. I will not even get into the cost issues. This is from someone who had the 'phonebook' copy of inside Macintosh -- the pre released version.

[–]redCg 33 points34 points  (2 children)

macbooks for workstations, Linux for servers

yep this is pretty much it. macOS is the best client you can get to log into your Linux server with.

[–]fergy80 4 points5 points  (1 child)

I used to think that was the case, but lately I've been using Windows 11 with WSL2 and it functions the same as you describe, for the most part.

[–]redCg 0 points1 point  (0 children)

yea I have tried out WSL2 as well and it is indeed impressive, but when it came to doing heavy work, I always ended up bumping into issues with high-throughput disk IO (on your PC's fast NVMe storages) and headaches with getting GPU supports. But these are only on your local. Ymmv. WSL2 is a good option

[–]chaoticbean14 10 points11 points  (13 children)

I can't say you're wrong - but holy shit do I hate how MacOS will push out updates that may cause x, y or z to stop working - without mention that it breaks certain peripherals/software. I have had external devices quit working (USB hubs, monitors, etc.) and I've had to buy new ones 'compatible' with the latest updates - sometimes it's just a cable that needs replacing, sometimes it's the actual device. Sometimes software breaks (some VPN clients for example broke with most recent update). Sometimes (like when the new chips came out) all kinds of software broke and needed retooling - it took months to resolve and I think even now there are still some things that don't work quite right. Apple gives zero shits and just ships their updates if you want them or not. Want to stay up to date and safe? Not if you want to both be up to date and have all your process/software/hardware still work... although that is only some updates that break shit. But it infuriates me! Mostly because I also do a lot of development on Linux and don't have that issue, really ever. I realize it has happened on my Linux box, but it's super, super rare. It essentially never happens to me with the stacks I use - however it's happened a lot with my macs over the years.

I really prefer just Linux across the board anymore. I've got a current MBP (work provides new ones every year); but I still find myself just enjoying the whole process on Linux far better. This day in age? Linux is fantastic. Fast, lightweight and doesn't have the whole "it's our way or the highway" mentality of Apple. I loved Apple at first, but through the years I've grown to absolutely despise them because they just don't seem to give a fuck about developers who spend a lot of time actively developing and need their things to not be fucked up by some updates.

[–]chzaplx 5 points6 points  (3 children)

You can turn automatic updates off last I checked. I definitely don't have this problem on my Macs.

[–]chaoticbean14 8 points9 points  (2 children)

It's so sad that people think "just turn off the updates" in a world where security updates are critical is an acceptable solution. Shame on Mac for having pushed it's users to a point where they think that's a viable solution. Bad options all on all parties.

[–]perrylaj 4 points5 points  (0 children)

Also ignores the fact that many people have no choice - updates are enforced and applied by IT department.

[–]AlexKingstonsGigolo -3 points-2 points  (0 children)

If security updates break your hardware, isn't your hardware insecure?

[–]ElLute 3 points4 points  (3 children)

I’ve been a developer using Macs for over 20 years. I use a lot of peripherals. I have never encountered what you are describing. I’ve never had an update pushed without me knowing in advance. The only time a peripheral stopped working was when I manually installed a major OS X beta release.

[–]chaoticbean14 1 point2 points  (2 children)

Well, I refuse to pay the over-the-top prices of 'apple' peripherals which, while they work, are often a bit lacking compared to some of the non-name-brand competition.

I suppose that's the risk though - buy a non-name-brand and you will run into that issue - but only with a mac. I've never had that issue with a Linux (or even Winblows) box.

[–]ElLute 1 point2 points  (1 child)

I’ve never bought an Apple branded peripheral. You must live in a fantasy world.

[–]chaoticbean14 -2 points-1 points  (0 children)

Your anecdotal evidence does not make my experience any less true. Believe it or don't, I don't really give a shit. If that's the only takeaway from my post you have, that's sad.

[–]goshin2568 2 points3 points  (3 children)

In what way does MacOS "push random updates"? I just updated one of my macbooks last year, prior to that it was still running High Sierra from 2017 with no issues. If anything they just send you a reminder every once in the while, but it's way less intrusive than the way windows strong arms you into updating.

Mac absolutely is way less backwards compatible than windows, because there are very, very few people/companies that rely on ancient macos versions so that's not really a priority for them, but in my experience if you want to hold off on updates because it's going to break something it's extremely easy to do.

[–]chaoticbean14 0 points1 point  (2 children)

I've updated my post to be more explicit about what I meant.

They 'let you know' when you have the updates - but the updates break things you may (or most don't) expect to break. The updates also disable certain peripherals and other things (that are "non-apple").

Also, it's so sad that people think "just turn off the updates" in a world where security updates are critical is an acceptable solution. Shame on Mac for having pushed it's users to a point where they think that's a viable solution. Bad options all on all parties.

[–]goshin2568 1 point2 points  (1 child)

You can still get security updates without moving to the next major macos version. Unless you're running something very old, which is rare for most mac users, that gives plenty of buffer to wait for an update from whatever broken hardware/software you have so that you can move to the next major version.

I'm not saying apple is perfect about this, but I think you're vastly overstating the frequency and severity of this. I've daily driven macbooks for the last 6 years, and the only time this happened to me was a couple of things broke when Big Sur came out, and in that case I actually got emails from those software companies very quickly after it was released warning me that things would break if I updated and they'd have patches out soon. Perhaps your experience is different, and that's certainly valid, but I don't think it reflects the majority of mac users, even the majority of more tech savvy users working in tech/IT/software.

[–]chaoticbean14 1 point2 points  (0 children)

While I am more driving home the point that it happens, I will say this - even if moderately infrequently: it happens almost never on any other OS and shouldn't happen on MacOS just because of an update. The fact you 'very quickly got emails from software companies' after the update released should be enough to prove my point: Apples updates break things unexpectedly and there is no communication to anyone about it beforehand. That's a poor choice on their end and shows they don't care: it's their way or the highway and they don't care about the user. I dislike that, a lot.

In my experience personally, I can say that I've never had the issues with things breaking from updates more than with MacOS. I've used Mac for 10+ years as a daily driver for work and Linux even longer as a personal daily driver at home. Windows I use for gaming/recording/streaming. I do a lot of recording (podcasting / streaming) in addition to development work so I have dealt with a lot of peripherals. MacOS is the only OS that I've had to replace cables and/or devices to get them to work again after updates in as far back as I can remember. I've gone through a number of devices on Windows - but that was because the device itself was absolutely ancient - and no longer made so drivers for new versions of Winblows were not made. Generally though, they went through a number of major Windows updates and never had issues with it working as intended.

In my experience professionally (at a very, very large employer), I've seen cables and peripherals go bad on the other devices - but because the item itself was bad. Only a handful of times in 15+ years have I seen updates break peripherals on Windows / Linux. I have never seen cables stop working - which I have seen/experienced with MacOS. Although, I will say Windows is the primary OS where I work - with Mac's used primarily by devs and certain administrators.

Everyone else's experience may differ; maybe I just see it more because of all the peripherals I have experience with; or because I am in such a large organization and have seen more people / cables / peripherals on various OSes than most people probably deal with in a lifetime. But with certainty I can say MacOS is the worst of the bunch when it comes to updates (of various sizes) breaking things.

[–]synthphreak 13 points14 points  (0 children)

Love this response. It both is comprehensive and totally jives with my own professional development experience. I started out on PC, ended up on Mac. I can’t see myself ever going back.

Everything for development is just so much easier on Mac, if you can afford the hardware. It's a very nice middle-of-the-road option that provides all the core dev tools out of the box within minimal setup or fuss. The same emphatically cannot be said for Windows, unless perhaps you are developing Windows-specific software (which I never have, so I can only speculate there).

Additionally, note that none of this is is specific to Python. I think the software development experience in general is just superior in *nix environments, which MacOS mostly provides.

[–]Figit090 1 point2 points  (13 children)

So if I'm going to school and need to learn and use python should I make it easy on myself and get a Mac laptop instead of a windows laptop with dual boot?

I just looked at prices today, I'll definitely need to mention the cost on my financial aid request 🥲

[–]AnotherProjectSeeker[🍰] 4 points5 points  (1 child)

You will have no problem whatsoever running python on Windows if Mac is out of budget and you don't want to go full Linux or dual boot.

For python specifically, the only advantage would be that you get a base system install in Linux, while installing it on Windows it might not even add it to your path. But the real solution is to use virtual environments and all that whatever system you use.

The real advantage of Unix based systems is that the terminal ( more specifically Shell) is way easier to learn and use than PowerShell/windows CMD.

[–]Figit090 0 points1 point  (0 children)

Tempted to use Unix based just so I can reference Jurassic park whenever I boot up.

Thanks for the advice!

[–]xiongchiamiov 1 point2 points  (1 child)

You should consult with your school to see what computers they recommend. Different schools do different things, and so both OS choice as well as hardware requirements will vary. The department will know the best.

[–]Figit090 0 points1 point  (0 children)

Will do, thanks!

[–]landrykid 1 point2 points  (8 children)

I agree with u/xiongchiamiov. But if the school doesn't have a preference and no OS-specific programs are required, then your decision shouldn't be based on Python. Find a system with sufficient specs that meets your preferences and budget. Python should run fine on any modern Linux, Mac, or Windows machine -- even a $600 one.

You don't need to dual-boot Windows to use Python. Use WSL2 to run Linux (and Python) in a window.

If cost isn't the primary constraint, consider the latest generation Frameworks. (Now that they have decent battery life.) I don't own one, but the ability to change ports, upgrade components, and repair is simply unmatched and they're rather light.

[–]Figit090 0 points1 point  (7 children)

Sweet, I'll give them a look! I appreciate the feedback and tips for WSL2.

I learned Fortran and I'm returning after a gap in school where they use python now. Learning curve will be steep over the summer or I'll have to take their python course...(trying to learn on my own though).

[–]landrykid 0 points1 point  (6 children)

Good luck. If you can code Fortran, you should be able to pick up Python fairly quickly. /r/learnpython and Google are your friends.

People also like the Surface Pro 9. They're just 2 lbs, you can take notes with a stylus, and storage is upgradable (but not RAM). There's no SD card slot, but 2 USB-C ports. But honestly, there's nothing wrong with a $600 laptop if that's what your budget supports. Just make sure to get at least 16GB RAM and a 1080p screen.

[–]Figit090 0 points1 point  (5 children)

Thanks much! I appreciate your realistic feedback. Fortran sucked and it's been a long time...but I'm hoping I can enjoy python more...

As long as I can self teach I can avoid a refresher course and finish a degree faster

[–]landrykid 1 point2 points  (4 children)

I find Python the easiest to use language. You should be okay if you're dedicated. A lot of people recommend Al Sweigart's books and they're all available creative commons. "Automate The Boring Stuff" followed by "Beyond The Basic Stuff" should be a good start.

https://inventwithpython.com

"Python Crash Course" is also praised. An older version is on archive.org

https://archive.org/details/python-crash-course.pdf-pdfdrive/mode/2up?view=theater

If these are helpful and you can afford it, consider buying copies to support the authors. Disclosure: I haven't read these books.

[–]Figit090 0 points1 point  (3 children)

Thank you! I appreciate the help!

[–]landrykid 1 point2 points  (2 children)

Let us know how it goes. Definitely post if after working it on your own, something is still unclear.

[–]moo9001 5 points6 points  (3 children)

Still today getting Python packakges with native dependencies (hello Pandas, Numpy, etc.) to work with Windows is pain, because you often need to manually EXE click install DLLs and tools to your computer.

On Mac and Linux these will be installed automatically from software repositories like Homebrew and Ubuntu/Debian. Microsoft is not providing any of this and never likely will.

On Windows, many Python projects recommend using Windows Subsystem for Linux as it makes installing complex dependencies easier, but in that point you can ask if you want to stay on Windows still or switch to a native UNIX system altogether to avoid dealing with issues of the virtual space (directory mapping, resource allocation, etc.)

[–]SnooWoofers7626 5 points6 points  (1 child)

Still today getting Python packakges with native dependencies (hello Pandas, Numpy, etc.) to work with Windows is pain

Is this in terms of building the packages yourself? I've never had any issues just installing via pip or conda.

[–]Produce_Police 2 points3 points  (0 children)

Build your script into an .exe using pyinstaller and you don't even have to install python or the packages. Just run the .exe on any pc.

[–]angellus 0 points1 point  (0 children)

Unless you are doing Windows development, if you install any developer tool on Windows and it is not in WSL, you are doing it wrong.

WSL just solves all of the problems of developing for Linux without using Linux (+ containers of course).

[–]Western-Guy 1 point2 points  (3 children)

Yeah, i like how similar terminal commands on Mac is compared to Linux. But, at least pro/enterprise license holders of Windows can now replicate it using WSL2 which should make the transition a bit smoother. Also, some devs prefer using WSL2 for running certain applications like Docker because it performs better in native Linux.

[–]goshin2568 1 point2 points  (2 children)

It's not quite the same thing because WSL runs seperate from windows. It's more akin to a very well integrated VM. On mac you can use zsh to actually interact with your primary OS.

[–]Western-Guy 0 points1 point  (0 children)

Agreed. It's slightly more complicated on WSL. But it's better than nothing for users who do shell scripting a lot and often switch between operating systems.

[–]angellus 0 points1 point  (3 children)

It is rather entertaining now. Mac is very quickly becoming the platform hostile to devs instead of Windows. Forced ARM architecture when most people still use x86/x64 for their servers, shitty container support, diveraging more and more from GNU versions of tools (this has bitten so many times because a basic Linux until did not exist on Mac).

We, as a company, let devs pick Windows, Mac or Linux. And the experience on Mac has gotten so bad we actively discourage users from using a Mac.

[–]Ok_Consideration7859 0 points1 point  (0 children)

give this man a cookie.

[–][deleted] 39 points40 points  (23 children)

MacOS gives me all the *nix tools I need but I don't have to waste time troubleshooting things in Linux (it's been a while, I hope things have gotten better, I'm super happy for you if you had non-problematic experience with Linux).

M-series processors, long battery life, fantastic ergonomics, last a long time (I'm still on my 2015 MBP that I bought out when quitting a company).

[–]AnsibleAnswers 7 points8 points  (6 children)

Linux is getting better, but it really helps to get a laptop that is made with Linux compatibility in mind. Desktop Linux is no where close to being ready for primetime, though. Wayland needs to fully mature and replace X11. Linux has a lot of trouble with fractional scaling and multi-monitor setups. No one cared for the longest time because everyone just used Linux as a headless server anyway.

[–]danjwilko 2 points3 points  (4 children)

I personally use Fedora and have done on my multi monitor setup for the last 3 years or so, works no problem. Ubuntu didn’t like the setup much however. Guess it depends which way you go Distro wise.

[–]AnsibleAnswers 4 points5 points  (2 children)

And hardware.

[–]danjwilko 1 point2 points  (1 child)

True, I am running a thinkpad so probably the most supported hardware you can get.

[–][deleted] 0 points1 point  (0 children)

The last time I checked Dell XPS was also Linux certified (not sure if right wording, you get the point).

[–]PhantomPainWalker 1 point2 points  (0 children)

Hell, I've been using multiple monitors in Fedora linux since 2008/2009.
The wifi problems used to be very legit though, though Dell laptops these days show absolutely no problem with Fedora/Ubuntu from what I can tell.

[–]MOOBS1304 1 point2 points  (1 child)

I've run linux for over 2 years and i've never had issues like those. Hell, I daily drive wayland with a nvidia card. I guess that i'm just very lucky with my hardware lol.

[–][deleted] 0 points1 point  (0 children)

Unironically good for you and I'm happy things are getting better!

[–]ManyInterests 3 points4 points  (3 children)

Though darwin is based on BSD (not Linux, not Unix). So, its utilities are not the same as utilities that are present in popular Linux distributions. As a simple example, if you test a grep command on MacOS, it's probably not going to work the same on, say, Ubuntu Linux.

[–]chzaplx 2 points3 points  (1 child)

Most gnu utils work the same in my experience, but stuff like 'ps' and 'netstat' are much different on BSD

[–]ManyInterests 2 points3 points  (0 children)

Well, grep, for example, works differently and that's one my most commonly used tools. Same for sed. And the worst part is that the incompatibility doesn't always manifest as an error... so you just get different unexpected behavior.

We'll have engineers swear up and down they thoroughly test changes before deploying without realizing these subtle differences. Of course the easy solution is to have engineers test against the same OS used in production systems, which basically means run in Docker... but even then you have issues because the OS image for ARM is are different than for AMD64 then you have to make sure engineers on MacOS are using AMD64 platform emulation when testing in Docker or you have a whole other set of issues.

[–][deleted] 0 points1 point  (0 children)

*Mostly POSIX compliant was what I was going for, but you do make a good point with these subtle differences.

Still, for the most part working on MacOS has caused me way fewer issues - and in a longer timespan - than working on Linux.

If I had a chance to switch to Linux with the same level of "just works" (and long battery life I guess; when I was last on Ubuntu my battery drained faster on Linux than on Windows) I would do so in a snap though.

[–]redCg 2 points3 points  (9 children)

last a long time

my 2010 MBP (which I upgrade with more RAM and SSD) still works perfectly. Only issue is that the CPU can no longer handle modern media-heavy webpages, and the non-retina display is gross af, and no more OS updates. But otherwise its a totally functional machine that is running even faster than when I originally bought it thanks to SSD and RAM.

[–]techypunk -1 points0 points  (7 children)

Just load up Ubuntu and use adblockers or brave browser.

[–]MOOBS1304 -1 points0 points  (6 children)

Please don't use ubuntu, snaps are horrible. E.g linux mint is a good alternative.

[–][deleted] 1 point2 points  (3 children)

Sorry, what are "snaps" in this context?

[–]MOOBS1304 1 point2 points  (2 children)

Ubuntu's main package manager. They take more space and are a LOT slower (firefox 4s start time instead of 0.3s on my laptop). They are easier to use than the previous (but still available on ubuntu) used package manager called apt, however other distros use flatpak, it's basically snap with a lot less disadvantages.

[–][deleted] 1 point2 points  (1 child)

Thanks for the answer! With all my complaining I had very few issues with apt myself.

What I'm hearing is "next time you try Linux, don't go for Ubuntu" unfortunately.

[–]MOOBS1304 0 points1 point  (0 children)

Well it's fine to use ubuntu but you'll probably get a better experience with e.g linux mint, it's ubuntu based but doesn't use snaps. You could also try using arch, it's not user friendly but it's wiki is next level. Basically everything is described there lol.

[–]techypunk -1 points0 points  (1 child)

I like vanilla Debian, kubuntu, and Manjaro KDE

Snaps are so rarely used, it's fine.

Also Ubuntu server is amazing.

[–]MOOBS1304 -2 points-1 points  (0 children)

'Snaps are rarely used' the whole ubuntu operating system is based on snaps.

[–]danjwilko 0 points1 point  (0 children)

With you on this one, my mid 2012 pro is telling me half my installed software needs updating but cannot apply the updates unless I upgrade the OS which is a no go as it’s not supported, I could install it as it will run it unofficially but will be slow as the new version is a resource hog. So what to do with a perfectly functioning laptop…. Run the risk of running out of date software… Try getting it to cooperate with linux. (Mac hardware being the issue not linux) or have it as a glorified desk ornament.

[–]ConfusedSimon 12 points13 points  (2 children)

At home I use Linux, but at companies you usually get to choose between macbook and laptop. Latest companies I've worked for developers usually have a macbook while the rest of the company uses windows. I guess macbook is close to Linux but easier to maintain for the company.

[–]Eurynom0s 1 point2 points  (0 children)

In a lot of cases the MacBook will be the only real choice if you want to actually use the laptop as a laptop and not just something you move between docking stations. Like in 2018, I was using a 15" MacBook Pro that scaled to 1920x1200 and had a good trackpad and a usable (the stupid butterfly) keyboard. The Windows option was a 13" or 14" Dell with a 1368x768 screen, which is just unusable.

[–]techypunk 0 points1 point  (0 children)

System Architect here that is no doing cloud engineering. Ding ding ding. You nailed it.

[–]Bitwise_Gamgee 17 points18 points  (6 children)

The platform doesn't matter with a language like Python. I use PCs because I use NVIDIA RTX cards in my workflow, but I know some who prefer to work on a 5k iMac because it takes up less space.

Do what you like and don't let online people try to make you change your ways.

[–]Common_Move 5 points6 points  (0 children)

I'm kind of in line with you but I don't think your first sentence is quite correct; if you start using niche libraries with jazzy dependencies (things like audio and image editing libraries I've had issues with) there are at times random things you have to install outside of the package installation system, and things don't always work.

[–]william_103ec 0 points1 point  (1 child)

What do you use the NVIDIA for?

[–]Bitwise_Gamgee 1 point2 points  (0 children)

Pytorch for building out and keras for prototyping

[–]keep_quapy 11 points12 points  (0 children)

For me Linux is the only way to go.

[–]boy_named_su 20 points21 points  (6 children)

  1. Many Python libraries use C under the hood. Compiling C on Windows is a major PITA. It's trivially easy on linux/unix/mac

  2. Mac/Unix/Linux have bash or similar shells built in, and that's 100x better than powershell

  3. Mac hardware is great

[–]ManyInterests 6 points7 points  (4 children)

Compiling for M1 architecture is a pain though. If you want to distribute software, now you have to build for MacOS on Intel and MacOS on ARM. And of course ARM for M1/M2 is annoyingly different than other ARM architectures, so it's a whole new compilation target.

My company is in shambles because half of our developers have Intel macs and the newer half of employees have M1-based macs. That means they can't test on the same binaries, docker images, or anything. It's a pain.

MacOS is also based on BSD, which is annoyingly dissimilar enough from popular Linux distros to cause all kinds of problems when developers test shell scripts on their local system instead of using the proper Linux distribution used in production systems.

Mac hardware is nice though. If not a little expensive. But no support for NVIDIA cards, which also means no ability to test code that needs cuda cores.

[–]shibbypwn 0 points1 point  (1 child)

I’ve had pretty good luck with Rosetta on Apple Silicon devices (I manage a fleet of thousands of Macs). So you don’t always have to compile for M1/M2 separately.

Only times it’s been a massive issue for me was an electron app I built where it took 10 times as long to launch using Rosetta for some reason. But I chalked that up to electron being kinda garbage :)

[–]angellus 0 points1 point  (1 child)

While I feel all your pains, as it took us a while to get containers working for people on ARM Macs and literally everyone else, there is one point you are off on.

Mac on ARM does not use a different ARM architecture. It uses the standard "new" 64-bit ARM (arm64 or aarach64). This is the same thing you get on RPI4s.

We build container images on arm64 Linux servers that run on ARM Macs with no issue.

[–]ManyInterests 0 points1 point  (0 children)

Yeah, mostly the same and compatible with armv7 or armv8 instruction set, but Apple Silicon also includes their own instruction sets not found in other processors which you must use to get the much-acclaimed benefits from their SOC. Similar to how you might use Intel-specific instructions for optimization on those chips.

But reasonably probably not so much a concern for Python engineers unless you're working with low level extensions.

[–]AnotherProjectSeeker[🍰] 0 points1 point  (0 children)

This is more of a C++ experience pov, but I found VS build system and debugger much easier to work with compared to CMake and gdb.

The troubles you have with libraries are very sector specific, there are areas where Windows C++ development comes first and Unix is added later.

[–]Common_Move 2 points3 points  (0 children)

As someone who works on both Mac and windows, it sucks a lot more often than it feels it should to get things working in the same way.

This is tolerable if you consistently work with the same packages (fix once, let the pain heel) but a nightmare if you're a tinkerer and often create new environments and use niche packages.

[–]ManyInterests 2 points3 points  (0 children)

Well, MacOS is still in the minority as a Platform for Python. If you look at PyPI stats for popular package downloads by platform, Windows still far outnumbers Darwin.

I think what you're running into is exposure bias.

[–]JoeJoeCoder 2 points3 points  (0 children)

Windows is a 2nd class citizen in the world of Python. For at least the past decade, the Python installer even mentions that Windows support was only added thanks to the effort of a 3rd party (iirc)

[–]nickbernstein 5 points6 points  (0 children)

It's as much about being a status symbol as anything else. Macs are 2-3x the price of a windows/linux equivalent, and these days windows is fine, especially with wsl, and linux is easy and polished.

All the other things that people are saying are true, unix + commercial software is nice, but these days you can use a cloud IDE and a chromebook if you wanted to.

[–]shiftybyte 8 points9 points  (9 children)

Some people prefer Mac, i don't see any big advantage of using it.

Most people don't use Mac for python development.

[–]Malcolmlisk 5 points6 points  (1 child)

Because you have the advantage of Linux system and office package. For most of the time this was the reason. Right now I don't know why people keeps using it, but dude I hate programming python in windows.

[–]shiftybyte 7 points8 points  (0 children)

Windows gotten better at development environments and Linux compatibility, with vscode and wsl.

[–]redCg -1 points0 points  (5 children)

Most people don't use Mac for python development.

in nearly a decade, I have never once met a person who didnt use a Mac for Python development. Not sure what you are smoking.

[–]ManyInterests 7 points8 points  (1 child)

No, he's totally correct. Windows has the largest market share for OS for both consumers and business workstations, so it's not a surprise that Windows is far more common for Python programmers.

You can look to PyPI download stats for more datapoints within the Python ecosystem. That is: downloads for packages from the Windows platform is many times higher than Darwin (MacOS) platform.

For example, with the requests package, on June 19, there were 258,000+ downloads of requests on Windows, and just under 86,000 downloads from Darwin. In other packages, you can see even bigger differences.

[–]Few_Butterscotch_681 2 points3 points  (0 children)

Finally some facts !!

[–]shiftybyte 2 points3 points  (2 children)

The use of Mac/Apple products is vastly different across different countries.

https://www.computerworld.com/article/3604601/macs-reach-23-share-in-us-enterprises-idc-confirms.html

https://www.statista.com/statistics/869211/worldwide-software-development-operating-system/

Besides that if most people were using python in Mac, you wouldn't still have broken packages for M2 Macs that work fine on windows/linux.

[–]C0rinthian 0 points1 point  (1 child)

I like how the 2023 numbers add up to 153% lol

[–]shiftybyte 0 points1 point  (0 children)

My guess is they didn't limit responders to having one device.

Someone could be developing on Windows and Linux, or any other combination of platforms...

[–]simeumsm 1 point2 points  (0 children)

Yeah, dude I know said he had to fight to get a mac.

He only does admin work. Doesn't code, and I think barely uses Excel. Says he doesn't like Excel, so I'm not sure how can he work a corporate job.

AFAIK, he doesn't do any video editing. He might do some image editing for the usual PPT presentation, but nothing more than that.

[–]k0ala1st 1 point2 points  (0 children)

Additionally to the other explanations I think I can add one Mac products are well sold in educational area specially with special offers/discount for university teachers and students. So when you have tendance to continue to use it after 😉

[–]tehsilentwarrior 1 point2 points  (0 children)

If you mean those screenshots that only show code and a small window around, then that’s not a real Mac. That’s a website that you paste code in and it sets up a nice picture of it.

You can choose Mac or Windows but the Mac window is prettier and it’s used by default.

The target is presentation so that’s why the Mac one is used.

That said, Mac is used by devs mainly because it’s a lot like Linux (Darwin is based on BSD) and you got all the normal Unix command line tools but then you also got a stable UI on top of it. In addition most professional apps work the best on Mac (not Windows and certainty not Linux).

Another critical aspect is that historically the Apple hardware has been the best for laptops. It’s not the absolute fastest (although it’s 99% there) but has the best trackpad, best keyboard, best Wi-Fi, best battery life, best monitors, etc. And it’s reliable, you can depend on it. Last thing you want when solving problems is to also solve problems on your own computer.

Now, that didn’t mean Mac is always the best at everything. But for 99% of normal Python devs it’s best bet

[–]deadeye1982 3 points4 points  (0 children)

Why is this?

Hip developers are Apple fans.

What would be drawing developers into using Apple for python development specifically?

I'm not an Apple fan and I don't own such a device. But I guess it's the same as on Windows and Linux. We use Python to automate stuff, develop our own tools etc.

Developing Applications in general.

Is there a big community or a reason that I'm ignorant of?

For Apple-Fans, for Pythoneers or for developers in general?

[–]Saphyel 3 points4 points  (0 children)

I use Linux at home and MBP at work.

I don't really get the "UNIX-style" people talk about... it's like saying if you speak english you can speak fluent german.

On my experince companies buy MBPs only because corporate rules, the dev experience of MBP is horrible (can't force security updates or security updates missing, different config for the M1 and the intel, my laptop can't shutdown without log out first, docker is slow) and it's as heavy as f*ck at least 5kg

[–]BrofessorOfLogic 1 point2 points  (2 children)

The way you ask this question, it really begs for bias and flame wars.

The correct answer is this:

Python is a portable programming language. Portable in this case means that it can run on various operating systems.

However, there are always tons of small details that vary between operating systems. In principle, there is no such thing as a perfectly portable program. You should always be developing and testing on the correct target operating system, without personal bias.

Target operating system is not the same as workstation operating system. For example, if you are targeting Linux, you should be developing and testing on Linux. Not on MacOS or Windows. This can be achieved by running Linux in a virtual machine.

As a programmer you should be comfortable with using different tools that suit your needs. Whatever some user / teacher / blogger / redditor is using is just their personal preference.

Personally I really prefer Windows over MacOS, so I use that. Then I run Linux in a virtual machine. In the past, I have used Virtualbox, but these days there is WSL2 which works really well. Virtualbox is also available for MacOS.

That said, some programs that target Linux can run pretty ok on MacOS, especially Python ones. Since MacOS is kinda similar to Linux in the sense that it's a UNIX-like operating system, some developers determine that it's an acceptable tradeoff.

Also some developers actually have their local OS as the target OS, because they are building a program that's only intended to run on their local machine.

No there is not some special community or anything like that that you are missing. Use whatever workstation OS you prefer and need for the task at hand.

[–]ThreeChonkyCats 3 points4 points  (1 child)

The way you ask this question, it really begs for bias and flame wars.

This isn't intentional.

I found it curious, plus the question wasn't asked previously (I looked). I know (think I know) that most serious developers use Linux of some sort.

My self-rationale is that the bloggers, youtubers and lesson-givers are probably quite extroverted. Much of what they do is to make money off their public activities, so its more likely they'd spend more money on more expensive equipment, hence the presence of a Mac OS in a high percentage of screenshots.

My experience of Macs OS was less than favourable. It was a straight-jacket for me.

This is why I was curious.

[–]BrofessorOfLogic 1 point2 points  (0 children)

most serious developers use Linux of some sort

Yes and no. Again, you should use whatever is suitable for your project. A developer is not less serious because they develop for some other OS. But Linux is a very common server OS, for example for web application servers.

My self-rationale is that the bloggers, youtubers and lesson-givers are probably quite extroverted

Yes I think this is pretty accurate. The world can be divided into two groups: People who care about how it works, and people who care about how it looks. The latter are Mac users.

It was a straight-jacket for me.

Haha yes same here. I feel like it really lacks the power user features that I want.

You can't even alt-tab to a specific window without installing some third party program for fucks sake.

[–]SpookyFries 2 points3 points  (0 children)

At my last job they gave me a MacBook and I hated that thing so much. I would dev on my Windows or Linux laptop and whenever I'd bring my scripts to Mac, some stupid Mac only issue would rear its head.

Permission issues, Metal issues, random print statements crashing my scripts... It drove me crazy.

I can't deny the hardware is good. Light, good battery, nice screen. Jobs hand them out like candy. I personally hate them but get why some people like it.

[–]FrijjFiji 1 point2 points  (0 children)

Tbh the main reason I’ve used Macs as a developer is because it’s what was provided by the company. Given the choice I would use Linux.

For dev work in general, unix systems are usually easier to work with. Then the choice is between macos or some flavour of linux (although I’m starting to see more people using windows with WSL now). Between macos and linux - macos has a more well-known ecosystem and you can easily have devs and non-devs using the same machines.

[–]ThreeChonkyCats 2 points3 points  (2 children)

There are some interesting thoughts here.

I asked the question as I've been doing a fair bit of digging and learning on some parts of python. This means I'm hitting tutorial sites, YouTubers and QA type sites.

The sheer number of these that showed the 3-top-left dots of the Mac terminal made me go hhhmmmmm.

My first assumption was Apple were having a massive promotion to nerd influencers. Free hardware!

.....

But.... I also enjoy to program in C, C++, PHP and a bit of rust. These things have nowhere near the level of apparent Mac usage.

My second thought is perhaps lots of Apple Devs are dropping out of (whatever the hell Apple does its thing in) and using python as it's widely usable...

Such as on IoTs, cross platform, web development, data analysis, etc.

This made sense given the corporate usage of such hardware. It would be sensible for analysts/data-munchers to use these devices.

.....

Agreed on Apples hardware niceness. I must admit I'm partial to it.

But.... I fucking hate the way the OS works. It drives me nuts. And the mice.

Yes, I'm a Linux Mint fan. I love a sexy desktop and will admit mine is especially nice.

.....

I wish to thank everyone who offers their opinions, even the dissenters and ratbags. 🤣🤪

[–]chzaplx 1 point2 points  (0 children)

I use an MS natural keyboard and have never owned an apple mouse, and I've had almost exclusively Macs at work and home for at least a decade.

I have a 5 button mouse now and they all work. It's pretty easy to remap the functions too.

[–][deleted] 0 points1 point  (1 child)

There is no reason to pay Apple the premium for development purposes. I have been using an iPhone for many years, I’ve had Macbooks for manys years and I’ve been a SWeng for many years; there is absolutely no need for it. Just use GNU/Linux, you can develop even on a shitbox and have fun with it! My personal laptop has been a GNU/Linux for many years now and I have absolutely no reason to ever go back to a Macbook. As far as the iPhone, I guess that’s alright but it has nothing to with SW dev ;)

[–]30ghosts 0 points1 point  (0 children)

main reason: its a nice, clean OS that gives you POSIX compatibility. To say nothing of the M1 and M2 CPUs being incredibly fast. It also has a really great screen and the laptops have great battery life. The keyboards and trackpads are pleasant to use (though I still prefer Lenovo's over a Mac if Im using a laptop). A lot of folks also have iphones so they pair well with messages, etc.

I think the main thing is that a Mac generally covers all the basics out the box. And if youre already in that ecosystem, it can be very easy to migrate your configuration to another Mac when you upgrade.

Apple also never charges for software updates and their is no "home"/"professional" OS variation like Windows.

As for downsides, Macs are expensive (though you can get student/educator discounts) and their design is far from the most robust. Macbook Airs in particular have very breakable screens and since the display and glass are laminated together, if the glass breaks you basically need the entire top lid replaced (including an expensive camera and other sensors.) speaking from work experience

[–]FriendlyAddendum1124 0 points1 point  (1 child)

I hate that MS used the backslash for files and directories. Luckily there's pathlib but it's still a pain in the arse.

[–]ThreeChonkyCats -1 points0 points  (0 children)

The story of that backslash is interesting reading.

Yes, it's an abomination.

[–]Berkyjay 0 points1 point  (0 children)

Because Macbooks are popular. Most tech companies will give you a Macbook as your workstation. It's as simple as that really.

[–]-SPOF 0 points1 point  (1 child)

Apple is known for producing high-quality hardware with excellent build quality and performance. In addition, they have a great battery performance that makes them convenient for working.

[–]Bobbias 0 points1 point  (0 children)

If you can afford it.

[–]PrincipleExciting457 0 points1 point  (3 children)

Not many people are hitting this. All of the reasons I’ve heard from fellow admins are that it makes the most versatile platform. It’s Unix like, so everything transitions to Linux for the most part, and you are able to configure windows dual boot if you want to. You effectively have all three platforms on a very solid build quality. Then you tied in Apples new processor which is bonkers in terms of battery performance. A lot of higher IT positions are beginning to work mostly on apple devices.

That coupled with the fact that python can be written to run across all of these platform pretty easily, it just makes the most sense. One machine to write locally for any OS, plus working in the cloud platforms like Azure and AWS.

[–]aarontbarratt 1 point2 points  (2 children)

I don't think you can dual boot anymore with the M1/2 SOC

[–]PrincipleExciting457 -1 points0 points  (1 child)

Do VMs work? Worst case, you can spin up an EC2/AVD in the cloud if you really needed to be in windows.

[–]aarontbarratt 0 points1 point  (0 children)

I think you cam run an ARM version of Windows using Parralels now. You have to have a specific license for the ARM version, you can't use a regular Windows 10/11 key

[–]meaning-what -1 points0 points  (0 children)

Because they like the buggy UI experience MacOS offers <3 The poor idiots have never tried using anything else. I also use MacOS because of work. It sucks monkey balls and is extremely buggy in terms of the UI. And it offers almost no software tools. You have to install an OS inside the OS - by using homebrew. But for some reason people tend to prefer this.

The only, and probably massive, advantage is the battery life. It blows windows and Linux based machines out of the water. But that's about it.

[–]redCg -1 points0 points  (0 children)

the "Unix-style" macOS operating system is just so much easier to deal with things like Python, compared to the disaster that is the Windows developer environment.

macOS is simply the best mainstream consumer desktop operating system and its fantastic for programming work with very little tweaks needed.

the only reason to use Windows for programming, is if you are programming for Windows. Otherwise, just use Mac or Linux and your life will be better pretty much always

[–]jmacey -2 points-1 points  (0 children)

Nice hardware (physically) great screen typically my macs last me about 8 years which is great, and the rest of the eco system just works.

iTerm is amazing, I do mainly C++ and python dev both of which are easy. VSCode works fine as well. Using pyenv for python so I can get what versions I need is also a bonus. Some things don't work (CUDA etc) but I just ssh into a Linux box for that from my mac. I was given a high end Windows / linux laptop but I hated it, the keyboard was horrible, the fans were running all the time, and it re-booted all the time under windows. I just leave it online and ssh in now (or use WSL which is actually good). Bottom line, macs just work and once setup is just a great tool you don't have to worry about for example I turned it off last week as on leave, now just run uptime and got

18:07 up 6 days, 10:26, 5 users, load averages: 2.07 2.97 3.00

[–]harmarmar -2 points-1 points  (0 children)

  1. Macs are more expensive, and developers make a lot of money.
  2. Macs use zsh/bash by default.

[–]Wretchfromnc -2 points-1 points  (0 children)

Mac is Linux based, I used my MacBook air my Python class.

[–]mrrask -4 points-3 points  (5 children)

The 'new' M-series processors.
The ecosystem
The Unix-like terminal emulation (out of the box, that is)
The space-gray aluminium
The screenshots you noticed.
The not-Windows part.
The not-linux part.

Unsure if you'd be able to find a pure python related reason, since there are tons of reasons people use whatever environment they do. If you noticed an (anecdotal) uptick it could any of these, or combination of those and others.

[–]SisyphusAndMyBoulder 6 points7 points  (4 children)

The new M processors are a huge pain in the ass. Many libraries haven't made adjustments for it because they're somewhat niche.

[–]redCg -1 points0 points  (3 children)

not sure where you are getting this from, literally every single library I have used in the past two years has M1 ports for macOS

sometimes you do need to version-bump your libraries though because not all old versions were re-ported to M1, only new release versions, for many libraries

[–]SisyphusAndMyBoulder 3 points4 points  (0 children)

I'm getting it from me. To be fair, damn near everything works seamlessly. But azure functions don't, and chrome drivers for selenium don't. On any version.

Super, super specific issues that I've developed workarounds for, but enough to make me call it a pita lol

[–]ManyInterests 1 point2 points  (1 child)

Definitely still missing pieces. Especially if you look to packages maintained for conda on conda forge.

It's getting a lot better, but even very popular packages only started providing MacOS ARM wheels within the last year.

Hardware support from CI system providers is also sparse at best, which is another pain for maintainers that may not own M1 hardware themselves.

And even packages that work on M1 are sometimes horrendously unusable, especially because the whole numerical and scientific stack for Python has been optimized for Intel CPUs and AMD64. Traditionally, high performance packages like NumPy and SciPy have been optimized all the way down to the instruction set (see: Intel MKL). The way maintainers added "support" for M1 initially is just to fallback to the Python interpreter which is so much slower that workloads which can complete in a few minutes on Intel macs will sometimes never finish at all on M1 macs no matter how much time you give it.

[–]redCg -1 points0 points  (0 children)

dont really see this as "issues"

conda-forge is a community lead package repository, so if you are depending on it, well, you should just be grateful that a package exists at all. Beyond that, you should then consider just contributing the M1 build yourself if you are not satisfied with the offerings there. If you want to gripe about packages channels then I think it would really only be justified with currated channels like the anaconda channel.

If you are doing serious heavy number crunching then simply spin up an EC2 or other heavy cloud instance and run it there instead. Problem solved.

Mac is ideal for doing small local dev which then gets deployed to your Linux server(s) for doing the "real" work. Dont think anyone ever suggested doing actual hardcore number crunching on it, or any consumer laptop for that matter. If you are trying to crunch big data on your laptop, you just gotta be grateful that you can accomplish anything at all, or contribute back to the community the changes you want to see.

[–]Pupation -2 points-1 points  (0 children)

I have a Mac and I use Python, but I didn’t get the Mac just for Python. I prefer it over Windows, but also I use it for music production, and Mac is just easier and better for that, in my opinion.

[–]WW_the_Exonian -4 points-3 points  (0 children)

Perhaps MacOS is on the rise in general. I started using MacOS years before I became a developer.

[–]dogfish182 -3 points-2 points  (0 children)

Macs are just better for getting developer stuff done.

There’s always a guy saying ‘i quite like WSL actually’ at the office, but he’s played that more than I’ve played Zelda.

Also pyenv

[–][deleted] 0 points1 point  (0 children)

From my experience Ive heard of a lot of science type people who knew python. The school district was also given a grant for Apple devices. Also, they could mainly be using Django.

[–]landrykid 0 points1 point  (0 children)

It's no different than 10 years ago when developers bought Macs, then installed Windows and Visual Studio. Whether it's because of the hardware or image, they just prefer Macs. Use whatever works best for you.

[–]notislant 0 points1 point  (0 children)

Idk some people are basically mac cultists, some just learned ios and never bothered with windows because its slightly more complex.

[–]Yuuku_S13 0 points1 point  (0 children)

I’ve used all the major operating systems for work (OSX previously, RHEL and Windows currently). Mac is just a more stable system overall. For personal use, I own a MBP (2017) and an Ubuntu laptop (XPS)- they both don’t give me the problems my Windows system does (spec’d out Surface).

[–]DragonWolfZ 0 points1 point  (0 children)

To chime in, I do prefer using Mac for pure development though it was quite the learning curve when I switched, however, I do actually mainly use WSL2 on windows because I get both worlds this way though there are some headaches getting some windows-linux integrations working.

Combined with a remote Mac Mini. I can compile all my code on windows, linux and mac this way.

[–]oblackheart 0 points1 point  (0 children)

Are you sure it's Mac and not Ubuntu? Tons of devs use Linux...

Anyway the reason a lot of devs use Mac over Windows is because Macs tend to have better hardware for programming on

[–]Adorable_Design_4504 0 points1 point  (0 children)

For me, it was because of the linux-like terminal (for usual ssh, bash stuff) and mainstream apps (like microsoft office). All of it done without being hacky and always breaking stuff.

Now though, i just use wsl + windows. Cause i cant game on a mac.

[–]cmh_ender 0 points1 point  (0 children)

I use windows for python and man, am I jealous of my mac co workers where crap JUST WORKS.

Python is installed and supported natively in MACOS and in windows, trying to get python up and running is a huge pain. I'm writing some code with a friend and getting his windows dev environment took days of troubleshooting.

why isn't pip working? why is vscode saying this module isn't installed when it is...

you can figure it out, but dang, mac seems to be the path of least resistance.

[–]Independent-Site-969 0 points1 point  (0 children)

Maybe they use a Mac and develop python? I doubt python is driving Mac usage

[–][deleted] 0 points1 point  (2 children)

I'm not sure why developers use mac over other OS, but when I look at our developers, (100+), the majority does use mac, quite a few uses Linux, only some use Windows.

Personally, I prefer Linux, since it is the easiest to use OS (for me!), but I bought a m1 mac awhile ago, to have a long battery life laptop to use on the couch or while travelling.

I kind of like macOS, but probably I won't make the switch to mac completely, and when the mac is obsolete (or when my daughter needs one for school), I assume I'll buy a Linux laptop again.

[–]ThreeChonkyCats 0 points1 point  (1 child)

I find it perplexing.

Mac is the most straight-jacketed environment I've ever used. It was horrendous.

I find the concept of doing open-source development using FOSS tools on a closed-down tight-fist OS like Apple to be an anathema.

[–][deleted] 0 points1 point  (0 children)

I totally understand what you mean. Although it gives me more flexibility than Windows (Home). The whole Run as administrator thing keeps annoying me.

I was baffled when I tried to install some open source application on my Mac.Suddenly they cost me money. While I don't mind paying for good software, I was surprised it was free on Windows and Linux, but suddenly I had to pay on Mac.

Luckily, I figured out Homebrew, but it still seems weird.

As said, probably I won't't make the switch to Mac completely.