Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Why Is Linux Better?
6 points by gentleman11 on July 7, 2020 | hide | past | favorite | 13 comments
I have pretty much used Linux exclusively since getting into software engineering. Recently, I have found myself in the game dev world and people here are convinced that Windows is amazing.

Since I have not directly compared the developer experience for each, I thought I should ask: why is Linux the standard? Does windows have any killer advantages I don’t yet know about? What is it like having a windows based development environment for large projects?

An aside: the only reason I’m using windows right now is that unity and unreal don’t work smoothly on Linux. Is that an nvidia issue or something else?




Besides the technical arguments, there are the philosophical ones. Linux is open source, it is not controlled by one company, it usually doesn't send your data to some server which then sells it to advertisers, you have access to the source code of mostly everything if you ever feel the need to dig deeper in its understanding or modification, etc.

But for game dev specifically, Linux may lack some of the specific tools you guys use. While GL/Vulkan debuggers and utilities do exist, some proprietary Windows stuff may be difficult to emulate in the Linux environment. I do know some of the game dev tools also work on Linux, and Mesa gives you a lot of power in debugging shaders, but that's all I know. You can also GDB your Mesa calls to know exactly where you application is failing if you need to.


At least since the 90s, Windows has been THE platform for gaming. In 2020, the tools and drivers for Windows are better because its the primary platform.

Linux has been getting slightly better support for several years now, but it has a long way to go.

For example, the latest Ubuntu release supposedly has a ProtonDB update that claims 70% of the Steam Library is rated GOLD or higher for compatibility with Linux.

To a non-technical user that hasn't tried gaming on Linux, that sounds amazing. Its actually a meaningless statement though.

So what is a game rated as "GOLD" or higher?

That basically means it might run fine if you install it, but it alternatively might not even load or run at a playable level if you don't install additional 3rd party tools and/or mess with configuration files. Most people would go back to Windows at that point and never try using Linux again as long as they live unless they worked in a technical field and needed it.

Gold implies good. IMO its not good until I can just click install and reliably play a game after it finishes downloading.

As another example, many of the biggest money making PC games are competitive online games like MOBAs and Shooters. These games can't thrive without a decent anti-cheat solution. Anti-cheat software is frequently implemented at the kernel level. Its difficult to make software like that play nice with translation layers/emulation/whatever of Windows in Linux, and for the most part the developers are too busy supporting Windows to care.

Windows is going to continue to be the favored platform of game developers for the foreseeable future. It has the massive install base because developers target Windows and developers target Windows because it has the massive install base.

So that's why you see favoritism towards Windows in the game dev industry.

Inside the web dev/system admin industries you'll likely see a strong bias towards Linux and maybe MacOS (dev surveys show Linux being far more popular though).

I think all 3 OSs are pretty great and I use them on a regular basis. Its hard to objectively prove that one is better than another in general. Its easier to prove when yu pick a specific use case.


> (dev surveys show Linux being far more popular though).

Hmm, this is hard to believe. It might be a selection bias, maybe Linux users are just more likely to answer these developer surveys, no?


Could be a flawed survey (Comment was based on stackoverflow's). I generally like a lot about each of the three big OSs and yet I hate certain aspects of each of them.

I don't have a strong favorite myself.


Windows: the NSA is going to be able to access your computer if they want. You have to explicitly opt out of data collection for advertising in the windows 10 setup.

Linux: There is still data collection in chrome(ium) but not like windows. Typing stuff into the start menu doesn’t automatically try and hit their hot garbage search engine that they want to trick you into using (bing) and setting as default.

Windows is a service, they literally say this in their update dialogs.

Your eyeballs are the product to be sold at a price depending upon age/sex/race/location/income for a calculated price to Microsoft’s advertising “partners” to make them money. This is also agreed to in their terms and conditions and set as default when setting up windows 10.

With that said lots of people grew up with Windows and excel and vscode, probably why it’s so popular.


Why is Linux better? For general software development I'd say the toolchain, I haven't found a tool I needed not having a Linux version or alternative in a very long time.

Though if you release your games mainly on pc I'd say Windows is better due to being the platform most of your users will be on.

While major companies are pushing for Linux it will take decades from now to actually become the main platform. Due to a lot of reasons I won't go into, but being a programmer you can generally deal with them.


I use Linux, and find it much better than Windows in many ways. In some cases, programmers write for Windows and ensure the program works on Wine too so that Linux users can use it. And then, there is also WSL, so many Linux programs can also run on Windows. So in many cases (although I think not even close to all), they can run each other's software.

Many of the computer games I play though, other than the BSD games, are for older systems such as DOS, NES/Famicom, etc, or may use a VM such as Z-machine or Glulx (or even Famicom VM; many older systems can also be emulated and used as a VM), and they can often be emulated just as well on Windows and on Linux. Many people still do today; even I too sometimes write new computer games in DOS, in order to support this use.

So, you can release games for PC, but DOS, rather than Windows, if applicable to that game.


Your software is usually running on a Linux server, and it's more natural (there's less friction) to develop it in the same environment in which it will eventually end up running. Same is true for gamedev, but there that common environment is Windows.


Linux is only "the standard" in certain fields; Windows is still huge, even in the server market.

For games, the customers are on Windows so it seems pointless to cross-develop. Visual Studio also has a pretty good reputation.


I've been hopping between Windows and Linix constantly for year now and I'm still shocked at how many times I run into development software that Windows-only or even Windows-preferable.


There's a split between the licensing world and the non-licensing world; of course Microsoft, IBM, Oracle, DikTrust, wants to buy you into the licencing scheme. It's two worlds. Better read up on history. Linux is free though so go for it. or BSD. Anything but the other folks. Licencing as$holes.


It is not, it depends on what you do, what problem you want to solve and so on. You noticed it yourself, for example for game dev windows is just plain better. These OS fights on which one is better are just nonsense.


It's a qualitative thing. Quantitative/technical measures of 'best OS' are silly.

For me, Linux represents freedom and control. Freedom from the oppressive corporate nonsense and general grey hat fuckery of Microsoft; freedom from the walled garden and Temple of Shiny Things of Apple.

And, control: the ability to tinker with my environment, to choose (to a large degree) the hardware and applications I want.

There's more, of course, but that's the meat of it.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: