Why Linux Is Better For Programming

preview_player
Показать описание
Why Linux Is Better For Programming

"Clean Code Friday"

Follow me on:

--------------------------------------------------------------------------------------------------------
GEAR:
Рекомендации по теме
Комментарии
Автор

Just a note:

I don't mean to bash on this youtuber, but to me these sounds like the advantages that a Linux newbie (nothing wrong with that, we all started there) thinks of.
First of all, as a developer, Linux is not always better. The best IDEs (the free ones, that is) are not on Linux, and the ones on Windows are not able to develop for Linux in a billion different ways, and they offer a much better workflow.

Other advantages described here are also totally unrelated to Linux, but rather are tools often used on Linux but available everywhere else, you like bash? I do too, and I use it daily on Windows! Just like cat, curl, wget and with all the piping magic you can thing of.

The truth is that Linux on Desktop natively doesn't make sense, sure, if you're willing to fight with a custom installation you can revive old laptops and that's great, but Linux really is (sorry Torvalds, I know this was not your goal) a server kernel, the various desktop distros work, but they are not truly better than Windows now that the WSL is a thing and now that modern hardware and hyper v can run VMs like a charm.

The Linux community is not friendly and "learning" Linux (whatever that means) is not easy.

Linux is awesome, but not for the reasons described here. Whether you care or not about Linux depends on the usage you have for it, if it's developing you're hardly really going to use Linux.

Also, using Kali as your main installation is a bad idea, by default you're logged in as root and it's really just meant to run off of a live USB.

Actual essay because I'm annoying:
not really.

Don't get me wrong, I love Linux, I work with Linux daily and I develop software for Linux, but we gotta be honest here.

Security - Linux is safe... that depends.

0 day exploits on Linux are not unheard of, and for CVE the security of the system depends on you how often you upgrade your system and on the repositories that you get your packages from. Not every repository is up to date, not every package has the latest patch and not ever dependency is compiled with the correct features.

The reason why you don't need anti viruses is just that... Linux is not a target for viruses, you're not going to browser online for a pirated game and stumble upon a fake virus installer for Linux, in reality, if you were to give root access to the wrong software, you'd be more screwed up than on Windows.

So yeah, the community can look at the kernel and make sure it's safe, but are you up to date? Also, what about all the other drivers and packages? Are their communities as thorough regarding their security concerns?

Improved Workflow

You serious? First of all, a lot of modern programming languages have their own package managers, so you don't even need to pass via apt.. and that aside... dependency hell on Linux package managers is a thing.
Plus, if you need to install a library from apt likely for C or Cpp... come on! It's not that hard to simply download binaries and link them to your executable! Or compile them yourself! We have build systems, we have MinGW, WSL, VMs of all sorts. But do we have a decent IDE on Linux? Nope.

Speaking of IDEs the best we have is CLion, which is not free and open source. Want a free decent IDE? Great! Visual Studio 2022, Windows only, can develop for Linux via SSH.

The godsend of Linux is bash, but bash runs everywhere, even on Windows.

Even the install VLC example is dumb, sure, with VLC is easy because the package name is VLC, go figure what the package name is for libsupercool-dev-2.0.1. How do you do that? From a webpage....

No Reboot - True, but.

Sure, it's true, on Linux when a kernel module updates you don't need to reboot the system, you can just restart the module, while on Windows updating a driver means 9 out of 10 times reboot the system, it's true but... who cares? Unless you're using Linux for a server where you need 0 downtime, you don't really care about rebooting or restarting a module manually, often you'll just reboot to avoid searching for the correct command.
Btw, Ubuntu upgrades done via their GUI actually forces a reboot.

Powerful Tools - Unrelated to Linux

Those are programs that can be downloaded on Windows and be used with GitBash, except for cron, the true lacking features. On Windows you need to use services, which sucks. But not many users actually need custom cron jobs.

Task Automations - You're right but explained it wrong.

Task automation as in cron? Sure, kid of lacking on Windows (can be done but it's more annoying), but one liners aren't a "task automation" they're just that, one liners. They're cool, and they work on every system, I think what you like is bash (I love bash too).

Performance - True, but only in some cases
Not all Linux distros are lightweight, stuff like Ubuntu has a ton of modules and packages pre loaded just to make it work with most hardware, like Windows.
If you want a lightweight system you need a full custom installation, like Artix, the results are great but setting it up the first times is absolute pain.

As for stability, it depends on the maintainer of the packages and on what you do. As long as you don't touch your installation, it's stable, but it may not be safe after a while.

Point 7 - I'm sorry, this is absolute bullshit.

Error messages depends on the app, sometimes you can find (related to Linux) useful messages using dmesg, but software specific stuff... depends on the software. Some throw a very generic "core dumped" at you, then what?

Customization - True, probably overrated

No it's true, you can customize Linux however you like, but here's the thing.
As for development environments, it's dependent on the software and it's unrelated to Linux.

As for the actual Linux distribution, sure it's true, but don't think of it as an easy task, packages break with each other, support for HiDPI is still a joke in Linux, X11 and Wayland are still fighting each other. Making a distro look good ain't easy, and the improvements to your workflows are minimal.
Oh god, I have a quick search bar I can use to spawn commands! Cool, so you have powertoys? Or cmd+space on mac? It's the same thing.

lynxesexe
Автор

“A computer is like air conditioning – it becomes useless when you open Windows.”
— Linus Torvalds

wallawalla
Автор

Linux: Pre installed apps to help you code efficiently.
Windows: Candy Crush

mrcrabss
Автор

Having been a Linux user for around 10 years now, I think it's advantage really comes down to modularity. Packages are not necessarily full programs, and dependencies can be installed as needed. This is different for Windows and MacOS, and really indicative of why Linux is loved in the server and other spaces. You can make Linux into what you need and want, with just the necessary packages and programs installed. Each program - say like gnome-desktop will have many packages, and while you install many to get it working you can tweak and play with which you need and don't need based on the use case. Of course somethings will require all dependencies and could break things, but for power users, this flexibility means you can have anywhere between an Alpine 120 MB iso image to an Ubuntu 2 GB iso image. That and native containers - again about modularity - that really make Linux a great base.

AdenMocca
Автор

I switched from Windows to Linux because of hardware in my old laptop. Now with Firerox opened with 10 tabs + Android Studio on Linux, it uses the same amount of RAM as Windows freshly booted with nothing started.

MrSojek
Автор

For the no rebooting, actually you may need to reboot but... that's only the case when upgrading the kernel (in order to switch to that new kernel)
Though it doesn't force reboot and you can keep linux running on the previous kernel if you want to

guy
Автор

Btw for the package manager one: Windows recently came out with Winget which is their own package manager. its actually very easy to use once you understand it and has a fuck ton of programs and packages to install.

LuffyPortal
Автор

The backslashes alone are reason enough to avoid windows like the plague

KebunH
Автор

"Why Linux?"
--So that you can proudly say "I use Arch, btw"

akshitthakur
Автор

Excellent considerations of the question "Why Linux?". I think the Linux advantages for programmers you touch on can be bundled into two words that can be equally to any user: Freedom and Flexibility. 🙂

arxaaron
Автор

For me, customization is the most important point.

Also, if you show a simple way to install a program, you could show the software center. True, they are different depending on the distro, and the terminal is an Ultimate tool for Linux. But the Linux Mint, the friendliness of Linux... you could show that as an alternative.

ryukusu_luminarius
Автор

The 7 reasons in the video :
1- Security 1:18.
2- Improved programming workflow 2;55.
3- No Rebooting 6:5.
4- Powerful programming tools 7:16.
5- Task Automation 8:10.
6- Performance 9:05.
7- Useful error massages 9:58.
8- Customization 11:27.

programmingtools
Автор

I commonly get asked what IDE I use.

I use Vim, and Linux is my IDE.

Автор

Windows: "Something went wrong! Contact your system administrator."
Me: "I am the administrator. Give me the fucking error code."

theabyss
Автор

Useful error messages, I really can agree on that point. I recently ported from Windows to Linux (POP OS) and whenever I get an error, I can really get what is wrong with it and can search for a solution without the hassle of going through each article.

CheerfulNE
Автор

I use literally all three daily. Prod websites definitely go on Linux for me.

realchrishawkes
Автор

Everybody gangsta until a broken dependency.

GopakumarS
Автор

Nice video! 2 things I would add to your list: the terminal and pipes.

juandesimoni
Автор

Linux customisation is really great. I spend 8 hours a day in front of my computer. Having it be esthitically pleasing and personal to my tastes really makes it easier to spend so much time in front of it. Really who would not like a lightsaber mouse pointer?

corriedebeer
Автор

Petition for Kalle to start a "so" counter.

SagnikAcharyaneel