Hey there. It's my first time on #dev.to community.
The reason why I wrote this blog is to let you all get a glimpse of why using a free and open source operating system is always better for people in the tech domain and also to break some myths about Linux. I have changed as a full-time Linux user a year ago and haven't looked back since.
Operating Systems have always been a fascination to me and I've tried a variety of the same from Macintosh System 1 through MS-DOS to latest version of BSD Unix.The following are some genuine reasons why I switched to Linux as my fulltime operating system.
Reason 1: Updates
Updates are a way of getting the brightest and greatest features and tools to stands out from the crowd. But if we have no control over it, it can break and disrupt your workflow.
Linux stands out in delivering timely stable updates and gives users a choice of either to download it or not so that you can have total control of your updates.
In Linux what's good to see is you could always select what to update and what not. This is very useful when we have limited memory and we only need to update security patches.
Linux selective update
Now when we compare with other operating systems it's not the same. There is little flexibility with updates. Another plus point of Linux is that you can change and swap any new feature and integrate it into your existing configuration. It may not be a single click but you always have that option as well.
Reason 2: Resource Usage
Most proprietary operating systems have their core designed in such a way that the OS can be used only if you have a decent system specification.
Since the internals like the kernel is so lite some (thousand LOC), you could bake up your customized Linux version which only uses RAM of around 400Mb....great right! Think about it, even your smartphone uses around 1.5Gb of ram on average.
Memory Usage
This ultimately translates to the fact that you could run more apps and scripts with the limited specification.
Reason 3: Best for Developers
Linux is and will remain the best ecosystem without debate for developers of the fact that it comes prebuilt with a plethora of suites and apps for the sole purpose of software development and because of the FOSS community that it is backed up by.
Another thing to consider for developers is because sources can be compiled and executed on Linux much faster.
Package management also plays a key role in making the TUX special for hardcore devs. One could selectively add or remove any packages at will. This is a more flexible way of getting things done much faster and be more productive at work.
😎 Cool Fact : The above statements can be backed up by the fact that the top 500 supercomputers run on Linux and most cloud servers are powered by the TUX.
Reason 4: Get to solve real problems
It is greatly accepted that Linux is much harder for a newbie, it has changed to some extent but deep down it is the same. Linux was intentionally designed so that one can know the ins and outs of the computer system whether it's the software or the kernel interacting with the hardware.
To use Linux full-time or as your primary OS especially for a newbie is tough due to various reasons. For example, in some distribution,you need to write hardware-specific drivers for WiFi, Audio and such basic things. This might look very complex but once you get the hang of it you could solve bigger problems.
Linux is a great way of gaining some troubleshooting experience. It may give up on you but you have the power to always bring it back up if you are willing to do so!.
Reason 5: You have the ultimate control
It's not Apple or Microsoft or even Canonical that are controlling you. You are your 😎 Boss when it comes to Linux even if it's backed up by any MNC.
You have the supreme authority to have all permissions to edit any files as per your liking. File permissions are an entirely humongous topic when it comes to Linux. You can practice, understand and benefit a lot by knowing file permissions.
Know more about Linux file permissions: WikiArchlinux
The whole firewall, VPN, SSH and every other aspect of the network can also be controlled at will.
Reason 6: Endless Customization
Back in the days when Linux was young and tender, one might look at it and say: "An unfriendly dirty command-line O.S!".
Mind you!..those days are long gone.You can have pre-built beautifull linux distributions like Deepin, Elementary, Endless OS etc.. which are very much 21st century and a visual treat.Moreover since you are your own boss here,you could try out different desktop environments(layouts) or a window manager in th same system and select the best that suites you for different moods.You could have:
- Gnome
- KDE
- Unity
- Cinnamon
- XFCE
- LXDE
- Mate
- Budgie
- LxQt
- Enlightment
- Deepin
- Pantheon and many many more...
Tried all and don't like any? - Build your own desktop environemt
Customization of UI doesn't mean that you can only change the theme, fonts, icons, lock screen only. You could change the window buttons, you don't like the taskbar, you could change that as well. You could even change the boot-loader background or logo to say your dog's picture. The options are endless as long as your imaginations don't.
Note: You could emulate the looks of MacOS or Windows if you are that sort of person.
Windows 10 Theme for Linux: Original Soucrce
Mac Theme for Linux: Original Post
Reason 7: Free, Open Source and Privacy oriented
Other than a minute percentage of apps and OS vendors, the whole Linux operating systems and apps are open source and free to use and distribute. This makes it a joy for people like me to test out the best apps and OSs out there and to get inspired.
With the non-open source nature of other OS, it's not clear what's under the hood. The level of transparency even though is documented, but we can't see it. We don't know what all data are being collected but with Linux we know what are dealing with if we are willing to dig deep.
See source code of linux: Linux Repo
You might argue that then why I am using Google. For that my reply is: " Prepare for the worst! and Expect the best!."
Reason 8: Better immunity to viruses
" Virus?.......I don't know you well!" -🐧 TUX says
It's a myth that Linux is immune to viruses. Any computer which is attached to a network is prone to threads and so does Linux. But the risk here is much less when we compare it with the likes of other operating systems because of Linux's Permissions.
The best thing about Linux is that you could always open a virus infected USB from other operating systems and even Linux binaries with malicious code can be copied to your file-system as long as you don't execute or give it necessary permissions, you're OK.
Trade-Offs
Even though Linux is great for many things, it falls short when it comes to the following things.
- Support
- Since Linux is open sourced, not every distribution will get customer support like a Windows or Mac. This is true and will remain so for years to come until and unless Microsoft or Apple make their own Linux distros. Hey..why bother when you are your Boss..the responsibility is on you!
- Drivers
- Linux won't automatically install all drivers for you. For instance, my laptop the Acer Swift 3 comes with a fingerprint sensor (vendor- EgisTec). Windows has the driver for the sensor but EgisTec doesn't provide any Linux drivers or source. So now I have to figure out a way to build a driver for the sensor without any source.It seems tough going! and It is.... but I love it.
-
Games
- Gaming is an area of heated debates between Linux and Windows fans. One might say Linux supports games through Wine Emulation or you could always use Steam. But it is not practical everywhere.
- Even though ProtonDB , Lutris and PlayOnLinux are worth a try, but it’s felt quite buggy and unstable for the long run and even the setup is pretty tiresome. Trust me I’ve gone through the chaotic crashes.
- But things will change since cloud gaming is the future where we don’t rely much on hardware or software but the network only.
- Windows and Mac-specific application
- One of the main reasons why every professional cannot switch into Linux is due to the proprietary application suites like MS Office, Adobe etc..they use for their work which is not available on Linux. Even though alternatives are available for Office productivity, image manipulation, and video editing. The Windows and Mac counterparts are much better.
Folks that's the end of this blog. I hope you like it and feel free to contact me.
Top comments (57)
Ever since I ditched Windows, I have so fallen in love with Linux.
To be honest, it makes me feel cool 😎 as a coder. But the best part is whenever I step into my terminal, I feel like I have superpowers, cause I could do a whole lot there.
I don't know when you made the move, but Powershell is incredibly powerful and Object Oriented. The only drawback is the fact that it's more verbose than bash (which is imho better for writing scripts, but less convenients for short one liners) but it's a really good shell.
The new windows terminal is also shaping up to be pretty good.
So really you can have superpowers with the terminal in windows, it's just that most windows users don't bother to learn Powershell.
It's not about the shell at all. Window in simple term frozen with B.O.D several times, forced updates and all those chaos. True, Powershell is so powerful and even PowerPoint from Microsoft is so powerful that you could literally do programming URL with it. I love some Microsoft stuffs but not Windows 10. That's all.
Sure, I was specifically replying to John's comment about his favorite part of Linux being his terminal (I edited my comment to make it clearer).
I'm not trying to start a "Linux vs Windows" argument ;-)
You have a point. Cheers.
That's the real fun.
Desktop: If you want Rich experience, windows / Mac is solution. Not everyone look for 'Rich Experience' . If you okay with terminal, go for Linux desktop.
Server: If you want 'Rich Experience' go for Linux. If you are lazy go for windows server
While the Windows and Mac desktops are not bad (I used a Mac for half a year in an internship ages ago, and use Windows at work when I'm in office), I consider the Linux desktop even better, tbh.
Example virtual desktop:
The implementation on Mac I find confusing (but then it was my first contact ever with virtual desktops so maybe my fault).
On Windows they are a little half-assed (one-dimensional layout only, if you want to sort applications, you cant drag from one VD to another AND from one monitor to another at same time).
On Linux (KDE in my case) I don't experience any flaws with the implementation.
Example keyboard shortcuts:
Windows is a disaster here. I wanted to change some shortcuts so they are more like my linux system at home, but no way. Either you "download some suspicious tool that will also check for malware" or you "do these easy 11 steps in Windows registry and better don't mess anything up!"
If shortcuts are configurable on Mac, I don't remember.
On my Linux PC, I can configure basically every shortcut.
The console may be better in Linux but I use it not very often (if so, mostly from within VS code).
Windows console isn't that bad today, you have cmd, powershell and if you work with git, you have git bash. Powershell is mostly for system admins, but it can replace windows file explorer and is as powerfull as linux bash (but in a different, windowsy way). I like linux more though.
RDP client is different story. Anyway, My reply says 'Rich Experience' . Linux is wonderful . Out of 20 super computers all are Linux.
Ok, maybe I misunderstand the term "rich experience" here. And I don't get the relation to Remote Desktop at all, tbh.
RDP has reference of Virtual Desktop in your comment :)
Oh I see, but I mean actually something completely different.. like this: howtogeek.com/197625/how-to-use-vi...
The term must be doubly-defined then :)
Oh got it. But you may try this :) Linux Virtual Desktop.
YOUR COMPLETE ONLINE DESKTOP: Hosted on Server in just $5.00 :)
manish srivastava ・ Oct 13 '19 ・ 4 min read
Personally, I've always found Linux to provide a richer experience than Windows or Mac in terms of the desktop environment. So have most of my computer repair clients, many of whom are (or were) computer illiterate.
Desktop environment is only ever 100% personal taste and subjective opinion.
Very well said.
😄, Nice, But
Windows
is very user friendly. The UI is very easy to use. Many enterprise usesWindows
for development. Does anyone useLinux
in work ?This question depends on several things, like the type of firm you work in, the projects you work on and also the region. Most system administrators, networking engineers, devops guyz and cool startups prefers to use Linux as their main OS since it make real sense to develop stuff in a system [local linux] to deploy in the server [server linux].
Do checkout OS like Pop!_OS , Zorin or Linux-mint and tell me how the UI feels.
Says who? As someone said earlier, you would probably benefit a lot from not making as many assumptions about others.
Stack overflow's annual developer survey, which probably is as close as we'll get to the truth, tells a different story:
They might use windows ...I don't know but more often than not they are SSH into a linux shell. So in some sense they use linux for work more than Windows even though in reality they are stuck in Windows. Do note stackoverflow is not the entirety. And by the way things are turning around.
Thanks for the feedback.
Putty is not Linux Shell. Also Powershell does allow SSH support through WSL if that's what you meant. Windows may not be useful for many reasons but a lot of reasons explained here mostly reiterated or rehashed by recent convertee being sold on typical benefits. In reality the customer to which we are selling the products can't even use Google Spreadsheet properly selling them anything outside Microsoft Office is pain.
It's the way the society is built. That they can't leave without it. By the way I didn't meant putty as such rather all the other services like GCP,HEROKU and everything. You have a point though. But in the start of the article I wrote why it's best for people in the tech domain.
I'm no R programming expert, but just try to run a R script with 10000 print statements in Windows and the same thing in Linux and let me know.
Thanks for you comments
I already have run R and other data science tools on Linux. In fact I am one of the Ubuntu nerds you may find me in comment section. Why ubuntu? Because I find it easy to train Clients to use it compared to say KaliLinux or ArchLinux to a slow Windows user who asks me how to press Print button on New version of Office 2019.
I am in no way anti-linux camp. It's just that lately I have been seeing the "anti windows" articles and the toning has been such that Microsoft is out to get you. That dinosaur age is long gone, Bill gates is retired, all the aged Tech giants who were strong capitalists have been put down by the Communists in tech. Windows has made ammends with Linux and UNIX and hence the WSL birth. The toxic vibe from the Linux to Windows needs to low down is what I feel. That's why I feel the migration from Windows towards Linux should be done on case by case basis and not to put every tom.dick and harry to Linux who will literally struggle in some cases.
My 2 cents.
Hmmm... in some way that is the true. I agree.
Nice article!
I've been working with Ubuntu since 16.04 (I only use LTS versions) and it is my main OS. Before Linux, I used Windows 7 and macOS and can agree with you about performance. We have a monolith system and the startup is 50% faster than macOS. And building an android app on Linux is really fast too.
Cheers to Linux. Appreciate your feedback @jchrisos
No Rob. It's not about talent here. I would rate me as an average guy in the tech world. But the important thing here is that you all are so fixated on either Mac or on Windows from your childhood that your mind refuses to learn something entirely different. In-fact the Mac OS terminal is as useful as the Linux terminal because, Mac is Unix based.
In a real world scenario, it would be like taking 100 push-ups a day. Everybody could do this if they practice for a month but only few do it sincerely for the long run and they get all the benefits.
It's no nice to hear a genuine feedback from user like you.
Been using Unix systems since the late 80s (college) and Linux since 1992. Similarly, I've been making my living on UNIX since the mid 90s (Solaris, Irix, AIX, HP/UX, UNICOS ...at least a dozen more) and almost exclusively Linux for the last ten years (primarily RHEL and CentOS).
To be honest, I still prefer having a Windows for desktop usage, especially with Windows 10 (build 2004). Between free, full virtualization solutions like HyperV (included in Windows 10) and virtual box, thin virtualization solutions like Docker Desktop, features like WSL (the Ubuntu app is nice if I don't feel like firing up HyperV or Docker Desktop) or even third party tools like CygWin, I have all the local development options I need. Plus, Windows 10 added application sandboxing in the 2004 build, so you can run your box pretty damned securely (and, yes, while Linux has long had security sandboxing by way of SELinux, damned few people seem to know about it and even fewer bother with it).
Wow great information.
This is one of the best articles I've read here on Dev, in the last few months. Thank you!
Thank you @sm0ke . Appreciate it.
A gread read 🔥
I love how Lenovo recently decided to ship all their PC/Laptops with Ubuntu 20 LTS, it will be a major push if people start adopting it.
Great. Is that so? I love to own a better Linux supporting laptop. Currently I use an Acer Swift-3.
I think this may take time, you can read it here
Cool. Great new. Fingers crossed.
Yah..I know preferences and all. Different people like different things. But I don't find myself sitting on Windows anyone. I'm fed up that's all. I like Mac OS very much. It's user-friendly as well as productive.
In the past, using i3 on Arch Linux, I had a fast booting system with complete GUI support in under 150 MB of RAM used :) 400 is already a lot here.
Most user don't like to use a window manger like i3. The screenshot was from Bodhi liunx/ Openbox I guess...I don't remember. Though true in every sense we can even create an alpine build with tiling wm which uses about 80mb ram. Yes even 400mb is a lot in Linux terms.
The possibilities are endless.
That what I love about it and sometimes hate it also. Which one is better i3 or awesome?(interm of performance). Curious why you use i3.
I have no experience with Awesome, but I had a friend that used it. i3 seems simpler to set up and Awesome seems more powerful to tweak. After that. both would use sub-1% of CPU at most, and everything feels instant.
Cool.