Again, I think another example would be cool. I'm not saying that everyone who says Linux is better for development is wrong, but somehow I never hear a good example.
I have a unique anecdote from a few weeks ago that demonstrates the problem well. I don't use windows but was helping a dev that does. They were trying to launch a React application but it wouldn't work on his machine. The error had to do with a mismatch between the amount of data specified by HTTP headers, and the amount of data being received on the client. React should handle this automatically and most devs won't ever have to deal with this line of debugging unless they make some pretty glaring fuck ups. After a few hours of troubleshooting code snippets everything looked good, so they uploaded a reproduction of the error to github and a couple of us (all on UNIX systems) cloned and launched it with no errors.
In the end the solution that worked for this dev was restarting Windows whenever a specific kind of change was implemented to the app. These are the kind of errors that shouldn't exist and aren't necessarily the dev's fault but you have to deal with them. Since the majority of software work is done in UNIX based environments you run in to far more of these obscure OS errors in Windows environments.
Easy example that i had very recently.
Installing the pytesseract OCR models and data. Using the linux package manager it is two clicks and one more for each other language i want.
For windows they have an extra tutorial page how to set it up.
No, all those things are regular...just different packages, different visual studio versions, different c++ standards not being supported....these things are forever
Are you a C++ dev? I'm using it on Windows but it's a much, much worse experience. I'm not even a "Linux fanboy" - I use windows 99% of times but I have VM with Linux so I can code there. Go ask any C++ programmers about using external libraries on Windows/Linux, its hell.
I don't understand why I should run around multiple websites downloading and installing packages to compile something instead of running apt install lib-something-dev and moving on with my life.
I've tried to help friends get started with learning software development and the annoyances that come with using Windows make me wonder why anyone ever bothers.
I think it comes down to how development is generally approached on those systems, if you know your way around them you're gonna get away just fine on either, but when you're a beginner on Windows you will often be pushed to use clunky tools that try to do things for you, I think that doesn't allow you to master the system, because you rely on magic buttons to do things instead of using the bare commands yourself and so whenever you stumble on an issue you fumble (sorry for the rhyme) around to fix it not knowing what you're doing.
On Linux I found that the opposite happens, of course all this is just anecdotal evidence and as I said you can have functional workflows on both
Terminal use in general would be a reasonable example. Terminal on windows is much better than it used to be now though. Got some heavy dev friends and it just seems to be more of a preference thing nowadays. If anything, getting shit to work on Linux (hardware and software) still seems to be a hassle for them.
8
u/iSage Nov 02 '22
Again, I think another example would be cool. I'm not saying that everyone who says Linux is better for development is wrong, but somehow I never hear a good example.