I've have been seeing more and more about Linux in my article feeds with topics like "Linux for the every day user", and "Linux! Can you game on it?" and in my YouTube feed there are videos about different distros and what to do on Linux.
This got me thinking... is Linux better for development?
Do you use Linux for development? What do you develop? How has the experience been for you? What is your best advice for someone to get into developing in Linux? Are there distros to try out? Are there distros to avoid? Why did you move to Linux from MacOS or Windows?
I welcome all comments, questions, and suggestions! I may even turn this into a series where I try out Linux and report my findings.
Top comments (2)
Linux is great for development ! Why ?
Because all of the tools you would need to develop software are either installed or easily installed. The command line comes with a host of features - git, bash/zsh scripting, tmux, find, grep are but a few.
Because hosting environments provide Linux servers, which means you can build and test software in the same OS as where it would be hosted.
Because Linux is open source and runs on old/cheap hardware, which lowers the fiscal barrier to entry. consider the cost of building software on a Raspberry Pi versus a Mac or Windows laptop
Because Linux is open source (along with loads of other software), you can get hold of the source code and use it for learning/tweaking/contributing
I think the experience of developing with frameworks that aren't of Microsoft's with Windows isn't that great. Workarounds are required to do certain stuff that can be done natively on an OS that is Unix based.
There's a time I needed to activate a pub package globally, and to do that on Windows, either I have to install both the Flutter and Dart SDKs separately (that's because the Dart SDK within the Flutter Windows SDK does not have an executable that does global package activation, while the standalone Dart Windows SDK does.), or install them in the WSL.
Also, if the project makes use of sh scripts for stuff like generating something and all, Windows can't run some of them without issues. Cmder sometimes is needed.
Not to mention, if you come across the need to run Docker images locally...it also needs a little more work.
I am currently using macOS for work, but I've been itching on getting a simple build and install Ubuntu on it. Personally, I'd implore anyone who wants to do Flutter to use Linux than WIndows, if they cannot afford a Mac and they do not mind not developing for iOS.