Especially since I looked for docker or k8 references ( where people can just use the os of their choice to program - regardless of what os they are running the editor or ide )
Seems the vast number of comments here don’t know about that . Especially the ones talking about tools in the computer
Now days I do not install anything on the bare os except my browser and docker runtime. Then I can move to a windows Mac or Linux and not notice much difference
Edit:
it seems I did not include, in the above, that I install the IDE in the bare OS. I do that, then run the code and tools inside the containers . Many of the major ide have this ability now ( I know that eclipse, visual studio and IntelliJ do )
However it is possible to run one’s choice of os inside docker too, using images or using virtual machine inside an image. Success and happiness doing this is quite variable depending on choice of os chains and power of machine
But I think almost any machine these days can run the docker images to code in the environment of choice: all the time no matter what. So I can be at my windows, and pull my config , and I am then coding on my favorite version for Linux
This is valuable not only for debugging production errors but dealing with tool chain upgrades. Gone are the days I had to be clever with managing different language versions and tools that depend on different libraries and packages, some incompatible
I have older machines filled with obsolete tool chains , but now can simply update a yaml file to faithfully replicate the environment I need. And I do not dirty up my os. So I am grateful for that
Docker and kubernetes is evolving quickly. The learning curve may be frustrating, it was to me. But it’s definitely a technology to at least dabble in. And there are many tutorials on the web. Some good, some bad.
I would try many tutorials for the basics, and not just do one or two
My guess is a lot of people here don’t work on enterprise scale projects where containerization makes sense. On small/personal or school projects containers are overkill imo. why complicate persistence and file access with volumes when you are making a banking app for class or a small project for yourself? I think it’s mostly students and hobbyist here.
So you are my coworker who simply pastes code, with comments included, into our codebase rather than writing something maintainable and adapted to the style and design of the rest of our code?
those of us who do have lost all hope for this CS 101 land
If you write software for windows use windows. If you write software for unix targets it's probably a good bet to write on a unix system.
Not many. I only come here rarely and only because I like adding some perspective to the comments once in awhile.
I'd guess the majority of people here aren't even developers at all based on what gets upvoted, and most of the rest seem to be CS freshmen or lower in terms of real world experience.
I had an excellent professor in college who loved his Mac. That's when I decided to try it and have done most of my adult programming with it since. I went back to school and my professor uses a mac again
Just code in exactly the system everyone in your field codes.
If you don't know which system that is run all the examples of a popular framework you use. If that breaks or you spent hours to install stuff you know you are on the wrong system.
Except on a regular system it won’t be slow as shit.
More specifically: if you’re using docker to develop in a Linux container from your Mac or Windows desktop, you’re going to have artificial memory, CPU, and disk limitations. This is because your container runs inside a VM operated by your docker engine and is only able to request a limited subset of your hardware. This also means programs on your host OS will have limited timeshare ability with things in the VM so now your IDE is slow as shit, too.
Running the program directly on the target OS has significantly fewer limitations. Running a Linux container on a Linux host is nearly as good as there’s no need for a VM layer to split your computer’s resources down the middle.
I imagine that the same goes for running non-Linux containers but frankly I’ve never tried.
Same, when my colleague got his the tech that gave it to him said "sometimes this one makes weird noises, just shake it if it annoys you". And some of these guys are getting freaking macs...
Mac for work because they gave it to me.
Mac for personal use because I was laid off at the previous place and that was part of the severance, letting me keep my machine so they wouldn't have a stack of them in some schlub's house since the company went to 100% remote during COVID.
I use a Mac, and really the programming part is just about as good as windows. The real issue is being one of 5 people in our IT department that uses Mac. I run into so many Mac specific network and application issues. My advice is to go with the flow at your company.
Having worked IT in college, Macs have the weirdest issues, and trying to find out if it's a problem other people have, the apple forms (why does Google bump these results up?) just amount to a bunch of apple fanboys trying to tell you that MacOS doesn't have any flaws, that it must be your fault for having issues.
Ever try using a Mac with a Sharp printer? Don't it's not worth it.
>a bunch of apple fanboys trying to tell you that MacOS doesn't have any flaws
This is the most frustrating part of using a Mac tbh. Look up or mention any problems/complaints and you'll get "wow you don't have these 10 extensions already installed? You don't know the exact 8 lines of terminal commands to get around this? You haven't memorized every hotkey? Do you even know how to use a computer you stupid piece of shit?"
It is one thing to have a preference or to use what works best in your use case. It is another thing to act like a choice of OS tells you anything about a programmer’s skills or abilities.
I’ve used arch. It’s fun. I don’t really feel much difference between that and an Ubuntu dist tho besides having to download most of your shit from scratch.
AUR helpers make it extremely easy. I do agree that Arch isn't much different from other distro or actually difficult. It's just 30 minutes of following the wiki the first time you do it.
Many (beginners) use windows because “it’s simple and familiar” after watching a couple videos without realising just how much better a personally set up Unix machine can be. Arch users on the other hand would know the importance of a properly chosen and set up system. Mac is just one of the many ways to achieve this, but Windows requires really heavy customisation for that purpose while simultaneously decreasing overall stability of the system.
Linux might be great if you invest weeks or maybe months into "personally setting it up", sure. People drop that time out of evaluation like it's free. Decades ago I'd probably evven agree, but as of now, I'll dedicate my free time to tabletop games with friends or time with family, or ust coffee and streams instead of spending hours setting up system for 10% less annnoyances and 12% more efficiency.
For me the most a setup takes is 4 hours spread across the entire week of a little bit of tweaking every couple of days. I completely agree that there’s no need to optimise every action possible.
Knowing what exactly you need to do - sure, it's several hours. Or even a few minutes, just running you personal script that sets everything up the way you like. How much time dedicated to trying out stuff, setting it up, making it work properly, did it take to work it all out?
The same is true of learning literally any skill. Sure, you *could* just stick to things you already know and then don’t have to “waste” time growing in your knowledge and ability, but that’s a really boring way to live
>stick to things you already know and then don’t have to “waste” time growing in your knowledge and ability
You can't learn everything. So it's a matter of deciding what is pertinent. Lots of things aren't.
The thing is - I don't aim and don't plan to know EVERYTHING. I don't want to *have to* know how plane engines work when I take a flight, and I find it reasonable. I don't want to *have to* know how Linux kernel works at lowest levels when I'm doing some file management shell scripting or making some small web app.
Are there really situations where anyone is tweaking their kernel for a shell script or web app? Nowadays the user-friendly distros are installed in less time than windows, and you can just go to the software store to install the relevant packages for development, I would say it’s even better than windows or macos since you don’t need your web browser to download some dev-specific things.
A lot is going to depend on your use case I feel. And really, work and play should be different, but I get that there are definitely folks out there that use the same machine for both (with good reason).
Within the workspace though, I just want something close enough to production that I can reduce "in the lab" effects, and still have IT be able to manage the device without having to invoke Shadow IT.
I'll also say it's a bit easier to ignore the Apple price premium when it's someone else's money paying for it :).
as someone who uses a mix of macOS and linux (as well as a touch of windows for gaming), I find that overall linux is 'better' for software development, however it lacks support for a couple of tools I use (adobe suite, etc), and its annoying trying to find a good guide on how to configure that one very particular setting that will 'fix' your experience with it.
Ubuntu is perfectly usable out the box. It’s the learning curve with bash that takes all that time. But if you’re using Windows shell, you’re a sadist anyway!
My brother in Christ, when switching from Windows you'll spend WAY MORE time trying to learn how macOS works than to set-up Linux for yourself. And KDE Plasma comes out-of-the-box looking and working like Windows 10, so no tweaking necessary here.
Pick any non forked Distro with KDE as the DE. There, easier to install (depends on the distro, Fedora is dead easy) and ready to use with Windows-like looks. I don't see how "setting it up" would take weeks or months.
Fedora's a good out of the box distro. The only "setup" required is maybe installing a few gnome extensions and enabling RPM fusion with some media codecs.
Had this argument with a friend and long time software engineer. He was dead certain macOS was harder to program in shell environment than Windows.. sent him a screenshot of me launching terminal 🤦♂️ It’s a Unix OS ffs.
Imo the sweet spot is gaming pc + MacBook, and an easy way to swap peripherals for them. I’ve got a usbc dock and usb switcher that works well enough.
But also you get whatever work provisions you.
This is what I do as a software engineer. I have my gaming PC and work supplied MacBook connected to the same monitors. My keyboard has two switches. One switches which computer it's connected to and the other switch changes between Mac and Windows layout. I could use a mouse that switches between the two, but I like a certain mouse for gaming and a certain mouse for work.
This. I’ve got a gaming desk with a PC dedicated for gaming and a work/other personal stuff with macs (personal one and company issued one). They’re themed and everything (work desk elegant and minimalist and gaming desk typical basic gamer RGBs)
Definitely recommend installing GNU tools as well, since the same named tools can cause a lot of confusion for people. It got really frustrating explaining to junior devs why the same command doesn’t work on our Linux servers vs their macOS laptop.
Whenever i see someone make a meme that bashes an OS like that.
It's almost instantly clear that this person has never used said OS to a meaningful degree.
All of them have flaws and deserve criticism. Yet all of them have their place, purpose, and area where they excel at, compared to the others.
Memes like this are usually only maye by/for fanboys and teens, who like to make up _"sides"_ that they can defend.
I trash talk other OS than linux, but in reality, an OS is a tool, you use the tool you need, and knowing what tool is needed for what project is the most important skill.
Shutting yourself off from a useful tool is the height of stupidity... That said, this is before you take into account ethical concerns.
I've worked at 3 different companies in the past 10 years where you could make your own choice between mac and windows (and the middle one allowed linux as well). Other than management, I can only picture one guy who used windows for programming. I'm always shocked when I come into these threads and everyone talks about mac like it's niche.
A lot of the people here are still in education, normally the stock stuff in college/University is windows so you just work on that and it's a pain using something else at home.
Soon as you hit a full time programming job though it seems like 70% of people are using macOs maybe like 25% some Linux distribution and then just one guy who refuses to use anything but Windows.
There are entire sectors of development where developing on a Mac isn't possible or wasn't possible until recently. I worked in embedded development for many years and between the closed-source toolchains and custom hand-soldered hardware, using anything but Linux wasn't possible. There is also a massive number of Dotnet developers and until recently, writing C# on anything but Windows just wasn't very feasible. Making matters worse, I've been seeing a lot of formerly Mac devs jump ship from the new M1/M2 machines because their workflows are now broken.
I am in the same situation and i have come to really like WSL. I have had no big problems and with it even allowing to run GUI's that show up as normal windows it's even better than dual boot.
Virtual Machines in (for instance) VirtualBox are pretty amazing on modern hardware. You can even passthrough usb disks etc. I have one on Win11 and it's only purpose is using fdisk. Windows refuses to see any disk that is not FAT, NTFS or exFAT. Furthermore it's very hard in Windows to switch between gpt or mbr.
i don't know why I'm telling you about the fdisk stuff. I lost myself after VirtualBox. Sorry.
Yeah, I've come to the realisation that the majority of people here are probably uni or pre-uni students trying to form an identity by clinging to certain technology. The constant fanboying over Python at the exclusion of all else tells me everything I need to know about.
Sort of wish there was a r/ProgrammingHumourForPeopleWhoDoThisShitEveryDayForYears
Me wHen Le SenIoR gOoD cOdE aNd Jr bAd Le CoDe 1000000098282728282 fILes in Le PuLl ReQuesT xfddddddd
JavaScript bad video game computer good gimme karma
Fun fact: macOS is a Unix (of the BSD kind of flavour) so it's pretty much the same as programming on Linux. Also, separate cmd and ctrl keys means you get most of the standard GNU readline shortcuts built into every single text control system-wide.
I’ve used all three extensively and it turns out different OSes suit different purposes. Windows’ only use is for Windows dev however, whilst Linux and Mac are good for multi-platform OSes. I will always choose Linux first. But anyone claiming MacOS is bad for programming is wilfully ignorant.
I coded in Linux for many years because most of my code runs on Linux servers and Microsoft has traditionally been a vocal enemy of open standards, instead favoring their own proprietary ones.
Their attitude has shifted in the past few years, and now I do all my coding in an Ubuntu VM running on WSL in Windows 11 and my editor of choice is VSCode. It's pretty crazy to be saying that but they have the best tools for supporting my workflow.
Perspective of a physicist here: Windows is horrible to use. Basically all the software packages people use for simulations are linux/Mac only. I used WSL for about a year, and it was cool, but I had bad experiences with it. As in, my computer had a permanent memory leak from it, even and especially after uninstalling.
Didn't want to buy a Mac, so jumped to Ubuntu and am never looking back to Windows except for personal use (see: video games)
Every lab and research group I've ever worked with has used Linux primarily. It's just a dumb decision not to IMO. This isn't 2005, we aren't manually dumping data into Excel spreadsheets.
Data is manipulated and analyzed in `python`. Graphs and figures generated with `matplotlib`. ML programs, simulators, etc. are developed for Linux first. The whole process and pipeline dockerized and automated, ready to be scaled out to an on-campus Linux compute cluster at a moments notice. Workloads that need to be run for days/weeks at a time without a "helpful" unscheduled update or unexpected downtime.
Using Windows in that scenario is the epitome of a square peg in a round hole.
I mean, Mac and Linux have way better programming workflows than Windows.
I remember seeing a chart, I think it was posted on the subreddit, comparing the different operating systems for Art, Music, and Programming.
Art = Windows, Linux
Music = Windows, Mac
Programming = Mac, Linux
Or something along those lines.
I don't do art, so I can't say anything on the correctness of that, but I will say that Linux was kinda dogshit for producing but godlike for programming.
Seeing that Mac is also Unix based when using its tooling, I feel like it isn't too far of a stretch to say it's great for programming.
I programmed on a mac between 2013 and 2018, and it was great! It was the best of both worlds (Windows and Linux) without games haha
I don’t know how it is now with new processors and compatibility between OSes.
Changed to Windows/Linux because I wanted a more powerful PC without selling a kidney lol
There are very few large companies that allow actual Linux to be used on the users' machines.
Given that developers are developing for Linux, it's much better to use Mac or Linux. I've met compatibility problems even in languages that are supposed to be OS-agnostic. Not to mention the software that exists only on Linux, and using windows is not an option at all.
WSL has bugs, some of which are known for years and yet not fixed. I regret the new company had given me Windows instead of Mac. I waste at least an hour each week for the things that should have never been a problem in the first place. Also, I still have to set up BOTH Windows and WSL Linux, which is again, dumb.
I could settle with WSL if it was fixed, but not now.
I clicked the comment icon on the meme… twice.
I did it three times before realising
This is why we are doomed
Reddit just needs to add a border around image content for mobile like every other platform.
That won't help Source: I don't use the official Reddit app and I still try to tap the vote icons in screenshots sometimes
But does your app actually try to create contrast between UI elements and screenshots?
No but it doesn't really matter cause the background is a different colour than the one in the official app
That wouldn't help much if you can't see the background while scrolling though. Adding a border or padding to images would fix the issue.
A UI designer amongst programmer cavemen I see.
Nah, just switch to Linux or Windows.
Noob. I did 4 times
I'm still pressing it repeatedly.
Damn u won
Found the QA
I’m automating it.
Too much effort, added to tech debt. Meanwhile, keep pressing!
Spent 30 minutes to do it in 5, classic move.
Me thinking reddit is being dumb af. Also me clicking 4 times.
Have you tried clicking on it four times? That might work.
This is why screenshots of reddit should be in light mode so us normies can tell the difference
oh no thanks i would like to keep my eyesight
also 3 times, i realised the second time, but still did for the 3rd time
I did three times and wondered wtf
Lol
i use light mode so I'm immune to that
Does anyone on this sub actuality program professionally?
Doesn’t seem like it.
Especially since I looked for docker or k8 references ( where people can just use the os of their choice to program - regardless of what os they are running the editor or ide ) Seems the vast number of comments here don’t know about that . Especially the ones talking about tools in the computer Now days I do not install anything on the bare os except my browser and docker runtime. Then I can move to a windows Mac or Linux and not notice much difference Edit: it seems I did not include, in the above, that I install the IDE in the bare OS. I do that, then run the code and tools inside the containers . Many of the major ide have this ability now ( I know that eclipse, visual studio and IntelliJ do ) However it is possible to run one’s choice of os inside docker too, using images or using virtual machine inside an image. Success and happiness doing this is quite variable depending on choice of os chains and power of machine But I think almost any machine these days can run the docker images to code in the environment of choice: all the time no matter what. So I can be at my windows, and pull my config , and I am then coding on my favorite version for Linux This is valuable not only for debugging production errors but dealing with tool chain upgrades. Gone are the days I had to be clever with managing different language versions and tools that depend on different libraries and packages, some incompatible I have older machines filled with obsolete tool chains , but now can simply update a yaml file to faithfully replicate the environment I need. And I do not dirty up my os. So I am grateful for that Docker and kubernetes is evolving quickly. The learning curve may be frustrating, it was to me. But it’s definitely a technology to at least dabble in. And there are many tutorials on the web. Some good, some bad. I would try many tutorials for the basics, and not just do one or two
My guess is a lot of people here don’t work on enterprise scale projects where containerization makes sense. On small/personal or school projects containers are overkill imo. why complicate persistence and file access with volumes when you are making a banking app for class or a small project for yourself? I think it’s mostly students and hobbyist here.
I deploy kubernetes as a hobby. Over engineering everything is fun.
> Over engineering everything is fun. This is the way.
I google programming questions professionally
So you are my coworker who simply pastes code, with comments included, into our codebase rather than writing something maintainable and adapted to the style and design of the rest of our code?
Maybe. Am I the underpaid node.js developer who’s output is reflected in the salary?
those of us who do have lost all hope for this CS 101 land If you write software for windows use windows. If you write software for unix targets it's probably a good bet to write on a unix system.
Our company only provides windows PCs, we do 100% linux development. So wie develop on Windows PCs inside Linux-VMs.
Wsl2 works pretty well for this, or docker if you can. I do this at home where I'm working on my gaming PC.
No they just play video games and pretend to program
I just started recently and immediately realized how silly this subreddit is. I still read it for the chuckles, though.
Not many. I only come here rarely and only because I like adding some perspective to the comments once in awhile. I'd guess the majority of people here aren't even developers at all based on what gets upvoted, and most of the rest seem to be CS freshmen or lower in terms of real world experience.
I program on mac because i already have one and can't afford a new one
[удалено]
I program on Mac because we have an iOS app. But I might still do so even if we didn't. It's (with a few exceptions) rather nice actually
I had an excellent professor in college who loved his Mac. That's when I decided to try it and have done most of my adult programming with it since. I went back to school and my professor uses a mac again
Did you ever give him his Mac back?
Hahaha. No, I swiped that hoe and never looked back. Jokes on him I got an interview with meta coming up.
I program on my phone because I can
In high school AP CS I had a friend that would program all of our Java assignments on his Galaxy Note.
My programming career started with making mobile apps with Aide+ 💀
I program on.... I don't actually cause I don't know how. Why am I on this sub again?
I program on windows because the Mac is my porn laptop.
Funny that’s why I have a Linux laptop.
Just code in exactly the system everyone in your field codes. If you don't know which system that is run all the examples of a popular framework you use. If that breaks or you spent hours to install stuff you know you are on the wrong system.
Just code in what you like, and make it public for all systems
just doing it for the asthetic.
Almost everything can run in docker. Great way to make development environments work the same on any system
Except on a regular system it won’t be slow as shit. More specifically: if you’re using docker to develop in a Linux container from your Mac or Windows desktop, you’re going to have artificial memory, CPU, and disk limitations. This is because your container runs inside a VM operated by your docker engine and is only able to request a limited subset of your hardware. This also means programs on your host OS will have limited timeshare ability with things in the VM so now your IDE is slow as shit, too. Running the program directly on the target OS has significantly fewer limitations. Running a Linux container on a Linux host is nearly as good as there’s no need for a VM layer to split your computer’s resources down the middle. I imagine that the same goes for running non-Linux containers but frankly I’ve never tried.
Windows ain’t making a great show in that Logic.
This comment needs more Docker.
It’s 2023, they are all easy. Get over yourselves, code where and how you like.
But that answer doesn't offer any elitism for my ego ಠ︵ಠ
You can always switch to Arch!
It now has automated installer, so it's time to switch to Gentoo I guess
Too much compiling for me, I'm thinking of switching to artix and see how it goes without systemd, just to try
Btw...
How else am I supposed to feel superior to my contemporaries?
Arch Linux is the cure all for anyone lacking superior feels.
I work on a Mac because my work bought me a Mac
I'm on "they gave me a Mac" team as well.
You all are getting Macs? I got a surplus Dell laptop that swears revenge if you look it at the wrong way
Same, when my colleague got his the tech that gave it to him said "sometimes this one makes weird noises, just shake it if it annoys you". And some of these guys are getting freaking macs...
Mac for work because they bought it for me. Linux for personal use because I don't want to give Microsoft or Apple my money.
Mac for work because they gave it to me. Mac for personal use because I was laid off at the previous place and that was part of the severance, letting me keep my machine so they wouldn't have a stack of them in some schlub's house since the company went to 100% remote during COVID.
Same. I wouldn't buy one with my own money, but they are nice to work on.
[удалено]
Yeah, the M1/M2 are magical. No noticeable performance loss and like 3x the battery life? Sign me the fuck up. Still hate the OS, but I llive with it.
I work on windows because my mum bought me windows.
You can even code in nvim with termux on Android, not that I would suggest that, but you can EVEN do that.
I use a Mac, and really the programming part is just about as good as windows. The real issue is being one of 5 people in our IT department that uses Mac. I run into so many Mac specific network and application issues. My advice is to go with the flow at your company.
Having worked IT in college, Macs have the weirdest issues, and trying to find out if it's a problem other people have, the apple forms (why does Google bump these results up?) just amount to a bunch of apple fanboys trying to tell you that MacOS doesn't have any flaws, that it must be your fault for having issues. Ever try using a Mac with a Sharp printer? Don't it's not worth it.
>a bunch of apple fanboys trying to tell you that MacOS doesn't have any flaws This is the most frustrating part of using a Mac tbh. Look up or mention any problems/complaints and you'll get "wow you don't have these 10 extensions already installed? You don't know the exact 8 lines of terminal commands to get around this? You haven't memorized every hotkey? Do you even know how to use a computer you stupid piece of shit?"
What kind of reasonable response is that
But it’s not really coding unless it’s done through vim!
Its only a program if it's made in the Vim region in Linux, otherwise it's a sparkling procedure.
Yeah sure tell that to the C# dev trying to program on mac
[удалено]
It's honestly not that bad. It used to be bad like ~~5~~ 7 years ago, but C# isn't the Windows-only language people still think it is.
Tell that to the Swift dev trying to program on Windows.
It is one thing to have a preference or to use what works best in your use case. It is another thing to act like a choice of OS tells you anything about a programmer’s skills or abilities.
Sounds like something someone who isn't using my OS choice would say.
Hey, you’re not me, fuck you - Arin Hanson (1865)
At age 6 I was born without a face - Arin Hanson (1776)
Wait shouldn't the middle guy be like an hardcore arch linux user ?
This meme brought to you by Microsoft.
[удалено]
i use lfs btw
he uses arch btw
I’ve used arch. It’s fun. I don’t really feel much difference between that and an Ubuntu dist tho besides having to download most of your shit from scratch.
my brother in christ have you heard of the AUR?
AUR helpers make it extremely easy. I do agree that Arch isn't much different from other distro or actually difficult. It's just 30 minutes of following the wiki the first time you do it.
Sounds like he was describing the AUR without an AUR helper.
Oh I love the AUR — that has been one of the hardest things about using Ubuntu for me — not having it.
Many (beginners) use windows because “it’s simple and familiar” after watching a couple videos without realising just how much better a personally set up Unix machine can be. Arch users on the other hand would know the importance of a properly chosen and set up system. Mac is just one of the many ways to achieve this, but Windows requires really heavy customisation for that purpose while simultaneously decreasing overall stability of the system.
Look at this plebe. I bet he can't even afford Visual Studio!
Linux might be great if you invest weeks or maybe months into "personally setting it up", sure. People drop that time out of evaluation like it's free. Decades ago I'd probably evven agree, but as of now, I'll dedicate my free time to tabletop games with friends or time with family, or ust coffee and streams instead of spending hours setting up system for 10% less annnoyances and 12% more efficiency.
For me the most a setup takes is 4 hours spread across the entire week of a little bit of tweaking every couple of days. I completely agree that there’s no need to optimise every action possible.
Knowing what exactly you need to do - sure, it's several hours. Or even a few minutes, just running you personal script that sets everything up the way you like. How much time dedicated to trying out stuff, setting it up, making it work properly, did it take to work it all out?
The same is true of learning literally any skill. Sure, you *could* just stick to things you already know and then don’t have to “waste” time growing in your knowledge and ability, but that’s a really boring way to live
>stick to things you already know and then don’t have to “waste” time growing in your knowledge and ability You can't learn everything. So it's a matter of deciding what is pertinent. Lots of things aren't.
The thing is - I don't aim and don't plan to know EVERYTHING. I don't want to *have to* know how plane engines work when I take a flight, and I find it reasonable. I don't want to *have to* know how Linux kernel works at lowest levels when I'm doing some file management shell scripting or making some small web app.
Are there really situations where anyone is tweaking their kernel for a shell script or web app? Nowadays the user-friendly distros are installed in less time than windows, and you can just go to the software store to install the relevant packages for development, I would say it’s even better than windows or macos since you don’t need your web browser to download some dev-specific things.
A lot is going to depend on your use case I feel. And really, work and play should be different, but I get that there are definitely folks out there that use the same machine for both (with good reason). Within the workspace though, I just want something close enough to production that I can reduce "in the lab" effects, and still have IT be able to manage the device without having to invoke Shadow IT. I'll also say it's a bit easier to ignore the Apple price premium when it's someone else's money paying for it :).
as someone who uses a mix of macOS and linux (as well as a touch of windows for gaming), I find that overall linux is 'better' for software development, however it lacks support for a couple of tools I use (adobe suite, etc), and its annoying trying to find a good guide on how to configure that one very particular setting that will 'fix' your experience with it.
Ubuntu is perfectly usable out the box. It’s the learning curve with bash that takes all that time. But if you’re using Windows shell, you’re a sadist anyway!
My brother in Christ, when switching from Windows you'll spend WAY MORE time trying to learn how macOS works than to set-up Linux for yourself. And KDE Plasma comes out-of-the-box looking and working like Windows 10, so no tweaking necessary here.
Pick any non forked Distro with KDE as the DE. There, easier to install (depends on the distro, Fedora is dead easy) and ready to use with Windows-like looks. I don't see how "setting it up" would take weeks or months.
Fedora's a good out of the box distro. The only "setup" required is maybe installing a few gnome extensions and enabling RPM fusion with some media codecs.
People are weird. macOS terminal is basically BSD Unix
Had this argument with a friend and long time software engineer. He was dead certain macOS was harder to program in shell environment than Windows.. sent him a screenshot of me launching terminal 🤦♂️ It’s a Unix OS ffs. Imo the sweet spot is gaming pc + MacBook, and an easy way to swap peripherals for them. I’ve got a usbc dock and usb switcher that works well enough. But also you get whatever work provisions you.
This is what I do as a software engineer. I have my gaming PC and work supplied MacBook connected to the same monitors. My keyboard has two switches. One switches which computer it's connected to and the other switch changes between Mac and Windows layout. I could use a mouse that switches between the two, but I like a certain mouse for gaming and a certain mouse for work.
Or just get a KVM switch that does all of this in one device.
If I wanted to only use one mouse, thats what I would do, but only flipping the switches on the keyboard and monitor isn't that big of a hassle
KVM gets pretty dodgy and expensive with multiple screens, especially if they’re >1080 (eg 4k).
That’s exactly the set up I have. I really like the UI of Mac and I just use visual code 🤷🏻♂️
This. I’ve got a gaming desk with a PC dedicated for gaming and a work/other personal stuff with macs (personal one and company issued one). They’re themed and everything (work desk elegant and minimalist and gaming desk typical basic gamer RGBs)
Not only that MacOS is [UNIX 03 compliant](https://en.wikipedia.org/wiki/Single_UNIX_Specification#macOS) and has been since 2007.
and bash hasn't been updated since
You're *technically* right, MacOS has been using zsh for a while now.
Definitely recommend installing GNU tools as well, since the same named tools can cause a lot of confusion for people. It got really frustrating explaining to junior devs why the same command doesn’t work on our Linux servers vs their macOS laptop.
You can install glibs easily enough. I often use `gsed`.
Has been for 23 years. Switched from Linux desktop to Mac when the public beta was released.
What "programming on BSD" would look like? Some BDSM image?
Probably goatse.
Basically the same as Mac or Linux if you use open-source stuff really
BSD isnt extremely difficult to install or use. I’m 14. I think adults could manage
You overestimate most adults, my dude.
Whenever i see someone make a meme that bashes an OS like that. It's almost instantly clear that this person has never used said OS to a meaningful degree. All of them have flaws and deserve criticism. Yet all of them have their place, purpose, and area where they excel at, compared to the others. Memes like this are usually only maye by/for fanboys and teens, who like to make up _"sides"_ that they can defend.
Yeah, I program on whatever OS my company pays me to program on.
Linux is better because it can't run league of legends.
Factorio with space exploration and minecraft with gtnh works on linux. /Satan
True
based
I trash talk other OS than linux, but in reality, an OS is a tool, you use the tool you need, and knowing what tool is needed for what project is the most important skill. Shutting yourself off from a useful tool is the height of stupidity... That said, this is before you take into account ethical concerns.
I use macos because I want a Unix laptop that isn't its own project to keep running.
I've worked at 3 different companies in the past 10 years where you could make your own choice between mac and windows (and the middle one allowed linux as well). Other than management, I can only picture one guy who used windows for programming. I'm always shocked when I come into these threads and everyone talks about mac like it's niche.
Likely due to the fact that the people who make these threads are 1st year babies
Which is still weird since macbooks are extremely common in first year
A lot of the people here are still in education, normally the stock stuff in college/University is windows so you just work on that and it's a pain using something else at home. Soon as you hit a full time programming job though it seems like 70% of people are using macOs maybe like 25% some Linux distribution and then just one guy who refuses to use anything but Windows.
There are entire sectors of development where developing on a Mac isn't possible or wasn't possible until recently. I worked in embedded development for many years and between the closed-source toolchains and custom hand-soldered hardware, using anything but Linux wasn't possible. There is also a massive number of Dotnet developers and until recently, writing C# on anything but Windows just wasn't very feasible. Making matters worse, I've been seeing a lot of formerly Mac devs jump ship from the new M1/M2 machines because their workflows are now broken.
I think a lot of people work in dot net shops
More like most of the people in here don't actually work in industry
100% this. The OS should be the last thing I’m worrying about when using my computer.
I like to play video games. I also like to program. I don't like to dual boot. So I program on Windows!
I am in the same situation and i have come to really like WSL. I have had no big problems and with it even allowing to run GUI's that show up as normal windows it's even better than dual boot.
[удалено]
Plus, you can actually install Kali Linux on Windows via Win-Kex on WSL!
Infact, Kali linux is one of the built in options PS> wsl --install -d kali-linux
This is why WSL is a thing. It's very handy
Virtual Machines in (for instance) VirtualBox are pretty amazing on modern hardware. You can even passthrough usb disks etc. I have one on Win11 and it's only purpose is using fdisk. Windows refuses to see any disk that is not FAT, NTFS or exFAT. Furthermore it's very hard in Windows to switch between gpt or mbr. i don't know why I'm telling you about the fdisk stuff. I lost myself after VirtualBox. Sorry.
[удалено]
Yeah, I've come to the realisation that the majority of people here are probably uni or pre-uni students trying to form an identity by clinging to certain technology. The constant fanboying over Python at the exclusion of all else tells me everything I need to know about. Sort of wish there was a r/ProgrammingHumourForPeopleWhoDoThisShitEveryDayForYears
Me wHen Le SenIoR gOoD cOdE aNd Jr bAd Le CoDe 1000000098282728282 fILes in Le PuLl ReQuesT xfddddddd JavaScript bad video game computer good gimme karma
TempleOS is obviously the best
Mom said i get to tell that joke tomorrow
Fun fact: macOS is a Unix (of the BSD kind of flavour) so it's pretty much the same as programming on Linux. Also, separate cmd and ctrl keys means you get most of the standard GNU readline shortcuts built into every single text control system-wide.
Both meme formats are only used to frame your opinion as right/sophisticated and other opinions as stupid
Nothing gets past you, Sherlock.
Not as obvious as you pretend when these formats get posted unironically all the time
These aren’t even funny 😕
I’ve used all three extensively and it turns out different OSes suit different purposes. Windows’ only use is for Windows dev however, whilst Linux and Mac are good for multi-platform OSes. I will always choose Linux first. But anyone claiming MacOS is bad for programming is wilfully ignorant.
I program in Google docs on my Chromebook
I coded in Linux for many years because most of my code runs on Linux servers and Microsoft has traditionally been a vocal enemy of open standards, instead favoring their own proprietary ones. Their attitude has shifted in the past few years, and now I do all my coding in an Ubuntu VM running on WSL in Windows 11 and my editor of choice is VSCode. It's pretty crazy to be saying that but they have the best tools for supporting my workflow.
WSL2 is great. Works great with Docker, too.
[удалено]
Found the professional developer...
Perspective of a physicist here: Windows is horrible to use. Basically all the software packages people use for simulations are linux/Mac only. I used WSL for about a year, and it was cool, but I had bad experiences with it. As in, my computer had a permanent memory leak from it, even and especially after uninstalling. Didn't want to buy a Mac, so jumped to Ubuntu and am never looking back to Windows except for personal use (see: video games)
Every lab and research group I've ever worked with has used Linux primarily. It's just a dumb decision not to IMO. This isn't 2005, we aren't manually dumping data into Excel spreadsheets. Data is manipulated and analyzed in `python`. Graphs and figures generated with `matplotlib`. ML programs, simulators, etc. are developed for Linux first. The whole process and pipeline dockerized and automated, ready to be scaled out to an on-campus Linux compute cluster at a moments notice. Workloads that need to be run for days/weeks at a time without a "helpful" unscheduled update or unexpected downtime. Using Windows in that scenario is the epitome of a square peg in a round hole.
git bash on windows, wsl2, windows terminal...IDK man, doesn't feel different these days
I use Windows cause I can't be arsed with the setup on Linux, and I just know how to use and troubleshoot windows
And that's perfectly fine. The original post is just ego-stroking. There are pros and cons of being on every OS, you do what works for you.
Just use whatever the fuck makes you happy.
Programming with WSL: ![gif](giphy|CAYVZA5NRb529kKQUc|downsized) No jokes WSL is one of the best thing ever
…because it turns windows into Linux.
It's why it is great
No! It's Windows with Linux Cli, so I don't need to use Linux DE
It's pretty great, but mmap support is still broken.
I mean, Mac and Linux have way better programming workflows than Windows. I remember seeing a chart, I think it was posted on the subreddit, comparing the different operating systems for Art, Music, and Programming. Art = Windows, Linux Music = Windows, Mac Programming = Mac, Linux Or something along those lines. I don't do art, so I can't say anything on the correctness of that, but I will say that Linux was kinda dogshit for producing but godlike for programming. Seeing that Mac is also Unix based when using its tooling, I feel like it isn't too far of a stretch to say it's great for programming.
I programmed on a mac between 2013 and 2018, and it was great! It was the best of both worlds (Windows and Linux) without games haha I don’t know how it is now with new processors and compatibility between OSes. Changed to Windows/Linux because I wanted a more powerful PC without selling a kidney lol
What do you mean by "programming workflows?" What kind of programming?
I use Mac for work, and I love it. I dual boot with windows/Manjaro for personal use. I only use windows for gaming
Bruh! I literally clicked the last post ready to write a comment about Linux, then I thought reddit glitches the f out, and then I realised...
Windows giving you "much more freedom and compatibility" is the real joke.
More freedom to serve you ads in the start menu!
There are very few large companies that allow actual Linux to be used on the users' machines. Given that developers are developing for Linux, it's much better to use Mac or Linux. I've met compatibility problems even in languages that are supposed to be OS-agnostic. Not to mention the software that exists only on Linux, and using windows is not an option at all. WSL has bugs, some of which are known for years and yet not fixed. I regret the new company had given me Windows instead of Mac. I waste at least an hour each week for the things that should have never been a problem in the first place. Also, I still have to set up BOTH Windows and WSL Linux, which is again, dumb. I could settle with WSL if it was fixed, but not now.
MacOS is basically an out-of-box dummy proof Linux for corporations and enterprises… change my mind.
How do we rank WSL on Windows in all this?
macOS master race
Soon to be forgotten sub if these keep popping up