Are there limitations to developing on Linux instead of Windows?
Posted by RaccoonFree5348@reddit | learnprogramming | View on Reddit | 36 comments
I'm on the last few months of my Computer Science degree and with the dumpster fire that is Windows 11 keep getting worse, I've been thinking of switching my laptop's OS to Linux Mint after my internship's over.
My concern however is if there are certain tools/programs that I might be unable to run on Linux that could limit what programs I can develop or careers in CS that I might not be able to pursue.
If anyone has any general advice before I switch, I'd really appreciate that too.
Thanks!
smurpes@reddit
Just use WSL. Microsoft made it to make development on windows using Linux easier and you can run both OS’s at the same time.
samanime@reddit
Nope. Linux is nice for development.
The only real gotcha is to make sure you still have access to a REAL Windows system for testing if you are building Windows applications or games. For stuff like web development, that isn't really necessary.
RaccoonFree5348@reddit (OP)
Good for me then, most of what I prefer to develop tend to be web based or multi-platform anyways
samanime@reddit
Linux is awesome for web development. And since most websites are hosted on Linux machines anyways, you get the added benefit of lots of extra Linux command line practice. =D
SchemeWestern3388@reddit
I find it wild that someone can finish a CS degree without significant Linux exposure. There’s a reason it’s on 100% of the top 500 supercomputers, and 80% of web servers.
RaccoonFree5348@reddit (OP)
Depends on the curriculum and school to be honest. We were supposed to try out Ubuntu for one of our subjects but our teacher was basically absent the whole semester.
UntoldUnfolding@reddit
It's got the majority share if you count servers and Android devices.
Yami454@reddit
Linux generally has more support for programming tools.
Reasonable_Ad1226@reddit
Wait you are about to graduate and you still need to ask this question… whoops… what a waste of money and time going
Reasonable_Ad1226@reddit
U notice how you have nothing but downvotes? Hahaha
Ok-Track-5682@reddit
This pretty much depends what kind of development you want to do - if you're planning games or Windows-specific enterprise stuff then you might hit some walls, but for most other things Linux actually gives you better environment than Windows
hooli-ceo@reddit
As a personal linux user but professional windows user (for work)... yes... God yes. I hate dealing with all of windows' little idiosyncrasies.
malaszka@reddit
You cannot utilize the majestic wonderful Copilot. /s
SourceScope@reddit
Only if you wanna make wpf (windows native) applications in visual studio
ShoulderPast2433@reddit
Id say it's the opposite. Windows has limitations that Linux doesn't.
Pale_Height_1251@reddit
Maybe driver level Linux, but WSL handles the rest.
UntoldUnfolding@reddit
Bet.
Pale_Height_1251@reddit
It depends what you're making.
teraflop@reddit
There is no reason at all that switching to Linux on your laptop would in any way limit your career options.
You can always just switch back to Windows if you need to. Or you can dual boot. Or you can run Windows in a VM. Or you can just get a second computer to run Windows. Even with current prices, that's a minor expense compared to the cost of a computer science degree.
UntoldUnfolding@reddit
Lol I refuse to work for anyone who would require I use Windows. I'm good, bro.
UntoldUnfolding@reddit
I feel like this question should be phrased the other way around. The limitations are on the Windoze and wacOS side.
GeneralPITA@reddit
Do it! I joined an office as a dev almost 4 years ago. They're pretty hard core windows shop. Azure cloud, A few auxiliary apps that only run on windows, MS Office, Outlook, MS authenticator app, Powershell, Visual Studio, Vs Code, Azure's version of Jira (what ever that clunky crap is called), Azure Repos. If Microsoft has an app that attempts to do it, these guys are all over it.
I got sick of 1/2 baked software that works just well enough for some asshat to call it a finished product - Mostly the OS, but Teams is a constant headache, the Azure portal feels like a ball of bandaids (to me), so I dual booted my work laptop (it's a small shop and data doesn't have much in the way of PII, so why not). I'm familiar with Ubuntu, so I went that route. I may find something someday that makes me say "I wish I had switched to Mint/Suse/Redhat/... instead" but I haven't felt the need to spend time looking for something better.
There is a viable linux tool for anything the other guys do on a Windows focused tool. SSMS is likely my least favorite Windows application, DBeaver does everything I need SSMS to do (and more).
My point is I haven't found anything a couple Windows die-hards use that can't be done on linux. On the other hand, when we found need to run R to generate scheduled reports, we also found serverless functions in Azure won't run R, and the path forward was R in a Docker container running linux, which can be spun up as needed by an Azure Container Job.
TLDR; You may find yourself in a position where you'll need to know linux, even in a hard core Windows shop. It seems unlikely to me that you'll ever be required to use Windows outside of a Windows shop.
BranchLatter4294@reddit
Unless you need the full version of Visual Studio, pretty much everything else runs on Linux.
typhon88@reddit
not really, they will both accomplish the same tasks in slightly different ways
sierra_whiskey1@reddit
This is one very niche thing I’ve found. You can’t run a windows container inside a Linux machine, but you can run a Linux container inside a Linux machine.
RagingRoman01@reddit
As everyone else has already mentioned, Linux is great for developers. Since you’re still in school you should mainly be worried about specific apps or tools that your school uses. For example, some lockdown browsers may only be an option for windows and Mac.
rodalexanderson@reddit
In my experience, switching to Linux was one of the best decisions I made.
For a lot of software work, Linux actually feels more natural: better terminal tools, easier package management, cleaner dev environments, scripting, Docker, servers, and workflows that match production more closely.
The main exceptions are usually tools tied to specific ecosystems, like some Windows-only enterprise software, certain .NET / Microsoft workflows, Adobe-type apps, or iOS development.
zomgitsduke@reddit
Linux will have less "crap" getting in the way. I've had some issues with PATH configurations and having to learn about it just to test the viability of something tiny.
FatDog69@reddit
The internet runs on Linux.
If a job requires special tools - they will give you the PC to support those tools.
In truth - I have never had a job where they asked me to use my own PC to do work. My most recent company had a policy that no personal device could connect through the VPN - only company provided machines.
It is MORE impressive to claim Linux experience on your resume than Windows.
high_throughput@reddit
Do it. Running Linux on your personal device as a developer is great, both for day-to-day use, side projects, and for learning.
The only exception is if you're really into Windows native development, like games, desktop apps, drivers, and native plugins for Windows apps like Excel or Photoshop. (If you're into Linux native development, it's obviously the opposite).
For work you'd be using a company device, not your personal device, and in that case it's better to align with whatever your team does. You never want to be the only person maintaining a specific configuration unless management is giving you the time and recognition for it.
Several-Marsupial-27@reddit
You dont have to switch, you can just use wsl with a quick wsl --install on the cmd/terminal and then you have a linux on your computer. Everything works perfectly fine. The best thing is that you can still access microsoft apps like excel, word, powerpoint, play games, etc and also do development on the linux distro.
Feeling_Photograph_5@reddit
Software development is the ultimate first class citizen in Linux. Everything you need will be available on that platform, plus a bunch of stuff that isn't available on Windows. Most importantly, you get a native Bash terminal, no WSL silliness.
chaoticbean14@reddit
Developing on Linux is 1098275671987434 times better than on Windows. So much 'just works' that requires so much extra BS on Winblows.
434f4445@reddit
Yeah, imagination. That’s the only limiting factor. Honestly developing for Linux is far better than developing for Windows, because Linux just works. My day job I have to use a windows system for dev work but my passion projects are all made on Linux.
dylantrain2014@reddit
Generally speaking, no. Most CS programs do not go into detail on Window development (.NET), and so they would not be impacted by students using Linux. If anything, Linux is typically the preferred development environment for CS courses as it’s simply easier to teach OS concepts with Linux due to its open source nature.
Your university might have other software that’s locked to Windows, but I can’t say without being a student there. Dual-booting is always an option though, so I wouldn’t worry about it.
aleques-itj@reddit
Just use WSL if you want to try Linux development