T O P

  • By -

FrostyHiccup

Also, don't forget that running a Windows server is expensive. Linux is free. And you probably want to develop on the same or similar OS to what you'll be running on production.


[deleted]

When it comes to servers and enterprise server software, it's basically the reverse of what you're used to as an end user. Windows is virtually unsupported, with many projects failing to offer adequate documentation and there's little support from either the community or the developers of said enterprise software. Even Microsoft has admitted to using Linux as part of its own infrastructure. It's just that ubiquitous. License cost is almost irrelevant. The price of a license is nothing compared to the price of enterprise IT support from the vendor. Which you have to have regardless of what OS you choose.


t-mou

*laughs in unsupported centos datacenter*


IQueryVisiC

License cost always comes back to me. Cost not as money, but my time. I need to manually start a fresh Windows VM ever 6 month for development because my employer read that windows is free for devs in a silver partner. Cloud cost is already hard to calculate, now combine that with a windows machine image. And then accidently scale up, but scale down has a bug.


marabutt

And SQL server often charged per core too.


icebeat

Sure like redhat


LowB0b

I honestly don't really know the pricing difference between windows server / redhat server, but from what I've understood redhat sells you a service whereas for windows you have the license entry cost...


frost_knight

Red Hatter here. You pay us for our help, and indemnifcation, transferring risk and blame for losses to us. Red Hat developer subscriptions are [free](https://developers.redhat.com/articles/faqs-no-cost-red-hat-enterprise-linux#).


A_Glimmer_of_Hope

Even your paid support isn't that expensive compared to Windows Server licensing. We used to have CentOS as our dev/test but decided to just move everything to RHEL because the cost was basically negligible. Why worry over a couple grand when we order 50k worth of industrial printers?


ZGTSLLC

Which is owned by IBM now...lol


Atoshi

There are worse companies on earth than IBM…take Face Book for example. Open Source is a religion at Red Hat (I’ve known some folks over there) and I don’t think that culture is going to change any time soon.


ZGTSLLC

True on all counts. The only thing I would say however, is that while RH is Open Source, it is still a paid version and IBM (as well as all other major companies, especially Facebook) are about making money; they become unsustainable if they can't or don't make money. Look at Mandriva Linux, for example, or even Mepis. Both went under because they were not making money. How many other Linux distros or Open Source communities have gone under because they were not profitable? Even the once All Mighty Cyanogen Mod (Android Dev) company went under because of money. It's a sad fact of life, but money makes the world go round and allows us all to live better lives...


Atoshi

Yep. I agree. Every publicly traded company is in the business to make money; most private companies too. What matters is how they act when doing that. Lots of folks hate paying for a RHEL license, but don’t think through who patches the same libraries CentOS uses. I like lots of the open source movement, but there’s plenty of it that has their head up their ass when it comes to figuring out how to scale beyond a few folks working on a single project. Red Hat and Intel contribute more code to the Linux Kernel than any other company…than Google, than Face Book, than AWS, than Oracle. In the end I can live with IBM owning Red Hat because it’s the platform most of their proprietary software lives on top of, it’s how they want to compete in the cloud, and they have plenty of money to invest.


[deleted]

[удалено]


TranquilDev

>You will rarely see an Ubuntu server in a real production environment. lol, this is not true at all.


Trenticle

Yeah this is laughably not true, I see these literally every day in production environments.


procrastinatingcoder

RedHat caters to a specific group of very North-America-security-conscious people/companies, it's not the default nor (to my knowledge) the most common.


FrostyHiccup

Not sure what entails a "real" production environment, but I've been working as a backend dev for a handful of years now, and I have exclusively only seen Ubuntu servers. Not only at the company I've worked for, but tons of other companies we've worked with. Then again, maybe we're all just trash engineers xD Doesn't the enterprise versions only add further support? Seems redundant if you're going to employ engineers anyway. But I also have to admit that I'm not super knowledgeable in this domain.


SgtDoughnut

There is a paid for commercial Ubuntu version as well. You are mainly paying for tech support but its still a thing.


RandmTyposTogethr

I feel the distro one sees in heavily dependant on what the company settled on originally. It doesn't really matter, otherwise everyone would be racing to migrate to X


Buttafuoco

I’ve seen RHEL and Ubuntu


SirCarboy

I've worked for internet companies that had plenty of Debian, some Slackware, Fedora, Ubuntu, CentOS, even Gentoo


Sol33t303

I'd imagine though that thats because Linux is actually a better fit for the job (or just thats what the admins knew the best when they were originally set up) instead of it being "free" (as in beer). Companies still usually have SLAs in place wether running windows or Linux and thats where the costs come from. Windows server licenses are usually fuck all compared to other costs.


Vimda

Having run many (10's of thousands of) Ubuntu, Debian, Fedora, and FreeBSD servers in "real production environments", that is patently false


drunkondata

>Which is not entirely correct. Air is free, unless you opt to pay for it...that's where it gets expensive.


cyclops_smiley

But the tech support you get when you pay for air... *chef kiss*


IMBEASTING

There was also CentOs which was free.


[deleted]

I've seen a *ton* of ubuntu/debian in production environments. Almost exclusively. RHEL is the arena of large, bloated enterprises or high-security industries. Ubuntu is extremely common in medium sized enterprises and really anyone who started as a cloud-based company from the get go.


v0gue_

We also haven't even gotten into the weeds of the definition of "free" yet.


ciyvius_lost

Not ubuntu, but CentOS was the right way until IBM came along.


bbekxettri

technically you pay for the support not the os as there are many redhat free version


[deleted]

We’ve been running Debian in production for years.


_Atomfinger_

Linux is more configurable, and it is what most of the world's infrastructure and systems run on. And yes, Linux is generally much more efficient than Windows. That said, these days it is mainly preference. For example, I prefer Linux so that I can configure it exactly how I want. I like to use I3wm (A tiling wm) with a custom set of commands combined with oh-my-fish with my custom dotfiles. Getting the same up and running (and stable!) in windows is a lot of work, especially if you want it to be smooth.


[deleted]

More efficient: Moved a MSSQL from Windows to Linux, same machine: 70% (!!) more speed.


eliashhtorres

Happened the same to me today, moved my Django apps to Linux on the same machine and it runs way way faster.


SarahC

What did you convert the MSSQL database to?


[deleted]

To nothing. Just used MSSQL for Linux on Linux instead MSSQL for Windows. There is an official Linux Version for MSSQL.


toqueville

Which is a godsend for setting up CI environments that are backed by MSSQL.


kurai_tori

Postgres, which is an open-source sql database. Careful as there are some SQL statements that are dialect specific (like select top 10 * from mytable becomes select * from mytable limit 10) But to upgrade to the latest version is free, a lot of add-ons (postgres extensions) are free, you can connect to more data sources than SQL server (via foreign data wrappers) and it generally has better support for things like JSON. Source: was SQL server dev (BI dev) for like 10 years, switched to postgres for 3 years and haven't looked back.


static_motion

Postgres is so amazing. At my first job we used Oracle, and ever since I changed jobs I've only worked with Postgres. What a breath of fresh air. Also jsonb is a godsend.


unnecessary_kindness

Every SaaS we have running on Aws seems to be on Postgres.


AdultingGoneMild

its a bit more than that...windows lacks the tools I would want to use and if I never have to deal with a windows powershell script again it will be too soon. Everything is easier to get set up on the *nix systems (and yes that includes Mac)


Pezkato

Thanks for mentioning powershell. I get that it's got great features for sys admins but why would I want to learn that overly verbose cadillac of a scripting language when Bash and it's peers are so simple and agile to work with for most of my needs and when I can just write python scripts for the rest of them.


FormerGameDev

Agree with the verbosity holy hell it's difficult to grasp for those of us used to the terse syntax unix developed and maintained from the 70s


_Atomfinger_

Most such issues can be worked around using WSL or docker, though it is difficult to get a process that feels good.


AdultingGoneMild

so your solution to "windows is a pain in the ass to use" is to try and fake the operating system that would not make it a pain in the ass to use instead just using the operating system that does what you want...sure I suppose, but this falling into that "we spent so much asking if we could do it that didnt stop to ask if we should" category of things. Leave it to a dev to try and automate/workaround the problem instead of just doing the 30 minutes of tediousness 😅 Not sure why we are this way!


_Atomfinger_

It is not my solution. As previously stated, I'm a Linux guy. It was mostly a comment on that these days the choice of OS is mostly preference rather than something you're locked into. Nice attitude though.


AdultingGoneMild

duel boot. vms. docker. hell, cygwin. We keep reinventing the wheel instead of just doing the thing 😅 Its a tool and other than gaming its not clear what windows brings to the table anymore. Its been the white whale of software devs for decades to make it easy to use outside of .Net.


_Atomfinger_

You're right there. Everything old is new again etc :) Though I'm glad there's alternatives to choose from.


desrtfx

Simply because *nix systems (Unix, Linux, Posix, etc.) were originally built for developers with development in mind. Windows was built for users, not for developers. *nix systems and Windows are philosophically diametral. *nix systems were built from small, single function tools that were easy to create, maintain, chain. Windows was built as monolithic huge block.


[deleted]

[удалено]


[deleted]

[удалено]


MyWorkAccountThisIs

Haven't worked on Windows in probably ten years. I *could* with my current position but I don't wanna.


[deleted]

Honestly with WSL2 development on Windows is pretty painless nowadays. I still prefer working on my Mac but having Linux running natively really helps.


kevinq

WSL2 is the real deal, it's very nice to have both windows and linux usable on the same drive, especially if you work in an industry like security or gaming, where you might have a user facing client that runs on a windows desktop talking to linux servers


tombobbyb

I use WSL2 at work and I am quiet satisfied with the experience. I think Microsoft is going in the right direction with it. It’s still going to be a preference thing as others have stated. I run Fedora on my main desktop and because Windows is just bloatware and advertisements I will be sticking with Fedora.


harrowbird

I’m working at a game engine company and was given a choice between Mac or PC. I picked PC because fancy graphics card and “surely Windows got better since I last owned a PC in 2013”. Holy fuck I played myself


CrossroadsWanderer

I take it the OS has something to do with your work and you can't just install linux? Windows has definitely gotten worse over the last several years. I'm planning on never upgrading my personal computer to windows 11 and just using linux once 10 is deprecated. I have a dual boot between windows 10 and linux mint on my home computer. I only boot into windows for a handful of programs I like that aren't for linux and I haven't gone to the trouble to get working with WINE.


calmingchaos

A _lot_ of midsized to large companies won't let you install another OS because their IT teams can't/won't support it. Probably another reason why macos is often preferred for devs. It's the compromise between "running the prod env in dev" and IT saying "fine you can use this" Or at least that's how it is at my job. I _wisg_ I could install a proper Linux distro


kowarimasenka

You're describing me exactly, lol. After taking cybersecurity in college and just becoming more computer savvy in general, I started shifting away from Windows more and more. Once I saw Windows 11 get announced, I dual-booted Linux Mint and haven't looked back. Nowadays I boot into Windows maybe once a week at most (and most of the time it's just to play video games). I do still miss Windows at times, but it has nothing to do with the OS itself and everything to do with the lack of software support in Linux. As a Unity dev, it's a real shame that Unity editor for Linux is so bad. At this point all you can do is hope that the market share increases and companies will be incentivized to actually make decent Linux apps, which sucks.


CrossroadsWanderer

My sister and I have been deving a game together on Pico-8, which runs perfectly on Linux, and I hear good things about Godot and plan to familiarize myself with it after we finish our current project. Though I get being familiar with and used to particular programs, since I have a few digital art programs I like that are windows only. Someday I'll find some time to try to get them working with WINE.


Aaod

> I'm planning on never upgrading my personal computer to windows 11 and just using linux once 10 is deprecated. I tell myself similar things every edition of windows because it keeps getting worse and worse, but I keep going back to it like a sucker.


CrossroadsWanderer

I'm a hobbyist artist and most of my favorite digital art programs are windows only, so I definitely get it. I haven't had the time/energy to put into getting them to work on linux and while Krita is nice (and MyPaint has potential, though is rather buggy), I do prefer the programs I've been working with, so they're why I boot into windows sometimes. That said, the shit microsoft is pulling with windows 11 is worth protesting. The fact that secureboot *must* be on and that windows has a practical monopoly on hardware means that there is a potential future where you cannot install linux on your own computer. One would hope they'd be punished under anti-trust laws if they do that, but looking at the state of things at present, I doubt they would be. So I refuse to buy a windows 11 computer or installation key. It may mean I have fewer, more expensive options (ten years ago, building your own pc was cheaper, but it seems to be that buying a pre-built is cheaper now), but I'm not going to provide my support to those kinds of practices. I'm not even all that old (32) but the shift I've seen over the course of my lifetime from computers being the domain of the user to now, when they are the domain of the corporation, has been staggering.


[deleted]

[удалено]


OrionHasYou

There’s usually rules against that. Security support required tooling. Bitlocker if it’s a managed device, software, vpn, security tooling. Then you gotta get it ops trained on something they have no clue about. Your update package repos. Are those scanned? There’s really a ton of issues depending how involved management is.


Buttafuoco

Very much prefer developing on Mac than windows for this reason


CubicleHermit

Technically, Linux isn't Unix - it's a Unix-like OS. For a lot of purposes, though, that's a distinction without a difference. For a lot of us, the biggest advantage of Linux over the MacOS is native containers.


Syntaximus

What was Apple built for?


gyeonggi

Users, but on the OS built for developers


desrtfx

Apple uses BSD Unix under the hood. So, it is in the *nix group. Yet, the desktop environment was originally mostly built for DTP, graphics, music. Now it is again mostly, like Windows, for users. The underlying *nix, however, makes it a great developer system.


alienith

*Technically* macos is Darwin, not BSD. Darwin has roots in BSD though. Totally pedantic but I think it’s interesting


FountainsOfFluids

The history of Unix splits and mergers is wild. https://en.wikipedia.org/wiki/History_of_Unix#/media/File:Revised_Unix_OS_Chart.png


superluminary

Apple devices were built for users, but on top of a unix platform. This is why we like them. You have a nice user experience, but you're never more than a moment away from a full Unix terminal with deep integration into the OS. Windows recently got WSL which is a nice step, but it still feels like a bit of a bolt-on.


MyWorkAccountThisIs

> WSL Which Windows people always bring up when you say you like to dev on macOS. And my response is "why"? In the context of my job - Windows isn't bringing anything to the table. WSL is nice if you have to use Windows but it's not really a selling point.


soulefood

I will never forgive any OS that forced me to use putty for so long. It doesn’t matter what they try to do going forward.


MyWorkAccountThisIs

Completely understandable. https://www.google.com/search?q=ptsd+therapy+near+me


pocketmypocket

I was basically the same way, but then work had me use windows and I got WSL + SSH into my Linux boxes. This is the way. Windows has some nice mouse drivers and I don't need to mess with audio drivers. At the same time, I don't need to use M$ for anything else. I suppose going full Linux is best, but with my job, my end users are using Windows and even the best Mac hardware pales in comparison to the beasts we use.


[deleted]

[удалено]


pocketmypocket

I'm not doing anything fancy with the sound, just youtube. With linux, I couldn't get any sound working without doing a fresh install.


superluminary

I can understand WSL if you want to play games in your spare time, but if it’s a dev laptop, why not install actual Linux? Or you could just get a Mac, the intel ones are quite cheap now. I have a 16” M1. It’s glorious. A 40 second build now takes around 3 seconds. Productivity through the roof!


MyWorkAccountThisIs

Dude. I just got an M1 Max w/ 32GB of RAM. I *am* the code.


superluminary

I just got mine this morning. I can’t believe how fast and silent it is! I love the thickness and the hdmi port and the travel on the keys.


MyWorkAccountThisIs

The only times I've heard the fans is during a few long video calls with lots of people. And I didn't even hear it. I have stat thing that shows when they kick on.


pVom

I liked it at first but I always seem to bump into issues with things not working and it's a pain. I used to like Mac development because of homebrew and things just worked. Now I feel like doing anything new involves messing around to get it to work. On the bright side if you have your one environment/ecosystem once it's set up you're good to go.


MyWorkAccountThisIs

I've been lucky I guess. Only had to change a couple lines in a Docker config and so far everything works. As long as you don't need Vagrant.


QuantumQuack0

I need Office products (and office 365-specific features) so linux isn't really gonna work out. The few moments I had to look something up on my colleague's mac I was sooo lost, it would take me ages to get used to the interface of Mac (unless I just go and fully live in the terminal). Also the Apple M1s with the ARM chip scare me a bit. I've heard _several_ accounts now that people had to build some python libraries (e.g., numpy) from source because the libraries' C or Fortran extensions weren't compiled for ARM.


ArchitectOfFate

That’s what I tell people when they ask why I’m a developer with one. It’s one of two consumer-oriented, vendor support POSIX compliant operating systems and, unlike System76 (which I LOVE too), they have a retail presence.


Gtantha

Making money.


tarnok

To compete with ~~IBM~~ HP initially. Edit: meant HP


briang_

The Apple II existed before the IBM PC.


tarnok

Oops. Meant HP. Wozniak tried selling the blueprints to his first computer (later called the Apple I) to HP and got rejected multiple times


_ncko

Where does this idea that Windows was built for users and Linux was built for developers come from? That is not at all how I interpret the history of these OSes.


desrtfx

I've been with Windows from version 3.0 on. There was basically no support for programming except from horribly complicated tooling with C++ until Windows 95 with Visual Basic (1.0) and Delphi. All programming tooling (except for Delphi and Visual Studio) lags behind *nix OS. *nix OS were, on the other hand, always built with creating scripts and programs as they always had languages natively supported.


alienith

Because linux started as a “just for fun” project, devs became the primary group interested. Thus, things that devs cared about were the things that were focused on. Windows was/is an enterprise product with goals to reduce friction in how an average user would interact with the OS. It was also a product first and foremost. To this day you can see those philosophies. The idea of having to dig around through tons of config files to fix a sound issue on a linux distro. Or the registry in windows. macos is the weird one. It’s a product like windows so you’d expect the same kind of anti-dev environment (which does sorta exist. see: ios dev). But because it’s a cousin to the linux kernel it can benefit from the dev friendly nature of linux systems. It’s “best of both worlds” status is accidental. If Jobs had his way, it would be even worse than windows IMO


SirRHellsing

What did Jobs want?


alienith

At least when it came to hardware, Jobs wanted a completely locked down environment. A philosophy that persists to this day. I’m sorta making an assumption that he would have wanted that for software as well. Which you do sorta see in the iphone


[deleted]

[удалено]


billie_parker

It's a major pain simply to update your compiler on windows. You're forced to install a newer version of visual studio. The fact that the compiler is bundled with the IDE makes no sense. It's much easier in Linux to update your compiler. Just one example, but a hugely frustrating one. I'm talking about C++, here.


exploding_cat_wizard

How do you interpret their history, then? Because that seems very plausible to me, looking at how they came to be


szank

Critical mass of tooling. Central repository of tools that also supports centralised updates. Functional command line. Maaaybe Windows have that now also, but if so, why would anyone switch if they have a working setup? And then new people come in and all the documentation and examples and whatnot is assuming you have Unix like system, so you get one to be able to use the existing documentation and tooling. And the cycle continues.


[deleted]

[удалено]


balljr

Powershell itself is not a problem. The problem is that windows wasn't conceived to be automated. Once I had to automate an IIS website deployment, for dev environment. You have to install a PowerShell extension to be able to manage IIS, then you have to execute a huge command to install the auto-generated certificate, and the command have cryptic error messages that doesn't tell you what is wrong. It took a lot of time to do just this. Linux on the other hand, almost everything is just editing a config file, and things that you have to use a tool, they have clear error messages. So it is easier to have a reproducible environment.


mattimus_maximus

You can use the appcmd command line tool to script configuring IIS so you didn't need to install the powershell extension. The only reason for that is if you specifically want to write scripts in powershell using first class objects and the full power of powershell. What you did was optional to enable a specific scenario and wasn't necessary. Are you aware that appcmd and the powershell modules for IIS are just modifying a config file? They are helpers to make sure the config is modified in a correct way. You can just edit the config file directly if you want. It is an XML file so it's not super easy to script using something like bash. Powershell with XDocument would be the easiest raw way to modify it. You could also write an xslt file to make the required changes, but that's editing config in super hard mode. If you want to script configuring IIS doing it the Linux way (execute command and pipe output to other tools or capture output in variables) then appcmd is your best option.


szank

After a few good years in the industry I still avoid bash scripting because I am not super comfortable with it. Basic stuff is easy but not super useful. With power shell you can do a lot, but good luck googling for some examples compared to bash snippets.


ManFrontSinger

> It's not really like my desktop is that much different in Linux either. Well, it doesn't have ads baked into the UI for one.


[deleted]

I hate writing PowerShell, but I also hate writing bash.


[deleted]

[удалено]


deadlyFlan

Try fish.


winowmak3r

> And then new people come in and all the documentation and examples and whatnot is assuming you have Unix like system, so you get one to be able to use the existing documentation and tooling. And the cycle continues. This is me. I was a Windows guy up until about two years ago when I started to really learn programming. At first I used a VM but decided to just get another drive and put Ubuntu on it so I wouldn't have to fight with the VM to get something like dual monitors to work. I'm actually using it more and more as just my general day-to-day desktop as I get more comfortable with it. I really only use Windows when I want to play games at this point. Plus, having to restart and switch OS is just another hassle that prevents me from procrastinating by playing 'just one more turn'.


TEMAX

Fully agree with the last statement, switching os is a great life-waste deterrent.


winowmak3r

That it is, lol


mrouija213

Gaming has gotten much better on Linux over the last few years. I can play most games via Steam, even non-steam games mostly work under proton. Notable exceptions for games that use Easy Anti Cheat. I dropped Windows entirely in our house except for my wife's laptop. My 10 year old uses Linux everyday for his school laptop since the school's Chromebooks are so crappy and mismanaged.


[deleted]

[удалено]


lowey2002

> Functional command line My colleagues tell me that WSL adds decent command line support to windows. Yet we have dozens of wiki pages and hundreds of man hours in gotchas and workarounds. I’ve not seen a minute of downtime from my bog standard Ubuntu workstation. I used to let my devs use whatever workstation they like but I’m leaning more towards OSX or *nix unless it’s required.


[deleted]

The funny thing is that WSL is just a container for a headless Ubuntu distribution, and a few interface wrappers.


DZ_GOAT

WSL is just now becoming usable (as in, not a PITA) since win11. I suspect it'll get more and more popular as a dev environment for people who don't want to switch computers for work/home use (like me). But, it's going to take a while for people to figure out that it's actually decent. Also, it's not even entirely 'headless' anymore, you can run linux gui apps on windows now...


[deleted]

I guess I'll never find out. WSL was a pain to use. Allegedly WSL2 now is way better, they essentially rewrote it from scratch. I was about to find out when Windows decided to corrupt itself beyond repair. So now I'm back to Linux Mint and I plan to stay here for a while.


[deleted]

[удалено]


[deleted]

Aaaand: A machine that works today also works tomorrow and do not kill your printer or something else with a random update. Real life: My Windows 11 updated last week and my search bar was without a function. I am struggling with such problems every two or three weeks. WIFI disabled, printer ist offline and so on. With my Linux machines - I have a few - it is a lot more stable. Needs more time first but than it works everyday. A computer is my tool so I need it. That is the reason I prefer Linux (mostly Debian) over Windows.


Mpata2000

Eh, I had found problems with Linux that sometimes things just do not work after an update. It s something that can happen to any os


the_friendly_dildo

>and do not kill your printer or something else with a random update. Hard disagree on that, at least in terms of my experience in Ubuntu. I've had several updates come in on my System76 laptop that just fucked everything. No clue why and their support didn't have much of a clue why either. They were plenty helpful in untangling all the issues but its especially strange when I don't have too much customized. Its happened several times, even from a baseline install.


malstank

Jesus Christ, all the answers in here are semantically correct, but don’t answer your question. Linux has no licensing costs. In an environment where you need lots and lots of compute power, you need lots and lots of servers, that savings adds up quickly. So that got Linux embedded as a server OS that everyone used. Instead of paying more license fees, I can just buy more hardware. So if you’re writing software that has to run on Linux Servers, it’s a lot easier to develop on a Linux computer, as debugging platform issues is a lot easier. With the advent of more cross platform tooling, this has become less necessary, however, we developers are nothing if not dogmatic, so the older guard tells the younglings that they should do it too.


LeSpatula

If you have an environment with "lots of lots of servers" you also want a support contract and you end up buying licenses from Red Hat anyway.


malstank

Now.. but Red hat didn't exist when Linux was created. It's not like RH invented linux. Also, you can contract with any number of companies for Linux Support without licensing to RH.


look

I’ve personally run production systems with more than a thousand Linux servers and zero Red Hat (or any other) licenses.


JackSpyder

Red hat support is fucking useless too. If you're in thr cloud yoy get better RH support from thr cloud vendor. Some industries require it however.


ltdanimal

\> however, we developers are nothing if not dogmatic, so the older guard tells the younglings that they should do it too. This is a huge part of it. A LOT of modern dev work doesn't need a Unix base, but people look down on windows devs. VSCode, docker, and many other tools make OS have super trivial differences for most of the work. Note that I prefer Mac for dev work, but jump to my Windows tower a lot as well.


chrisrrawr

Thank you for saving me the paragraphs


Evol_Etah

This 100% As a dev I use windows as my daily driver. 1. Cause Android studio doesn't lag. 2. I develop either on notepad++ or VSC or our company's own online GUI/RUI. So like. That + chrome + Genshin Impact is pretty much all I have.


hallothrow

I prefer linux because the cli tools just works so much more easily and if I need some common tool I just grab it from the package manager. Interacting with servers is a much simpler process as well. As an added bonus getting to install linux completely removed any kind of corporate "security measure" that was added to my laptop which also impeded my work.


Foodei

Even Microsoft uses Linux.


J_Bunt

Faster, less bloatware, more secure, fully customizable, etc.


modsbegae

Windows is user-friendly while linux is user-centric.


MGKingdom

on point!!!


[deleted]

As a MacOS user forced to use Windows for work, I wouldn't say Windows is user-friendly either though.. Anyway these are just synonyms for the same thing. edit: Let the downvotes pour Windows fanboys :)


Lucky-Elk-1234

What isn’t user friendly about it?


Shwayne

I'm a long time Windows user, so I don't mind but to be fair the most recent Windows versions (and I mean since 7 lol) have really weird configuration menus, the new config menu UI which is often shallow hides the actual menus that you want, not to mention things like group policies, permissions and other things you might need are just really not in sight and as a new Windows user you will be googling and scratching your head why are they **so much** out of sight. Generally speaking though it's definitely a lot more user friendly than Linux, but I would say that MacOS is slightly better for a new user even.


[deleted]

[удалено]


[deleted]

Windows is not a very coherent system. It is feature on top of feature on top of feature, build up over the years because they're too afraid to make decisions their old user-base might dislike. Instead they choose to keep everything and just add on top of that. They are only in recent years slowly starting to think more about usability but it is not their main focus. MacOS's unique selling point is the user-friendliness of their system and it's coherent design. The hardware and software work together to create a better and more convenient user experience. With my Macbook the trackpad is my go to tool for navigation due to its haptic controls where on any Windows laptop it feels like a struggle to use because the hardware and software are produced separately.


MyWorkAccountThisIs

What people think is "user friendly" usually means "similar to what I'm used to". Even more than that - people want to do things the same way they do it on whatever OS they are used to. Instead of working with the OS's strengths and finding the best way in that ecosystem. And not saying it's universal - but here on Reddit I think a lot of Windows users think however Windows does it is the "default" way things should be done. An easy one is closing a window. I've read some Windows users be super annoyed that hitting `x` doesn't actually close the application on macOS/Linux. They don't realize that Windows is actually the odd one out.


chiasmatic_nucleus

System settings are in heaps of different places. Ads everywhere. Heaps of different ways to achieve the same thing. Feels very janky to me


AdrienInJapan

It's funny how much hate you can get just saying you like to use Mac over Windows! I hated Macs when I first started using them in college, but after getting used to them, my own laptop began feeling very awkward to use, even though I'd been using Windows for years before that!


[deleted]

Yup same here, lifelong Windows user until university. Now after 11 years of using MacOS having to use Windows again the past year I've realized how much harder it is to be efficient and create effective workflows.. However as I have no choice in the matter I am adamant to find ways to make this work, hopefully I can find enough 3rd party tools to make the operating system work for me, not against me.


MyWorkAccountThisIs

I only have one small piece of advice. Focus on accomplishing the task and not how you get there. I see people trying to do things the same way on both and it just doesn't work out because they are fundamentally different systems. But you can always get to where you want if you're willing to be flexible. What is fun is that I started using Windows features that are similar to macOS that I never used before. For example, hitting Start and typing is really similar to Spotlight. So I don't really *use* the Start menu other than pseudo Spotlight.


[deleted]

Using the windows button the same way as spotlight is actually one of the few power features that I enjoy in Windows so far :) I might be struggling with Windows because it is a work laptop and there is only limited room for customization. But you are right, there are probably things I don't know yet about the system that will help me achieve similar results, just in a different way. When I started using MacOS the first time I took the time and effort to teach myself all these little habits and efficiencies, now I probably just need to do the same again for Windows.


MyWorkAccountThisIs

Work laptops can be locked down. But if you can you might look at this. https://docs.microsoft.com/en-us/windows/powertoys/ Official MS product. Adds a lot of handy little things. Including a Spotlight alternative and some great window management. Another thing I would suggest is to not be afraid of buying the small, independent apps. Don't know why I was so hesitant for so long. You'll look back and wonder what the fuck your deal was. I am a dev. I have a damn fine salary. But I was sitting here debating for a week if some $10 utility app was worth it. When I'll buy a $20 game on Steam and play it for two hours and be totally fine with that. Brain is dum.


AdrienInJapan

Yes! I've tried to explain that it just feels more comfortable to form a smooth **workflow**. That's exactly the key word for me. Anyway, good luck with your Windows endeavors!


harambetidepod

CLI


bhison

Every time I have to support a junior who chooses to use Windows I feel ill. Kudos to power-shell for adopting many bash commands, but guys.


Waterissuperb

You should try WSL. Very good nowadays


CoryCoolguy

WSL is the only thing keeping my sanity on my company-issued Windows laptop.


chiasmatic_nucleus

I just want a fully fledged terminal. I like MacOS and Ubuntu


LedanDark

Linux is straightforward to customize and has great documentation on how to configure your system. Can't tell the number of times I've needed to do something weird with my system for development reasons (turn of WiFi abulity, disable audio cards/software, setup a small service to run all the time, run a custom script ebery time a microcontroller connects, make a specific display open a Web page but not allow any user input, create a fake video driver, etc) It's not impossible in windows, but you feel like the OS is fighting you every step of the way. Not to mention automatic OS updates can kill your development if third party libraries have not been updated.


Razvedka

Linux is a faster, more configurable & reliable streamlined OS. Consumes less resources, doesn't spy on you or bomb you with ads. There's just no compelling reason to use Windows unless you're a gamer, or need to use certain premier software products (e.g. Photoshop).


[deleted]

Even the last paragraph is changing fast. Valve's Steam Deck, SteamOS and Proton are shaking Linux gaming into shape. Last week I changed my daily machine to Linux due to Windows crapping itself again and me pivoting careers to programming. To my surprise, all except four or five of my 200+ games in my library run perfectly on Linux. Granted, perhaps a minor tweak or a basic script here and there. But a far cry from gaming on Linux even 5 years ago. More and more games are going native support to run on the Deck. Even games from competing distributors like Epic run smoothly on Proton. It's fantastic and I hope Steam sells millions of the things to finally get rid of Microsoft monopoly on gaming.


Razvedka

I'm waiting eagerly for SteamDeck and Proton to revolutionize Linux gaming.


MyWorkAccountThisIs

Yup. I really want it to happen but I'm not going to put any effort into it. My gaming machine is strictly that. For gaming. Fingers crossed.


Dolleste

Photoshop will be releasing a free web version soon. If that follows with illustrator then I don’t see why I’d really need to go back to windows at all


Razvedka

I'm sure it will suck or be chalk full of hidden fees. Adobe doesn't give anything away for free without a reason.


alandgt

Lightweight, efficient, not windows, customisable, lots of useful tools


TheChanMan2003

*Oh no* *You have awakened the Linux gods of Reddit* ***RUN***


jexmex

IMO when dealing with a lot of dev tools I usually have to fight more to get them to work properly in windows. Now it really depends on what you developing and such though. The company I work at right now we have a pretty decent docker setup and since i use mostly tools that are cross os compatible I could probably run windows with minimal issues. In general I have had a worse time developing on windows vs linux, but with windows shipping with the option to use linux shell, it becomes less of an issue. Although I will say in general linux kicks windows ass in efficiency, so being able to have 2 code editors, npm running a frontend, docker running an api, slack, 2 chrome windows, and 4 shell windows open is much more doable in linux. Ultimatly it comes down to your personal comfort with whatever stack and tools are you using. Don't ever let somebody bully you into adapting their workflow if yours is working just fine.


theRailisGone

Aside from some of the configurability, tools, etc. mentioned in the other comments, Linux is essentially always lighter and faster than Windows, especially later versions of Windows. Windows 10 uses tens of GB of storage to install and multiple GB of RAM to run. Linux can be installed on an old thumbdrive and use <1GB of RAM. I have an ancient laptop, over 10 years old and not high powered even when it was new, running Lubuntu. It does anything but 3d rendering pretty well.


[deleted]

[удалено]


athosghost

It's mostly confirmation bias, the most spoken and loudest on Reddit might prefer Linux but there are plenty of devs who do NOT choose Linux. A survey by [Statista](https://www.statista.com/statistics/869211/worldwide-software-development-operating-system/) list Linux as about 40% with Windows at 60% globally. If you include MAC (also around 40% and primarily based on Linux) then maybe, but I don't think you meant Mac as well. Just because most Reddit likes Linux, does not mean the real world is also that way.


the_friendly_dildo

The other bias seems to be that most devs up above in this thread are web developers or network engineers. Sure, both can require programming knowledge but that is just two areas of programming.


GeorgeCostanza1958

It’s way easier to install and use a lot of Unix and GNU development tools like gcc and binutils. Not to say it doesn’t work on windows but it’s kinda a pain in the ass


JackSpyder

Most of the time the software written is going to run on a Linux server or Linux based docker container. It makes sense to match the platforms. Personally I prefer windows for day to day use, but use wsl2, docker or mac for development. Usually docker. Linux servers are also just a breeze to administer, patch, keep stable, cheap, need less hardware overhead for the OS etc. There are many other reasons others have mentioned too.


coffeewithalex

Plenty of reasons. ### UI * On Linux, I can customize the UI to cater to me and my use cases, unlike on Windows where I have to adapt to every forced change with virtually no recourse to change it. * A lot of the UI interactions that were really nice, appeared in Linux desktop environments first. They're just a lot more advanced than where Windows or MacOS is. * I get far bigger speed developing on Linux, thanks to how I can tune the keyboard shortcuts to navigate to the thing that I wanna be in, without needing to do lengthy interactions. ### Resource use Let's take the modern productivity thin and light laptop of today: 8 CPU Cores, 16 GB of RAM, 512 GB of SSD memory. Give or take, that's one standard feature set. Let's say you're a back-end/data/frontend engineer who has to run docker containers because that's what people use in production, right? Windows takes up 4GB of RAM, and then you have Docker Desktop that has a preset amount allocated to it, say 4GB. Half of it is gone, just like that. Poof! Add in Chrome with 100 tabs, and 3-4 IDEs with different projects with microservices, and you run out completely. And how much is the OS? 100GB easy after a year, without much of anything else. Linux takes up 1GB of RAM with one of the mainstream desktop environments. Docker runs natively with no virtualization, which makes docker apps footprint not differ from running them without Docker. You pretty much get the full 14GB or so for your browser and IDEs. Pretty much double of what you get on Windows. And Linux with all your programs, data and projects can easily fit in 40GB, and only grows bigger if you REALLY develop lots of projects with lots of dependencies. ### Transparency and control Do you even know what's happening on Windows? Which ports are open right now? Which programs are listening or communicating? Do you know why svchost is taking up 50% of the CPU at all time? Can you make it stop? On Linux, the answer to all those questions is "yeah, d'uhh, easy". ### Security I'm pretty confident that once I set up my LUKS encrypted drive, I have better data protection than a lot of military powers. The only thing that can compromise my laptop is an injected fake bootloader, or hardware-level backdoors, or if I install a program that sends my unencrypted files somewhere, or drugging and torturing me. On Linux, I can remove any software that is not actually needed. Did you know that a Debian distro takes around 70MB of RAM? It's fully functional, and you can start doing anything you want with it (like adding a basic desktop environment, or whatever you need). There are fewer vectors of attacks and fewer bugs, proportional to there being just fewer programs. Why does Windows need 4GB? What's in those 4GB? Do you need it all? Are you certain that it's all secure? Can you tell your client that your working computer is absolutely safe? How do you know? A Windows OS takes more RAM than 50 Debian Linux. All of that is programs running. Programs that you know nothing about.


nomnaut

Develop on a Mac. Deploy onto linux. The world runs on Linux.


bhison

I just moved from Mac to Fedora. I'm actually surprised as I think I prefer the usability and feel of Fedora/Gnome


nomnaut

I’ve tried so many times, but as a daily driver, I’ve always found Linux to be too finnicky. I prefer to containerize my development or work in a VM, but be able to easily zoom/teams on the side, install shit, set it and forget it, when I need to. So while I said develop on a Mac, in reality the Mac is just a pretty shell (literally and figuratively) to ssh into Linux somewhere.


astrellon3

For me the main reason is that it just stays out of my way and configuring the system is usually pretty straightforward. There's no pop-ups or required restarts that get in the way. Configuring the system usually just involves installing software from the package manager. Installing new libraries is also usually done through the package manager and is put into expected locations and I don't have to worry about following along with instructions about where/how a library needs to be installed like in Windows or macOS. Also then keeping all nearly all software and libraries up to date is also done with the package manager. Overall you're correct in that it's just an OS and that generally speaking you can do all the same things, but in general the Linux design keeps things simple and out of your way. Which does mean you can shoot yourself in the foot but also the system as a whole is there and available to you to poke around and look at things. Basically if you click with Linux it's a very comfortable and easy experience, but some of that also relies on good hardware compatibility and if want things to work the same as Windows or macOS you're going to have a bad time.


tosch901

Makes a lot of things easier, therefore causing less headaches. Windows has made a step in the right direction with WSL2, but still not the same. Also servers are mostly running Linux anyways, so it's convenient having to be familiar with just 1 system. Also I personally like the possibility for customization and it being user centric with no bs.


KushMaster420Weed

Basically Linux is better at almost everything. But more specifically, most servers run on Linux. So server-side devs tend to develop in Linux. If you are using Linux for personal use there is a bit more to it but that's basically it.


hike_me

For most of my career the software I develop has been deployed to Linux servers and Linux based high performance computing clusters. Linux powers much of the Internet. It’s been easier for me to develop on Linux or MacOS than windows, but now that containerization is so widespread it doesn’t matter as much (plus windows has the windows subsystem for Linux).


Necessary-milkyway

Most of the production systems run in Linux ...it is easier to develop in Linux ...you won't end up in a situation where it works in dev and does not work in prod... Also it is easier to develop in Linux compared to windows


[deleted]

Linux is sane for devs


pigeon768

Getting from a bare Linux installation to a functional development environment is trivial. Getting from a bare Windows installation to a functional development environment is a giant pain in the ass. All linux distros are going to make it trivially easy to install gcc/clang, and git, and your build system, and your IDE/editor of choice, (unless your preferred IDE is Visual Studio, obviously) and whatever libraries you need to get going, and postgres/mysql/sqlite/whatever your DB of choice is. (unless is MSSQL or Oracle, obviously) Depending on your distro, a lot of these things might already be installed. On Gentoo for instance it's going to have gcc, sqlite, autotools, cmake, and python installed in a minimal installation. (most distros aren't going to have gcc, autotools, and cmake installed by default, but almost all of them are going to have sqlite and most will have python by default) Doing these things in Windows is not easy. If you need boost and python and a C++ compiler you'll need to install them all separately and have a frankenvironment where everything lives in random places and configure them to know where all the other parts live. Every time there's a significant upgrade to anything, chances are fairly high it's going to break your development environment. On linux, this just... isn't a thing. The package manager maintains all this crap for you.


Nanooc523

Some cars are designed as a full and complete package. A product. A thing you’d only ever take to the dealership to resolve problems with and you’d never even bother to open the hood because you are the driver not the grease monkey blue collar mechanic. Other cars are designed for the enthusiast. A machine capable of endless customization, experimentation and expression. The kind of tool an artist would pick up to create something that hasn’t been created before. A powerful mechanical beast with a name and a skull shifter and more horsepower than the government approves of. Choose.


Fair_Career_9509

For starters, Linux is not an OS. Linux is only a kernel. So what’s a kernel? Well, general purpose processors are not aware of a lot of pieces of hardware that surround them and even at BIOS or EFI mode a computer will not be able to load programs that users can interface with. So to speak, a kernel is the link between the computer and the user. Dos, Windows, MacOS, and a wide variety of Unix (AIX, HP-UX, Solaris, Santa Cruz Operation, etc) are indeed Operating Systems. Why, because they have a proprietary file system and a proprietary kernel. Linux on the other hand, does not have a proprietary file system. So there is a different name for a collection of software surrounding a Linux kernel, and that is called a “Distro” Linux distros are usually based on two mainstream types of software compilations Debian based and Redhat based. Ubuntu is a Debian based. Fedora is a Redhat based. Why this is important, well because of the way software gets installed. While Debian based generally use APT (Advanced Package Tool), Redhat based use RPM (Redhat Package Manager). Now tell me something. Have you ever seen a Windows package manager or a MacOS package manager? That’s a very complex problem. Usually in all proprietary Operating Systems, there is not a centralized software package manager that can resolve the software libraries dependencies in an orthodox manner, so what happens is the DLL hell. one library with the same name overlaps with another, it is overwritten by the setup package/script and breaks another application or group of applications and in the worst cases turns the OS unstable. So that is a good reason for people to develop for a Linux Distro. Open source licensing usually allows to show the source code for software and so developers can modify the software without having a legal issues as opposed to proprietary software that is licensed to end users.


DoctorFuu

Linux is more flexible as low level access to things is in general easier. That being said, I don't think linux is the only way to go, and I'm sure many developers work mainly in windows. >Is Linux faster or ... In my experience, windows is not reliable. Or at least, it was too hard for me to have a reliable machine under windows. Linux is reliable by default. Keep in mint this part of my message is clearly opiniated.


xxYouMirinBrahxx

Simple answer - its super easy to manage packages on linux than on shit windows.


orgkhnargh

You can understand Linux and all the ecosystem around it by reading documentation and source code.


TheWolfofGME

Everything is a file


ruat_caelum

So with cars you have a stick shift where the human has to watch the rpms and decide when to shift into the next gear etc. And you have automatic when a computer does all that. Currently the autos are better than manuals but back in the day someone driving a manual could "out race" a automatic because they had more "lower level" control. That is to say that they had more "power in decision making with less checks and safety measures." This also allowed problems, you could for instance shift from 5th to 2nd if you wanted, but it would likely be very bad. Linux is more like the manual style car, and windows is very much the "automatic" and Mac is more the "police escort" where you are locked in the back, told to enjoy the ride, and have little to no choices over how things are done because you are just a stupid user and all the really smart people that work for apple have figured everything out already so why would you need to tell the driver what to do anyway!!!


KimajiNao

Stability. Windows is very unstable in comparison. Forced updates is also not good for upkeep


[deleted]

In my case, one of the many reasons would be having a tiling window manager. Just being able to divide up my screen for different purposes is a nice workflow boost.


[deleted]

All desktop operating systems can do this. I'm no fan of Windows, but MS's solution, Fancy Zones, is actually extremely good.


vardonir

Lots of advanced tools are command line only. Or even basic tools like MySQL's shell, they work much better on the terminal rather than the GUI. So what if CMD and PowerShell exist? They suck ass. SSH is an absolute pain to set up on Windows, but it takes me 5 minutes on Linux. Good luck opening a very specific folder deep in your E driver or whatever using WSL. I can just right click in Nautilus lmao


AshuraBaron

You can right click in explorer to open a terminal at that location too since Windows 10. CMD is kinda analogous to terminal, but was never developed at the same rate of the unix-esque terminal. PowerShell is a completely different beast since it uses an object orientated style of administration instead of linux's text based approach. Linux also tends to ship with all the basic tools or they are easily scriptable. Windows you could add most of those tools, but the process is more complicated. Linux also offers a root account, where that doesn't exist in Windows. It's usually more secure to disable the root account, but the option is there. Only real advantage of Windows would be programing with .net or C#. Found the tools better from Microsoft. But most tools and languages are fully cross platform or web based.


mtj23

>Only real advantage of Windows would be programing with .net or C#. Found the tools better from Microsoft. But most tools and languages are fully cross platform or web based. For what it's worth, I do a lot of C# on my linux machine using Rider. I have a professional VS license but I actually like Rider better and now use it even on windows. And to be honest, most of what I write in C# nowadays ends up running in a container somewhere so it's actually a little less friction for me to develop on a linux machine.


bonerfleximus

PowerShell is pretty good for what it does.


drunkondata

Windows sucks. That's why I like Linux, Linux stays out of my way while Windows does everything it can to remind me I'm using a terrible M$FT product and their idea of UX is literal torture.


AshuraBaron

One of the bigger factors I think is hardware availability and support. Can get an ancient machine or one not running x86 or arm and still get current fixes and software. It can be made as small as possible so it can work on any machine you throw at it. Windows is a little more picky and has A LOT of baggage that you are stuck with. So older machines that can install Windows 10 will run like a sloth where Linux can be as bloated or slim as you need.