Why do we use Linux? Is it a matter of choice or for professional reasons to get the job done?
Why do I use both, Windows and Linux?
As a student studying robotics, I need both, Windows and Linux. Let's break this down: I use Windows for many tasks related to being a student and I use Linux for the tasks related to robotics. In some cases, I can choose as the operating system doesn't matter.
For some of my daily student tasks, like writing reports or designing presentations, I usually fall back to Microsoft Office. As I want to do my work quickly and efficiently, I go with the flow and use what the majority uses and understands best. Imposing upon my team members to use Libre Office (or Open Office or Only Office) would only be slowing the team down while letting them use MS Office and using an alternative myself would only cause trouble when sharing documents between each other. In the end, using MS Office on Windows is the path of least friction in order to get the job done. For some subjects, I need some special programs which simply don't have alternatives for Linux such as STK for simulating satellite movements or some video conferencing tools that require a desktop client that is only available for Windows.
For other tasks such as programming a robot, visualizing its movements or controlling it remotely, I usually use Linux as this is often the easiest way to go, especially when using Ubuntu LTS releases. One of the biggest frameworks for developing robots is called ROS, the robot operating system. It is a meta-operating system that provides the necessary tools to connect the different parts and components of a robot together, facilitates multi-threading and data exchange and it even allows for visualization and control of the robots. This tool is developed for Ubuntu LTS versions and therefore, using Ubuntu is the easiest way to install and use it. There are experimental packages for other Linux distributions as well as for Windows and OSX, but they are more complicated to set up while not having a guarantee that it will work very well.
For the remaining tasks such as web browsing to look for information, writing emails (in the web browser) or creating illustrations for my reports and presentations, it does not matter which OS I use. Initially, I used Windows as I was fairly new to the Linux world so Windows was still my default. By now, I usually use Linux as it began to feel more familiar to me. I started replacing many Windows only application with programs that are also available on Linux. Basically, I can now do all the work on Linux except the tasks that really require the use of Windows.
What are the advantages to use Windows or Linux?
(explain why is might be good/bad to use either)
Both operating systems have their pros and cons. Windows has the most compatibility in terms of software as Windows is the target platform for many commercial applications. Though, Linux is gaining traction, Windows is still the number one when it comes to specialized hardware and software. Products from Microsoft such ass the Office applications but also the entire Adobe Suite is targeted towards Microsoft and Apple users. If you want to use the latest GPU for your system, or some hardware development kit, there are usually drivers available from day one for Windows. If you are into gaming, Windows is also the first one to get the games and often the only platform to have official support.
Some people would argue that ease of use is also a plus for Windows, but we'll cover that point later.
Some of the advantages of using Linux are the price, the package managers and the security. Most Linux distributions can be downloaded and used for free. The same applies for a big part of the software available for Linux. The different package managers allow to download the applications in an efficient way from trusted sources. Of course, the AUR for Arch Linux is a different topic here as it is more vulnerable to malicious intents as the official repositories. Making updates on Linux is quite easy too as all the software is manages through the package managers so all updates can be done from one single place. The fact that most software is made for Windows users also includes the malware that is produced to harm people. In other words, Linux is not that interesting as fewer people use Linux on their desktop compared to Windows. On top of that, the open source nature of Linux allows for easier identification of vulnerabilities so that those can be easily reported by many contributors to make the systems safe again.
What are the disadvantages to use Windows or Linux?
From the security advantage of Linux, we can derive that Windows has the disadvantage that it is more likely to be the target of malware. Besides from the risks of catching a computer virus, Windows is running an anti-virus program in the background that eats some of your computing capacity, whether you like it or not. Another disadvantage is the licensing of Windows. For must users, this is a once-in-a-lifetime thing, at least for the lifespan of the computer. Unfortunately, there are people out there that need or simply want to swap out their hardware quite often which can easily result in Windows not recognizing your system and requiring a new license key. Though, this is more of a niche issue. Another disadvantage of Windows is that Windows decides when to make updates. Not only the system updates but also the applications that sometimes pop up to tell you that there is an update available. I usually get them after I did not use Windows for a while and then each time I open an application, there is an update. Unfortunately, each program needs to be updated individually. Also, many peripherals need drivers installed which requires to install the drivers first unlike in Linux where many drivers are already included in the Kernel.
A major issue of Linux is the lack of popular programs such as MS Office or Adobe products. The next big issue is the variety of Linux. Yep, you probably had guessed this would be a big advantage, but seeing it from a purely practical angle, the variety of different Linux base systems such as Debian, Arch, Fedora, OpenSUSE, Gentoo, etc. causes quite some confusion within the Linux bubble. Not every software is equally available on all distributions (such as ROS described earlier which runs best on Ubuntu). The multitude of bases also makes it more difficult as a developer to make the software available for all distributions ans each package manager has different repositories. For new users, it also creates confusion on how to install what software. Each desktop environment has different setting menus and different components such as window managers, file browsers, startup managers, etc. which can make it more difficult to write instructions and tutorials but also can make debugging a mess as other users have the same issue but on a different system which requires a different solution.
Why is Linux not more complicated than Windows?
One thing I often read and hear about is that Linux is complicated to use. The most common response to that is that Windows is not easier, people are just more familiar with it so it is easier for those users that have been working with Windows for a long time already. If those people would have used Linux for a long time before they use Windows for the first time, they would feel that Windows is very complicated.
Though the Linux desktop provides multiple different options for about any part of the system which results in no two distributions being alike, they have some sense of consistency, especially when using the terminal. But the most important aspect that makes Linux easy to use is how it handles the entire system under the hood: everything is either a file or a folder. There is no registry like in Windows that is prone to cause confusion and which is quite fragile. Also, peripherals are handled differently in Windows.
The multitude of how to install programs and the different desktop environments for Linux make it seem like there is no consistency across the different distributions and that Windows is much more consistent in that sense. However, I would claim that Windows is also quite inconsistent given that there are different menus for changing the settings ranging from the latest Windows 10 settings managers but also the more old-fashioned Windows 7 like settings menu. On Linux, each desktop environment is quite consistent within its own environment with the major exception of GNOME 3 with the GNOME Tweak Tools that are separated form the default settings menu. The terminal is quite consistent across all Linux based systems which is one of the major arguments to use the terminal.
Even the way how software is installed is much different: you can go to the website of that application and look for an installer which might be a .exe file or a .msi file. Then you need to click through the installation wizard and it is done. Or you go to the Microsoft App Center to look for an application there which can be installed and updated by a click of a button. Lastly, there is the option to use the package manager chocolatey or to compile the software yourself. These last two options are less common for mainstream computer users, but the first two options can already create confusion. Then, when there are software updates, the same struggle starts all over: Software downloaded from the website might need to be downloaded from that website again to install the latest version or the software can install the new binaries by itself. Usually, each program tells you that there are software updates available when you launch the application, but then for each application individually without the option to run updates for the entire suit of programs installed. The system updates are handled differently in form of forced updates. There, Linux is easier once you understood the different package managers as all the software is then installed and updated from the same place: either the native package manager through the terminal or a GUI or through a general package manager such as flatpak or snap.
In the very end, we should not forget that most computer users have been using the same systems for years. This means they have grown up with a specific system, often MacOS or Windows, and they are simply used to a specific workflow. Given that Linux is often different in many aspects, it might feels complicated at first. Not because it actually is complicated, but because it is different from what people are used to. A person growing up with Linux would feel the same when using a system from Microsoft or Apple for the first time. And even I am confused when I see a MacBook in front of me as I am used to either Windows or Linux. I could then say that MacOS is too complicated while a proficient Apple user would claim that a MacBook is the easiest thing to use there is.
We can say that there is no right or wrong with neither of both worlds when comparing Windows to Linux. Both operating systems have their pros and cons and their unique features. We can't even say that one is easier or more difficult as they are simply just different and nothing more. The best way to go here is to use what does the job for you. In case that the OS doesn't matter, it is just a matter of preference. I would invite everyone to try Linux, to get a little bit familiar with it, but if it doesn't suit your workflow, don't bother with it any longer. Ideally, one OS should try to learn from the other. Having the advantages of a single and consistent installation and update procedure on Windows would be great and having more software available on Linux would also be awesome. In this situation, a "us versus them" attitude doesn't help anyone.