Originally published on my blogging site ajeet.dev
Disclaimer:
I am new to the blogging world. This is my first post at Dev.to platform.
Please feel free to suggest how can I improve my tech blogging skills.
At Dev.to, I aim to share my tech-learning, and my writings will be dedicated to the absolute beginners who are new to the tech world. I don't have a Tech degree, but always wanted to get into tech domain. I started teaching myself, I learnt Excel and mySQL by myself, then data visualization software Tableau.
This post will help the newbies choose the right OS to start their journey in programming or web dev. Let's start.
In this article, I will quickly compare some key features of both the Linux and Windows Operating Systems. We will see the advantages of Linux over Windows, which will help you choose the right OS for programming or web development purposes.
I am a big fan of Windows OS, and have been using it for years. It is super user-friendly, well-designed, and convenient. However, if you are thinking of getting into programming or web development, a Linux distro (such as Ubuntu, CentOS, and Debian) is the best Operating System to start with.
Since this article is mostly focused on using a Linux distro, I will share with you lots of free learning resources related to Linux. This will help newbie coders to get comfortable with a Linux distro.
Linux is a kind-of-descendent of Unix, which means it is similar to other Unix-based system.
Linux Vs Windows ⚔️ Feature Comparison
Let's compare the features of Linux and Windows Os.
🧡 Open Source
Unlike Windows OS which is commercial, Linux is an open source software that is freely available to download. There are hundreds of Linux distributions available out of which almost five-hundred distro are in active development. One of the most popular desktop Linux distributions is Ubuntu. I am currently using it.
🛡️ Secure
Linux is considered to be more secure than Windows. No antivirus is needed. Since it is open source, several developers are working on it and everyone can contribute code. It is likely that someone will find a vulnerability long before hackers can target a Linux distro.
🚀 Faster Software Updates
You will get faster software updates. If the bugs are found by someone, the users get updates immediately, they don't have to wait for long. Development tools and libraries are available for free.
⚡ Performance
Linux is more powerful and versatile than Windows. It is light-weight, which makes Linux faster than Windows. You will notice a significant improvement in speed on a Linux distro when you start working on this OS.
👨💻 Programming Friendly
As I said in the beginning of this article, a Linux distro is the best OS for a budding programmer to start with. Developers ❤ Linux. Let's see some key features of Linux
- Linux supports almost all of the programming languages such as Clojure, Python, Julia, Ruby, C, and C++ to name a few.
- The Linux terminal is better than Window’s command line. If you want to learn command line basics quick and super fast, you will find this course helpful. Here is a comprehensive guide to learn Linux command line for beginners. You can also use this guide to learn command line for iOS and Linux.
- Bash scripting - Bash is extremely useful for developers and it is available by default on Linux. Learn how to create and use bash scripts. Here is a cheat sheet on bash scripting.
- Linux has inbuilt support for SSH. With this, you can easily manage your servers. Learn how to use SSH using this DigitalOcean guide.
- You can easily customize and personalize your Linux distribution.
- It also supports several efficient tools for developers that makes the life of developers a lot easier.
💯 Great Community Support
Since hundreds of Linux distros are in active development and they are open source, the community is big. All newcomers can find help on any of the Linux forums. If you are stuck somewhere in your development process or need help in your coding process, just Google it. You can find several Linux based helpful resources.
⏳ How to install and use a Linux distro
There are many ways to install and use. A few ways to install Ubuntu (a popular Linux distro) are mentioned below:
- You can download Ubuntu and freshly install on your system. Also, google it and you will find several free resources on how to install this OS.
- Install Ubuntu alongside Windows 10 dual boot
- Install Ubuntu on Windows 10 using Virtualbox
🤔 Downside of using Linux (for the absolute beginners)
Is there really a problem switching to Linux ? I think, yes but for the absolute beginners, and it should be considered on a case-by-case basis. While there is absolutely no downside of switching to Linux, some absolute beginners might find Linux a bit uncomfortable while using it.
Image Credit: https://bit.ly/2qpYluK
Consider a case where your computer is only running Linux (using installation approach 1 and 2 mentioned above). You have been using Windows since the beginning. You have never used a Linux distro before (similar to my case). Here are a few problems I had faced.
- A computer with only a Linux distro installed means newbies might end up googling several commands to do simple tasks. Even you are not familiar with Start Menu. The same task could have done with a few clicks of buttons in Windows.
- Running Microsoft products (such as Excel, Word, and PowerPoint) in Linux is not an easy task. That was a big disappointment to me. I was an Excel-person, and even now I use it everyday. Though you can use open source alternatives to Excel, but they are not advanced and mature enough.
- I am a big fan of Tableau - a data visualisation software, and I use it create charts and running some quick analysis. The problem is Tableau Desktop is not available for Linux, but only for Windows and Mac.
The problem could be fixed by using installation approach 3 (install Ubuntu on Windows 10 using Virtualbox). You can use Windows and Linux side by side. However, the biggest problem with this approach is the performance of the Linux machines inside Windows. Virtual Machines take a lot of resources and you will have a disconnected experience when using VMs with Windows.
If you have good amount of RAM, video graphics and a good processor, you can optimize the Linux machine. However, that might be costly, time taking and overwhelming for newbies. So, what now.
💡 What's Next
One of the best solutions of the problem I explained in the previous section is to use Windows Subsystem for Linux (WSL). I have written a step by step guide on WSL on my blogging site ajeet.dev
Part 1: How to Install Windows Subsystem for Linux
Part 2: A Beginner's Guide to Use Windows Subsystem For Linux
Do read it. Thank you for your time. Feedback welcome :)
Edited on 25 Jan 2020: Based on several comments and a little research, I find this sentence "While there is absolutely no downside of switching to Linux.." too extreme. That's why the strikethrough :)
Don't forget to subscribe to my weekly Newsletter 📧
Credits 🙏:
*Image Credit: ManyPixels
*Image Edit with BlogCover
*Windows and Linux logos taken from SimpleIcons
*Emojis taken from Emojipedia
Top comments (41)
I would heavily disagree, as a windows user for 99% of my life I have had so many issues switching to Linux from drivers not being available, to certain websites not being supported, even though support is way better now than it was.
When I have attempted a switch to linux I found most of my time is googling how to fix certain issues, which I'm going to be honest is not what I want to be doing with my time. When I'm using my PC I just want it to work and not have to sit on google for hours wondering why something just crashed for no apparent reason.
From a day to day perspective there is less gaming and program support support, for example if you use MS word then you will likely have to switch to open office or google drive, this might be a good thing to some people and impossible for others.
I think saying "there is no downsides" to switching to Linux is a little unfair for most users.
I strongly agree.
I am a linux user for a long time now. Driver issues are a huge problem, especially on laptops.
What annoys me the most, is you can brick your system (most likely your desktop environment, some firmware or kernel stuff) so easy on linux.
Yes, you have more control over your system but that comes at a cost.
I never face Driver issues in Linux,
Interesting.. visualcapitalist.com/cp/most-popul...
animated market share over the years
How?, unless you are tweaking the kernel not knowing what you are doing, how?
To magically get a kernel panic you would have to:
1) remove your bootloader: you still could boot from a liveusb and reinstall it.
2) manually compiling a wrongly configured kernel and installing it without a working one as backup.
3) deleting all of your /boot folder.
In fact as a non-root user you can't, maybe is you use a rolling release and have very, very bad luck you could get a bad package, but is very unlikely. And even as a root almost every problem has a solution, to brick the system you have to be a root user actively doing dangerous things, almost being self destructive.
Hi Torsten,
Thank you so much for your comment. The intent was to encourage the beginners to use Linux, an Open source software instead of spending a huge amount on MacOS.
For me, there is absolutely no downside of using Windows, because it lets me use Excel smoothly, I can watch movies with a few clicks, can easily install several software, and use it. I am happy with Windows based on my use case. So for a non-techie, he/she may or may not find Windows with downside. That's why I said "case-to-case basis".
And I have just started getting programming world. I think the article may some polishing. SO Thank you Torsten for your feedback
Don't get me wrong, I love linux. I work on it every day. But the common user is more likely to brick linux compared to Windows. Especially with copy & pasting random terminal commands from the web.
For the drivers:
Compare that to the market share Linux has on desktop. You cannot deny that there are problems with linux and drivers, which is not even the fault of the linux community.
Alright all fair points!
I don't want to argue that it's untrue that more users have problems that they need to search for on linux, but if i was writing an article about it i would make sure that i looked up only "last year" results too.
For the wifi drivers that you mentioned, google told me that the dell is using an AC 9560 which has kernel drivers since 4.14 with the iwlwifi-9000 package.
Dynamic switching (the implementation used after 2016) is working well i got told, did you experience otherwise?
Now why is the market share so low and why are users experiencing problems? From what i found out it is mainly driver issues with shitty implementation of bluetooth or fitness tracker, things like that.
Also most importantly the best tools are missing on linux, adobe, microsoft, finalcut to name three that are without question industrie standards but also 3dsmax, maya..most companies won't work with blender.
Lastly ubuntu shipping with gnome3 is a brave approach but most monkeys can't adapt easily away from windowsXP therefore we get a split in community which hinders more polish (not that windows is polished yet haha but my insider built is amazing honestly).
Well, the past year results unfortunately have even more results for linux.
I have never got AMD based hybrid graphics working on linux, for example my personal Lenovo Z51-70. But to be honest, this whole feature is a mess on any OS.
It goes on with the downsides. Too many things in Linux require manual configuration using text files: the mentioned switchable graphics, multiseat setups, USB 3G/LTE/4G modems, various daemons' configuration, advanced audio setups, advanced printer features to name a few.
Gotcha, i know the feeling, but in a different way. I don't care typing on console and editing files..haven't had to in a long while on desktop but don't mind that either obsly, neither do you i believe. But if i wan't to connect some bluetooth speakers and even using all the threads of possible solutions and file copy pasting editing there is and it still doesn't work that sucks. Not like the crap would work well on windows or osx but at least it somewhat works.
Let's nitpick, i said from 2016 on hybrid graphics became better and these days they kinda really work, on amd free and on nvidia-blob. Your laptop is from 2015. It's hearsay and somebody showing me in a cantine that his oh so awesome oldskool mateeeeee runs off intel and then the game ran with gpu.
I went to my laptop, x220 (i know it's cheating to use complient hardware), 3g modem works oob, usb hub with ethernet works oob, bluetooth stick works oob (all cheap crappy adapter hardware), xbox gamepad wifi dongle works oob.
Epson got a .deb to download drivers, it SUCKS SO MUCH that it's opened in archive manager by default i mean what the ... but right click like stupid windows does open software center let's me install it without issues.
That's the main thing isnt it? Printers usually work(usually oob with cups driver and then you can have more.same as for windows. horrible 2000s are over, printers print.).
Pavucontrol does audio, do you really need more?
Most things do work in ubuntu, manjaro and ... just those. Fedora takes more fiddle with their privacy concerns enabling the repos and so on...manjaro especially does a good job adding some extra GUI for 3rd party drivers, changing workgroup...we need more of those tools but eggheads are bored by that and rather add GEGL to gimp than a solid native layer effects to go with the software example.
That's why all-in-all on powerful machines windows became soooooo good with wsl2, you are indeed getting best of all. Windows is a pain to configure, be real there, but improved a lot from the horrible first days of windows10 and ye...tough luck for linux on desktop to lose users about tiny problems.
I agree with you! Windows is there for anyone to work with. It's quite easy and doesn't require a lot of work for most things to work.
Things like MS Word/Excel don't work natively on Linux, but they do work just fine when using Wine. Whether you want to go through the process of setting that up is another matter, I personally don't do that, but you could.
You mentioned that when you use your PC you just want it to work and it shouldn't crash for no apparent reason. Can I assume that you used a rolling release distro like Fedora, Arch or Manjaro? Generally, things don't break on snapshot release distros like Debian and Ubuntu. In fact, I've run my current installation for 2 years without any problems. When using Windows I had to reinstall my entire computer every 6 months to get rid of viruses, corrupt files, or just to make it "fast" again.
You're completely right about there being less gaming and program support, that's why I never say that you shouldn't use Windows. It just has more support for specific programs and most games are built for Windows. The Linux community is improving every day, but right now Windows is still better for these use-cases. So I fully agree with you that saying "there are no downsides" is simply untrue for most people. Linux distros are getting better every day, so someday it might be true that there are no downsides at all. It'll be a great day when that happens!
If you do want to switch and just want it to work, here are some amazing distros you could try:
They're very user-friendly and you don't need the terminal on these if you don't want it.
Hello my friend!
How do you get Excel and word to work with wine?I mean the new version with Al the cool features. Libre can easily take a comparison with 2013 office and gimp doesn't have to fear a 10y old Photoshop that could run with wine but the new things are better,and more expensive with subscribe model haha.
I've never tried it, I go with the libre office suite, the open office suite, or the Google docs/sheets software. So I've never missed Excel at all. Maybe those are good enough for your use case as well?
Gimp is nothing like Photoshop unfortunately. I loved Photoshop and I don't really understand Gimp. So that's the only software I really miss at the moment.
Ye Excel and Office is better by many points, most which i cannot explain to you because i lack the expertise on the software.I can tell you that it is there though because people i trust and are experts at it say so.
If i gave a way to run office suite on linux i would have dozens of people i personally know switch in a heartbeat but how it looks they will simply enable wsl2 and say hey i got linux too and still got my office.
Gimp is nothing like photoshop but not neccesarily worse. Photoshop is an industries standard though and if you WORK with graphics of any sort you NEED to fit with your coworkers do. That's all.
You're completely right! And those arguments make complete sense, there is no point in switching if it makes your work more difficult. So if it works for you and your colleagues, stay on Windows. Eventually all of those things will work on Linux and then it might be worth the effort to switch.
There is two things that i doubt: Good windows networking and adobe/Office on Linux.
Right now wsl2+mate+i3+a sack of rice is available with windows for those who like that hobby and at the same time you can use windows. The one reason to not use windows as a daily driver now is if you enjoy final cut pro the most.
Hi Mark,
Thank you for your comment :)
For people (like you and me) who have been using Windows, and never exposed to Linux, they might find the OS frustrating. Last year, I wanted to learn Clojure programming language, and the Windows support for this language is not so good. I uninstalled Windows and installed Ubuntu last year on my Dell's laptop.
I googled several command lines on how to use Ubuntu effectively, noted them down, and even started using Ubuntu. But the problem started when I had to use Excel. I used google sheet for some hours and it was a frustrating experience, as it was slow. I used Open Office as well but several features of Excel were missing. So, I uninstalled Ubuntu, and installed Windows.
I think the "downside" depends on case to case basis, as you also said in the comment "this might be a good thing to some people and impossible for others."
For us, Excel is very important, and since we use it on day to day basis, we cannot afford to waste time. But at the same time, I have seen several developers hardly use Excel, and thus, their experience is not as bad as we have had.
If you have been using Linux for a long time, you would hardly find any downside.
But yes, agree to you mostly. I will keep that in my mind :)
Yeah - apolagies if I came off a little strong, I didn't intend it, best piece of advice I can give is try not to make sweeping statements because some people (like myself) can misintepret the information in the article, try approaching it from different angles.
Mark,
No need please. I am pretty much new to coding world. Still learning. Comments and feedback will help me improve my tech-writing skills :)
Don't use open office for your works.Use wps office or only office..
IMPO, a Windows user switching to Linux is no more difficult than a Windows user switching to MacOS. Only because moving operating systems will always have setbacks and a learning curve. Its just like switching mobile phone OSes from Android to iOS. Its about learning to routines.
Overall, I look at this write up as trying to set the foundation around the idea that one should learn Linux and maybe use it as their main OS if they are a web focused developer that is not building on top of Windows and .NET.
I don't agree, this article to me is more saying "Come to Linux it's exactly like your regular operating system, but better with no setbacks" obviously switching from one is going to take time and learning, but saying that it's better in every way and that there are no downsides is just a plain lie IMO.
There are other things I take issue with in this article like the advice that you sholdn't need an anti virus on Linux because it's open source and people will fix bugs before they become an issue? That's a BOLD statement. I agree that there is a PERCEPTION of security on Linux, and while I would agree that there is a lesser chance of viruses and malware infecting your system, it's not as if the system is completely free from threats.
I'm a .Net developer that actually develops web sites for Linux, .Net is not just Windows anymore, kind of an old stereotype these days.
My comment is directed towards the title of this article. Now, I don't disagree that there isn't a lot of
come to Linux from Windows because it's better
in this write up. And my comment leans towards agreeing with that sentiment. Which I guess shows my bias against Windows and my lack of using it for many years is showing.What shocked me was reading your response and a few other's that are still having hardware/driver issues. Now I can see if a piece of hardware has specific functionality under Windows but isn't available when using Linux as a problem. But for the most part I'd suspect 90+ percent of modern hardware works "out the box" with most major distributions.
Thanks for the tech knowledge update about .NET running on a Linux OS. That's cool there is a runtime for Linux. It certainly makes development under the .NET framework much more universal then it was in the past.
Beyond all of the above statements, no matter what OS you run under your GUI desktop a modern web focused developer should know the basics of Linux so they can at least trouble shoot issues around the code they are writing.
Probably scanners, printers and everything easy overclocking and RGB.
Try anything peripheral that has shitty software to begin with like..Bose speaker.
Printer at usually at least works oob without special drivers but scanner take a trip to the manufacturer. My Epson got Linux drivers support,can't complain but maybe installing the
Exe is faster for most people than figuring out to type apt - ./*.deb
I find amusing how people seems to hate and fear writting into a terminal and prefer to talk to Siri yet they hate to talk to other people on the phone and prefer to message them them, ON THE PHONE. People are weird.
People hate to walk to and wnat to sit on the couch all day but the day that you tell them hey man stay inside they all wanna get out.
Thank you Ken.
This was exactly the intent. I am new to the blogging world, and I agree I could have used appropriate words .
I also agree that "absolutely no downside" is too extreme, is hard to find a valid "absolute" thing. Said that
that's one of the reasons why I use Linux instead of Windows, I don't want to look for drivers, research about antivirus, spend hours looking for a way to stop auto updates that take over my system and how to avoid Windows installing apps without consulting me. How to minimize how much data is stealing from me. And to have to reinstall periodically when the system starts to get sluggish, that to me is a waste of my time. And just let me add some other things that I consider a waste of time: having to update my SW program by program, having to google sw, download and then install it, the need of reconfigure everything everytime I install the OS, dealing with license keys that have to be re-validated with new PCs and having less than stellar keybindings support. And the ungodly amounts of HW resources it consumes, OMG, and you can't even install a different GUI for your OS. :|
Of course Linux has it's own downsides: HW and some SW compatibility. In my case I buy the HW accordingly, just how I buy microwave friendly dishes to put in my microwave and a CPU compatible with my motherboard, I look for HW with good Linux support, which nowadays are almost everything.
And I don't use any non-Linux SW, but if you need one of those, you're out of luck.
Gaming is getting much better, really fast tho :D
Hi Robertorojasr,
Thank you for your comment. I have edited the post :)
I would soften
I really hard to find a valid "absolute" thing, and there are cases when Linux has downsides. Not that I can think of many, but even 1 invalidates an absolute. :)
There is need know to partition your HD, you can easily have ubuntu and windows side by side. eEasy peasy !! wsl boys
Some libraries are really difficult to get working with wsl (open cv for example). There are also other issues with wsl which are inconvenient compared to native linux.
I actually run a dual boot system with win 10 and Ubuntu. I've found this is the easiest option, however I don't like having to reboot to be able to utilize the linux system, but it's the best outcome for me right now.
Yes 🙂 I have written about wsl here
it's a 50/50.
I have been using fedora as my main O.S. for more than 5 years now, and even if installing developer stuff is much easier on Linux (for us, a command line is better than a bunch of clicks and UIs), we have to accept we are "normal" users too, and Linux lacks a lot in this segment. in my case? I just found out the HSP/HFP profiles doesn't work with modern Bluetooth devices. so, if I have a meeting I have to grab a cable or connect my old headphones.
the point about the Linux terminal being better than windows console... might be true, especially when you are not PowerShell fluent, but the Linux subsystem implemented by MS works pretty well and you can do almost anything on both sides.
The opensource thing plays in favor and against the platform. the good side is that everyone can contribute it, the downside is that almost nobody actually does it, that lets some software completely outdated until someone has the time to resurrect those projects. I tend to use the proprietary versions of anything I need like Nvidia, broadcom or java.
I have been on both sides, and I found the windows community to be more friendly to the newcomers, but Linux forces you to do your research first.
Things i don't miss from windows: The filesystem
Things i don't like in Linux: the "not so practical" file structure: binaries go there, configurations there, use /opt for this, and this other folder, etc...
Things making considering a return to windows: the native for support for almost everything.
I just tried wsl2 on my desktop pc. What can I say, this is the year of Linux on desktop,but running ok windows.
You get nearly all of the beenefits, namely Photoshop and Excel (personal use I can get by with libre and gimp or krita but you pay time to learn around those. Affinity foto is cheap and works similar to ps..but not on Linux) and the occasional game.
Docker and vscode integration with the subsystem is mind blowing, really feels like the future now it all just damn works and even the new terminal is fine.
So, it really doesn't matter and we all know it.
MacBook are okay hardware for not a huge premium (considered reselling it might be cheaper.) And osx might be the slowest but not really awful slow. Windows is in the middle performance and has Linux built-in now and Linux is the fastest meanest backend dev machine but what if you get a file hey buddy can you quickly fix this image and re-upload..
Windows though oh dear god it has it all now, even virtual desktops and fish.
Subscription is done.
Thank you, It's great
great article also see bit.ly/2OhyWvD
If you program in "App inventor 2", most parts works faster in FF Windows than in Linux.
Some comments may only be visible to logged-in visitors. Sign in to view all comments.