When we talk about Linux, it usually implies a need to learn development, to become skilled on this operating system, and can therefore be scary. But is this really justified? This is what we will try to decrypt in this article.
What is Linux?
Linux is a Unix-like operating system based on the Linux kernel. Unix systems are multi-processor and multitasking operating systems and have been designed to be as stable as possible, with a high level of security. It is a free (GNU/Linux license) and open-source operating system. Therefore, users have a great deal of autonomy in terms of customization and configuration.
The fear of not being able to find one’s software, of having to learn Bash or Python scripting, of getting lost among the different distributions, etc., are all reasons that can slow down. It’s no coincidence that about 75% of web servers use Linux (according to w3techs.com), or that devices such as connected TVs, entertainment devices, space flight software, or even your Android smartphones also use this operating system.
In short, Linux is now considered to be the most secure and efficient operating system.
Speed and fluidity of execution
It is necessary to understand that Unix operating systems, in this case, Linux, work as close as possible to your hardware architecture with much less interfacing than Windows. As a result, the execution of programs and scripts is made much more fluid. In terms of security too, everything is much clearer than on other operating systems. Indeed, here, there are no more resource-intensive cumulative updates. The management of security updates is designed to be as transparent as possible.
What is the developers' point of view about Linux?
As previously stated, Linux is today considered one of the most powerful and secure operating systems. This is even more true for developers. Open-source and therefore free, Linux is an ideal choice to develop, whether as an amateur, student, or professional. As a bonus, most software designed specifically for Linux is also free. Among them, there are of course some well-known consumer software, like Obs, VLC, and LibreOffice, but also specific software like VI (text editor), or Geary (mail client).
A few years ago, installing Linux was not within the reach of everyone. Now, with an intuitive graphical interface, and above all a simplified and direct operational mode, this step is a piece of cake. However, some distributions may require a little more knowledge.
It is very important to note that Linux includes native support for most programming languages, from C to Python, through Vala, Perl, or Javascript. More generally, as long as a language is not limited by a specific architecture (such as .NET for Microsoft for example), it will work on Linux.
If you are reading this article, you are probably interested in development (or maybe you already are a developer). Mastering Linux, or at least having some skills, will also allow you to embellish your CV, and therefore may increase your employability.
What's the purpose of the bash?
The bash (Bourne-Again Shell) is the command interpreter of the Unix shell. The shell allows access to the components of the operating system. It gives access to the elements inside the system. With this interpreter, it is, therefore possible to perform simple tasks such as file manipulation, but also much more complex tasks allowing the automation of actions, or the management of Cron tasks (equivalent to scheduled tasks for Windows)
Which distribution is the best?
From Ubuntu to OpenSUSE, passing by Manjaro or CentOS, there are many distributions, and it is easy to get lost. We won’t go into the details of each distribution here, that would require a dedicated article. To make a long story short, the choice would be as follows: if you want a proven distribution, very popular and with a big community, you should choose Ubuntu without a doubt. If, on the other hand, you are looking for a very development-oriented ecosystem, then Manjaro will surely be ideal. In any case, there are a lot of articles comparing distributions according to your needs on the Internet.
What's the difference between Windows and Linux?
It would be a mistake to call Linux better than Windows, or vice versa, because they address a different population and meet users’ needs in different ways. Therefore, it is useless to talk about competition either, because that is not the case here. As we have seen in this article, Linux ticks a lot of boxes compared to its counterpart. They are not aimed at the same population and each has its advantages. Here is a small comparison (not exhaustive) between these two operating systems:
Features | Windows | Linux |
Price | License required | Free (for most distributions) |
Graphical environment | Known for its very "user-friendly" environment | Most distributions now offer GUIs. There is also a wide selection of GUIs available |
Software | Most software is compatible with Windows (not to mention architecture) | Software must be compatible, and the choice remains limited |
Installation and uninstallation | Installation is done after retrieving the installers (downloading and/or purchasing the product). Uninstallation leaves residue on the system (files, registry, etc.) | Installation is done automatically through a very extensive library. Uninstallation removes all traces of the product |
Reliability | Although it has improved, it is in no way comparable to its counterpart | Known and recognized for its reliability |
Security | Attacks, vulnerabilities, DDoS, etc. are risks that must be corrected by security patches | Due to its nature, the Linux kernel is very difficult to "attack" |
Speed | Although generally fluid, the system becomes heavier over time and use | Very fluid in general |
Updates | Every second Tuesday of each month. Or more frequently to fix certain security flaws | Users have full control over available, necessary, experimental updates, etc. |
Hobbies | Almost all games are compatible, and the offer is gigantic. With the various hardware acceleration possibilities, Windows is the most suitable choice for gamers | More and more games are compatible with Linux (especially a large part of the Steam library), but the entertainment offer is much less advanced |
Targets | It was designed to suit the largest number of people. It is the operating system of choice for novice or expert users, whether for personal use (especially for games) or professional use | More advanced knowledge may be necessary for the use of Linux. However, it is the ideal system for developers, or more generally for users whose daily life is computer science |
Conclusion
As we have seen throughout this article, Linux is the ideal operating system for development. Contrary to popular belief, learning this operating system does not require as much investment as it used to, as the distributions are more and more user-friendly.
However, customization, and what you can get from Linux with some investment, can be much more advanced than Windows for example.
Finally, if you can’t make a decisive choice, it is important to note that Linux natively offers to be installed in parallel with your Windows installation. This will materialize by a choice at the startup of your computer, between the Windows partition or the Linux partition, and this will not affect your existing data in any way.
If you want to learn to master the Linux operating system, discover our Data Engineer training!