Why Linux is better for (most) developers!

แชร์
ฝัง
  • เผยแพร่เมื่อ 24 ธ.ค. 2024

ความคิดเห็น • 1.2K

  • @TheLinuxEXP
    @TheLinuxEXP  ปีที่แล้ว +48

    Download your free issue of Admin magazine thanks to Tuxcare: bit.ly/43XnjhT

    • @CommanderBeefDev
      @CommanderBeefDev ปีที่แล้ว +1

      never ever trust shortened links, 99 of 100 are a virus, so use a sponsor that is a little less cringey, a squarespace or wordpress account is like 15 bucks a month so zero excuses for a shit ass bitly hacker link

    • @JohanAdrian
      @JohanAdrian ปีที่แล้ว

      Hi, Nick! Could you do a video focused on windows tiling software for Linux?

    • @Commiehunter12
      @Commiehunter12 ปีที่แล้ว

      srly.. you neglect to talk about the terminal?

    • @tercmd
      @tercmd ปีที่แล้ว

      ​​@@CommanderBeefDevHow is it a "bitly hacker link"? And you suggest using "squarespace or wordpress"? Those are way too complex for a link shortener. Just type the URL followed by a plus sign to get a preview of the link, offered by bitly themselves.

    • @MarkoVukovic0
      @MarkoVukovic0 ปีที่แล้ว

      Aww, this link is b0rken :/

  • @haddock8087
    @haddock8087 ปีที่แล้ว +947

    You forgot docker, which is widely used by developers. Docker runs natively on Linux, whereas it's virtualized or even emulated, thus slower, on others OS.

    • @TheLinuxEXP
      @TheLinuxEXP  ปีที่แล้ว +75

      True!

    • @tschorsch
      @tschorsch ปีที่แล้ว +84

      Docker is at best a mediocre experience under non Linux systems. It forces the waste of tons of resources when not used in Linux.

    • @Gornius
      @Gornius ปีที่แล้ว +60

      ​@@tschorschYup. I was shocked when my coworker said he needs 32 GiB of RAM to develop frontend app with docker, while I was running 4 docker compose projects at once with barely any RAM usage.

    • @victor1882
      @victor1882 ปีที่แล้ว +8

      But to be honest, that comes with some annoyances when the app doesn't behave the same in Docker Engine and Docker Desktop, that's why they launched it for Linux, and it's virtualized there even on Linux

    • @Watchandlearn91
      @Watchandlearn91 ปีที่แล้ว +18

      That and on other OSes like Windows or macOS, you run into other issues because of that virtualization/emulation such as not being able to pass the --network flag to share the network with the container which is useful in certain scenarios. Docker for Linux is simply better.

  • @dhanushprejipreji7991
    @dhanushprejipreji7991 ปีที่แล้ว +1204

    As a developer i totally agree with this statements. Only reason We use windows is that companies use pre-installed in pc systems 😂

    • @parshu.9309
      @parshu.9309 ปีที่แล้ว +48

      Exactly... But I have started WSL and when it gives issues.. then I will use my phone and termux to connect from laptop

    • @RAZR_Channel
      @RAZR_Channel ปีที่แล้ว +8

      Yup.. and you just have to tolerate it...

    • @QDSGames
      @QDSGames ปีที่แล้ว

      @@aprile1710 Maybe for you but in my company the admins use active directory, Exchange and the whole Office 365 eco system. I don't like it but have to tolerate it.

    • @tschorsch
      @tschorsch ปีที่แล้ว +21

      ​@@aprile1710It's never been my primary reason, I always end up using Windows or Macos because of corporate decisions, not technical reasons and the Linux experience has always been better for me. Only if you develop directly for Windows or Mac do you need those operating systems.

    • @MrKyuubiJesus
      @MrKyuubiJesus ปีที่แล้ว +1

      I've been using Linux to develop dotnet and it's really good. Nobody else runs Linux in my company and we deploy to a windows server. So far I've had 2, both solvable in a couple of hours and one inconvenience (no edit and continue on Rider).

  • @thetaleteller4692
    @thetaleteller4692 ปีที่แล้ว +506

    Important to me: Unlike Windows, Linux is not fighting me. Its not forcing me into any cloud services, online accounts, what search engine or browser i use, where so store my files and what tools i prefer. Its also not changing the GUI behind my back or installs "Apps" I neither want nor need.

    • @SahilP2648
      @SahilP2648 ปีที่แล้ว +11

      It's not that for me, Windows sucks battery life out of all modern laptops. If you install Linux, you will get driver issues but better battery life. And Windows UI and performance overhead is all over the place. If you try to resize the window on most Windows apps, you can see horrible lag in the UI. Like wtf are we living in 2023 or 2000s? If you want to see an example, open the 'Services' app from start menu and resize the columns and you will see what I meant (or resize columns in File Explorer, then resize the window and see the difference). This is all across the board. MacOS on the other hand is smooth as hell somehow and it always was. With the new Macbooks the UI is even more smoother thanks to 120hz display and Apple silicon. It's even better when I connect to my 144hz gaming monitor. Also, not to mention the 6 most important command line commands you can't use on Windows: cd, ls, grep, mkdir, touch, nano (yes nano is the best, fight me). If you are a developer this is your bread and butter. It saves you a lot of time depending on your workflow.

    • @blazingblast
      @blazingblast ปีที่แล้ว +7

      ​@@SahilP2648 Windows does have cd and uses dir instead of ls?

    • @SahilP2648
      @SahilP2648 ปีที่แล้ว +1

      @@blazingblast dir sucks compared to ls and this is just one example. There are a ton of things which are better in a Unix environment than DOS.

    • @lowwastehighmelanin
      @lowwastehighmelanin ปีที่แล้ว +1

      *nods along in MacOS struggler*

    • @untpython8480
      @untpython8480 ปีที่แล้ว

      💯 about Nano

  • @SciDiFuoco13
    @SciDiFuoco13 ปีที่แล้ว +352

    Linux, like a lot of open source software, has been built by developers for themselves, which is why it's so good for developing. At the same time however this is also a downside since it means it mostly wasn't made with "normal" users in mind.

    • @heretolevitateme
      @heretolevitateme ปีที่แล้ว +49

      Normal users cannot administer their own systems. When Microsoft tried to let them do that (Win XP) they had crapware and toolbars and viruses galore--bad experiences. That's when Mac OSX and iOS really got a foothold into homes. Apple made people's lives easier by administering their systems for them. Android copied this model and did so so that Google could harvest everyone's data. Microsoft has made every new version of Windows more like this. They remove user autonomy and make the system more and more managed, slow boiling their users.
      GNU/Linux just doesn't try to copy this model. It's designed so that developers can tool it out however they want. Distros are put together so non-developers can outsource that effort. But it still requires self-administration. It's not just "not the answer to a normal user's problems", it's asking a completely different question.

    • @OfficialMazLi
      @OfficialMazLi ปีที่แล้ว +7

      @@heretolevitateme you're not wrong but the windows xp had a lot of viruses because the lack of updates, internet was slow and iirc there's not built in update system, i remember formatting my windows xp every week, it was a standard procedure for normal users

    • @dfs-comedy
      @dfs-comedy ปีที่แล้ว +17

      It's true that "normal" users cannot install or administer Linux. However, they can certainly *use* it just fine. My late Mom's PC ran Linux because I refused to support Windows, and she had no issues with it. My non-technical sister's PC also runs Linux for the same reason, and she has no problem using it.

    • @meatshoolstevenson9337
      @meatshoolstevenson9337 ปีที่แล้ว +4

      There are distros made for beginners, like LM

    • @Curt_Sampson
      @Curt_Sampson ปีที่แล้ว +16

      Depends on what you consider a "normal" user, and what you're willing to believe that they can do. As a developer myself, the largest barrier to "normal" users using developer tools has been other developers who insist that such "normal" users will never be able to use those tools and we have to spend massive amounts of time writing less powerful GUI stuff.
      Yet I had a co-worker who couldn't even use a spreadsheet doing HTML updates and committing them to a revision control system in just a week or so.
      "Normal" users just need appropriate support, and developers that are willing to help them use the tools, rather than do everything they can to prevent them from using the tools.

  • @ukrdima
    @ukrdima ปีที่แล้ว +95

    At the end of the day, most companies prefer giving you Macs of Windows PCs due to ease of applying restrictions (like denying you sudo/admin rights) and installing their spyware :(

    • @QDSGames
      @QDSGames ปีที่แล้ว +13

      Restrictions aren't inherently bad or security reasons. But I agree. Active directory and Exchange are easier for admins to handle.

    • @ukrdima
      @ukrdima ปีที่แล้ว

      @@QDSGames true

    • @Watchandlearn91
      @Watchandlearn91 ปีที่แล้ว +15

      Yep that's why my company only gives us a choice between Windows and macOS. So they can install their corporate malware on the laptop.

    • @Winnetou17
      @Winnetou17 ปีที่แล้ว +9

      @@Watchandlearn91 Yeah, I'm the same problem. We were initially a smaller company, which allowed Linux. Then we got bought by a bigger company, now no more Linux. FML.

    • @SahilP2648
      @SahilP2648 ปีที่แล้ว +7

      Yes but it's mostly because Macs and Windows have defined industry standards for security like Touchid, TPM keys, Windows hello, Bitlocker etc. which Linux doesn't have. The only way to encrypt Linux is using a password which encrypts the whole drive like Bitlocker, but it's not integrated to use biometrics, so ease of use is thrown out the window, not to mention migration to a new laptop/setup can be a pain in the a** too. And then there is the non-existent driver support. I tried installing 3 different Linux distros on my personal Lenovo Yoga Carbon laptop which has a 90hz screen. Either I could only use 60hz, or I could use 90hz but there were issues with the scheduler somehow (on pretty much any workloads it would freeze up the UI and would hang completely after some time).

  • @guillaumef9313
    @guillaumef9313 ปีที่แล้ว +48

    Something to add is the fact that if you want to work on a specific framework, there are high chances that you can start without downloading the said framework because it is already there on your system as dependency for other programs. That is usually not the case for Windows and MacOS because apps are shipped as standalone (apps don't share dependencies more like an appimage for Linux)
    Moreover compile time is smaller in comparison to other OS.

    • @TheLinuxEXP
      @TheLinuxEXP  ปีที่แล้ว +3

      True!

    • @abigalebrawl9956
      @abigalebrawl9956 ปีที่แล้ว

      I really want to get started with linux, but I'm not sure of which distribution to use, I'm familiar with Ubuntu, but the one in the video is very appealing. What is it called? debian? Gnom?

    • @geordan6740
      @geordan6740 ปีที่แล้ว +1

      ​@@abigalebrawl9956looks like he used multiple distros but all had gnome as desktop environment. I saw fedora, Debian and Ubuntu. It doesn't really matter what distro you choose. Linux is linux and it's customizable and can be whatever you want it to be. If you're new, I'd stick to ubuntu, mint or fedora. Depending on what kind of use you expect. My issue with ubuntu is that it comes with snap which in my experience with Firefox was just inferior to the non snap version. Even flatpaks aren't that great but they have their use.

    • @abigalebrawl9956
      @abigalebrawl9956 ปีที่แล้ว

      @@geordan6740 thank you very much, really apreciate It 😁😁😁

    • @cat-.-
      @cat-.- ปีที่แล้ว

      I love how apps are standalone one macos, so much less headache
      I hope more apps are packaged with deps in them

  • @krishnaSagar69
    @krishnaSagar69 ปีที่แล้ว +137

    The only reason why people are stuck with windows is it's software support

    • @cameronbosch1213
      @cameronbosch1213 ปีที่แล้ว +23

      My theory is that the more things move to the cloud based app model, the less apps will be dependent on Windows.

    • @jonny11bonk
      @jonny11bonk ปีที่แล้ว

      @@cameronbosch1213 But more money will be asked for those Cloud-based applications. Monthly subscriptions suck ass. For the games, it's just a different story.

    • @jarod1701
      @jarod1701 ปีที่แล้ว +7

      That‘s a very good reason, don‘t you think?

    • @ordinaryhuman5645
      @ordinaryhuman5645 ปีที่แล้ว +27

      It's not that Windows supports the software, but that the software was developed targeting Windows.

    • @krishnaSagar69
      @krishnaSagar69 ปีที่แล้ว +3

      @@ordinaryhuman5645 that's what I meant btw

  • @IgorEngelen1974
    @IgorEngelen1974 ปีที่แล้ว +67

    Just slightly related but personally I think it's a very nice trend. Since Oracle decided to make some licensing changes for Java we receive a lot more deliveries from vendors with Open JDK based JREs.

    • @wWvwvV
      @wWvwvV ปีที่แล้ว

      Where can I read about the Oracle Java license changes? Isn't that decades ago? OpenJDK is the Oracle Java reference implementation, since they took it over from Sun Microsystems. You sound like OpenJDK is independent of Oracle, it is not.
      When the license changed in the past, our company moved away from Java. We still use Java, but it's more a burden. Old complex code, difficult to maintain or to replace.

    • @IgorEngelen1974
      @IgorEngelen1974 ปีที่แล้ว

      @@wWvwvV i know Oracle, amongst other companies are involved in OpenJDK but it's free and open-source

  • @TimoSluis
    @TimoSluis ปีที่แล้ว +191

    Regular Visual Studio (not Code) is not available on Linux unfortunately, its a great IDE and really difficult to switch from since it has all the essential tools integrated in a single package. I personally dont use it anymore but that was something I really had struggles stepping away from

    • @TheLinuxEXP
      @TheLinuxEXP  ปีที่แล้ว +50

      Rider does the job pretty well!

    • @TimoSluis
      @TimoSluis ปีที่แล้ว +48

      @@TheLinuxEXP it's just a shame they don't offer a free tier like VS Community Edition, but I agree it's a great IDE!

    • @pwhv
      @pwhv ปีที่แล้ว +17

      jetbrains ide's are a good alternative

    • @gridlocdev2023
      @gridlocdev2023 ปีที่แล้ว

      Highly recommend JetBrains Rider, I switched to Rider after moving away from Windows and haven't really found a need to look back. The IntelliJ tooling itself with type-ahead and language support is very high quality, it has a huge plugin ecosystem since there are a whole ton of well-supported plugins (since they're usually cross compatible with the other IntelliJ editors), and it also has configurable keyboard shortcuts/themes (including a fully Visual Studio-compatible keymap) which make it super easy to transition.

    • @Jel.Awesh.M
      @Jel.Awesh.M ปีที่แล้ว +6

      I am .NET dev and I am facing the same problem so still using Windows due to that, for other case Linux goes very well.

  • @scifino1
    @scifino1 ปีที่แล้ว +27

    Actually one big IDE, that is not available on Linux, is Microsoft Visual Studio (not to be confused with the text editor, that is named Visual Studio Code).

    • @toby9999
      @toby9999 ปีที่แล้ว +7

      Precisely but Linux fanboys always come up with their alternates which never really cut it. I've been using VS since 1996 and I still love it for C++ development.

    • @quademasters249
      @quademasters249 ปีที่แล้ว +1

      @@toby9999 Same. Nothing compares to VS.

    • @Vexxel256
      @Vexxel256 ปีที่แล้ว +2

      Kdevelop is inarguably better

    • @mariandecker3942
      @mariandecker3942 ปีที่แล้ว

      @@toby9999 CLion at least let's you debug the RAM on embedded devices

  • @xKB616
    @xKB616 ปีที่แล้ว +103

    As someone who isn’t a developer, just someone curious about technology, I’ve always heard Linux is better for programming, but with little explanation except for “because”. Thanks for this video for a better explanation than “because”. Keep up the good work, Nick!

    • @princesa_lina
      @princesa_lina ปีที่แล้ว +3

      yeah same thing for me, never really knew why

    • @bramfran4326
      @bramfran4326 ปีที่แล้ว +2

      For me, Linux is better for coding because, as mentioned in the video, they are flexible. Flexible and primitive, I would add. You have command line, which works for every software that will ever exist and you want to make. Flexible also applies to user interface, you can also customize your coding experience (important, because you are going to do a lot of work with that computer, it is your working environment). All of this comes at the cost of user-friendliness.

    • @Sammysapphira
      @Sammysapphira ปีที่แล้ว +14

      It's not really better at all. They're just different.
      Linux is better at hosting servers because you can make it as barebones and minimal as possible so that it can spin up and down on the drop of a hat.
      The only reason people think linux is better than windows is because you can run and code with linux on a literal potato from 15 years ago, while windows is "Bloated" (see: fully featured). Poorly configured linux distros by less than experienced linux users has been the cause of tremendous amounts of hassle and pain when things would 'just work' on windows.

    • @bramfran4326
      @bramfran4326 ปีที่แล้ว +4

      @@Sammysapphira I confirm (and feel 😟) your last sentence.

    • @softbubble_
      @softbubble_ ปีที่แล้ว +6

      As a computer science student who has used Linux for 2 years I might want to add that most of the reasons he mentioned don't really matter. The only thing that differs is availability of some Linux only tools like pyenv. But with WSL, even that problem is solved.

  • @floppa9415
    @floppa9415 ปีที่แล้ว +81

    Definitely one of the best advantages of developing on Linux is that many bleeding edge technologies are available first on Linux - recently I remember GraalVM and Docker for example. However I recently really fell in love with Powershell for setting up my dev environment and automating tasks.

    • @pwhv
      @pwhv ปีที่แล้ว

      microsoft offers powershell for linux, google it if you want

    • @tschorsch
      @tschorsch ปีที่แล้ว +3

      Powershell in Linux? I installed it but never used it. How is the experience? Does it mesh well?

    • @victor1882
      @victor1882 ปีที่แล้ว +7

      @@tschorsch it does, and works really well most of the time, but you can encounter issues running commands made for shell like when using the input redirection operator ( < ) that Powershell weirdly doesn't support

    • @pwhv
      @pwhv ปีที่แล้ว

      @@tschorsch works like in windows, i don't use it but the software is there

    • @bufanda
      @bufanda ปีที่แล้ว

      I personally use ansible to setup my environment even on my machine and most in my team also take my playbooks to setup their environments up

  • @kuhluhOG
    @kuhluhOG ปีที่แล้ว +8

    2:55 While it's an advantage to get started, after a while you normally transition to language specific package managers because they have advantages over system package managers (e.g. it helps to avoid the "it works on my machine"-syndrome).

    • @Gramini
      @Gramini ปีที่แล้ว

      That depends on what you try to install. Those language specific managers tend to be only used for managing a project's dependencies.

    • @kuhluhOG
      @kuhluhOG ปีที่แล้ว

      @@Gramini Yes, obviously, and we are talking about development.

    • @SahilP2648
      @SahilP2648 ปีที่แล้ว +1

      @@kuhluhOG Well nowadays you have docker and env which are better than using something like pip. Although pip is not universal and it will not install everything under the sun. pip is mostly useful for projects like the guy above said, but not all languages or frameworks have something like pip.

  • @chlorobyte_projects
    @chlorobyte_projects ปีที่แล้ว +10

    I'll mention the compile speed advantage as well. When compiling software, you will usually spawn hundreds to thousands, possibly tens of thousands of processes during the full run. The Linux kernel is just much more efficient at spawning and managing processes or threads, IIRC that sometimes results in better game performance as well.

    • @SahilP2648
      @SahilP2648 ปีที่แล้ว +2

      Linux and MacOS both have better schedulers than the dogshit Windows. I have already switched to MacOS as my personal project machine completely, and I am using an M2 Max 64GB MBP for my job and I am loving every second of using Macs. Earlier the cost just wasn't justified but with ARM, battery life and the smoothness, seamlessness of it, Macs are the best for development.

  • @pabblo1
    @pabblo1 ปีที่แล้ว +20

    Probably the only downside to Linux is that some programs don't work on Linux.
    For example, if you want to code in C# on Windows or MacOS, you can rely on regular Visual Studio (not Code, mind you). Meanwhile, regular Visual Studio doesn't have a Linux version, so you have to rely on alternatives, like Rider.

    • @gorudonu
      @gorudonu ปีที่แล้ว +2

      Visual Studio on mac is completely different program than VS on windows

    • @kneza96BG
      @kneza96BG ปีที่แล้ว

      i am actually in this scenario, i want to code in c# but do not want to go to windows. That being said, i heard people say that Rider is amazing, it is more lightweight and even has integrated database manager, unlike vs.

    • @hero3616
      @hero3616 ปีที่แล้ว +2

      @@gorudonuvisual studio on mac is dead

    • @gorudonu
      @gorudonu ปีที่แล้ว

      @@hero3616 guess I have outdated knowledge then but that's even better

    • @rusi6219
      @rusi6219 ปีที่แล้ว +2

      Real men code on notepad

  • @Broxerlol
    @Broxerlol ปีที่แล้ว +28

    I know your audience is heavily Linux biased but in my 6 years as a dev I’ve only encountered a few devs that choose to use Linux. They seem to run into issues more frequently, which may be due to their own doing. Most devs I’ve worked with choose MacOS. I’ve been able to choose my laptop and OS at all but one job. I develop .NET mostly and I choose MacOS for my primary machine. A lot of that is due to how efficient their silicon is.

    • @TheLinuxEXP
      @TheLinuxEXP  ปีที่แล้ว +12

      I never met a dev that would prefer using Windows if they weren’t forced to do it in 12 years

    • @hero3616
      @hero3616 ปีที่แล้ว +12

      In 23 yrs of professional development I haven’t seen one dev using GNU/ Linux tho. I’d say I’ve met at least 500 devs.

    • @SahilP2648
      @SahilP2648 ปีที่แล้ว +1

      @@hero3616 mostly has to do with driver issues, migration (upgrading to a better machine), integrated security (like Bitlocker, Windows hello, Filevault, Touchid). If you know how to setup Linux correctly and know how to migrate correctly, it might be good, but companies still can't let you do that since it's not integrated.

    • @briumphbimbles
      @briumphbimbles ปีที่แล้ว +2

      Exactly this.

    • @briumphbimbles
      @briumphbimbles ปีที่แล้ว +1

      @@hero3616 One of my previous companies had a reasonable cohort vim on linux devs.
      That said they all migrated from the same company.

  • @andynn6691
    @andynn6691 ปีที่แล้ว +21

    Ah, yes! The best thing about working in Linux is the package manager. Also, the worst thing about Linux are all the package managers.

    • @SahilP2648
      @SahilP2648 ปีที่แล้ว

      apt install -y everything

    • @1234567qwerification
      @1234567qwerification ปีที่แล้ว

      And the worst thing about Windows is missing the package managers 👽
      (Yes, I know, there is the chocolatey (or how is it spelled?) and something else, but one have to install it first.)

    • @SahilP2648
      @SahilP2648 ปีที่แล้ว

      @@1234567qwerification the cringiest thing about Windows is the shell/environment. That's why developers use Mac. For this single fact alone, not even mentioning the security, performance, efficiency etc. Unfortunately developers are stuck to a life long subscription of buying the next Mac but at least Apple doesn't squander the money we shower them with. That's not a consolation of any sort. I cringe when I think about the $3,700 MBP my company got for me. I know it is kind of necessary given the size of our project and well... Android studio being Android studio and browsers eating up RAM like black holes. It is what it is I guess. I am hoping for ARM/RISC-V based Linux laptops which are efficient, performant, light and have things like security and migration all sorted out. Not sure if that can happen in my lifetime but one can hope.

    • @aRandomPerson...
      @aRandomPerson... 7 วันที่ผ่านมา

      Haven't had any problems with pacman so far

  • @Chuukwudi
    @Chuukwudi ปีที่แล้ว +20

    Been a linux fan for long. But, TBH, I think I am more productive on windows. I don't spend time searching solutions for why my WiFi stopped, or no sound coming or why something isn't working well. I still prefer linux servers.

    • @bryandelomejor
      @bryandelomejor 10 หลายเดือนก่อน +1

      Really?, I have been using arch since Last year, and everithing is OK. Everithing is plug n play.

    • @miloradowicz
      @miloradowicz 9 หลายเดือนก่อน +1

      ​@@bryandelomejor Linux on a laptop is a pain in the ass to get it all going.

    • @nateriver6456
      @nateriver6456 8 หลายเดือนก่อน

      @@miloradowicz its not. I have been using Arch on my laptop since 2 years and it works much better than it does on Windows.

    • @falajose3080
      @falajose3080 4 หลายเดือนก่อน

      @@miloradowicz Don't think this is true in 2024. Linux mint and many other distros offer a complete experience

    • @symphony22
      @symphony22 4 หลายเดือนก่อน +1

      Plug n play? Arch? 😂

  • @sakibshadman1448
    @sakibshadman1448 ปีที่แล้ว +3

    The biggest advantage of Linux is:
    1. run any dev tool on local machine by copy pasting basic command straight from docs.
    While in windows things can be tricky to run.
    2. All the tools becomes available in Linux or Mac first. Then windows package is released later.
    3. All the devs are either using Linux or Mac so problems get addressed and replicated easily

  • @poglavicas
    @poglavicas ปีที่แล้ว +18

    20+ years of development on Linux. Hope for 20 more :)

    • @daumienebi
      @daumienebi ปีที่แล้ว

      How old are you ? 🙂

    • @breathforvoid
      @breathforvoid 5 หลายเดือนก่อน

      Will stay alive to 35 for that

  • @temari2860
    @temari2860 ปีที่แล้ว +27

    Some IDE's only come as a flatpak and unfortunately flatpaks for IDE's are troublesome for now, because you need access to your OS runtime. Also another big IDE that is loved by many and is missing from Linux is the Visual Studio (not to be confused with Visual Studio Code).

    • @Jp-ml3jo
      @Jp-ml3jo ปีที่แล้ว +5

      I suggest you to use snaps for IDEs

    • @valshaped
      @valshaped ปีที่แล้ว +5

      Containerization is great on servers, and absolutely dogsit for desktops. Flatpak, snap, doesn't matter what it is, it's going to make you pay in time and frustration.

    • @cat-.-
      @cat-.- ปีที่แล้ว

      I use a headless vm on my machine and all development happens on that vm, which has regular ubuntu on it, host system is fedora silverblue and basically has nothing except libvirt and ide, there is 0 system rot this way

  • @itskweegee
    @itskweegee ปีที่แล้ว +13

    I think many 'advantages' you mention in this vid are shared across macOS as well, the bash script, built-in, different terminal (I use fish on my Macbook) etc. Basically I'd see those as some common good things of having a UNIX-based OS, I still am not convinced to switch at this point as a developer.

    • @adialwaysup8184
      @adialwaysup8184 ปีที่แล้ว +1

      If only macOS had a decent package manager. Homebrew fills the gap, but the packages provided leave a lot to be desired. It was a pain getting emacs working with homebrew for some reason.

    • @stepansamankov7129
      @stepansamankov7129 ปีที่แล้ว +1

      fish isn't a terminal,it is a shell

    • @a0flj0
      @a0flj0 ปีที่แล้ว

      It's difficult to say what specifically makes Linux more developer friendly. I had to use OSX for a year at work - fortunately not for development. You'd need to pay me very much to use it for development. I find it even worse than Windows with WSL. In some way, I felt like the fancy UI was constantly getting in the way.
      OTOH, I once did an experiment of setting up KDE so it resembles OSX as good as possible. I got quite close to replicating a OSX desktop completely, if that's your cup of tea. That, coupled with the way better package management and wealth of available packages make me doubt that there's any development scenario in which OSX is objectively more convenient for development than Linux set up the way you like it.

    • @lucajacovig8159
      @lucajacovig8159 ปีที่แล้ว +2

      Yeah guy in the video probably has never tried Mac os, he doesn’t know what he’s talking about, I switched from Linux to Mac os and I’m not going back !mac os is better overall and superior to Linux and windows

    • @lucajacovig8159
      @lucajacovig8159 ปีที่แล้ว

      Development on Mac os is fine , I’m a developer too and I use Mac os.Whats wrong with it ?

  • @JodyBruchon
    @JodyBruchon ปีที่แล้ว +11

    I use it because POSIX is a remarkably stable AND RICH set of interfaces. Porting jdupes to Windows wasn't too hard thanks to MinGW but getting Unicode working was a horror show. I actually wrote a lot of porting helper stuff that's would eventually become a separate library called libjodycode. Things like converting the Windows epoch time to the UNIX epoch time, converting UTF-8 to UTF-16 which is what Windows NT kernels have used internally since NT was created, and so on. Porting to macOS is often just a matter of writing around missing or slightly different features or interfaces.

  • @N....
    @N.... ปีที่แล้ว +1

    Linux absolutely does a lot of things better than Windows, but as a professional who spends a lot of time developing on Windows, I couldn't help but notice some glaring inaccuracies and a general lack of understanding of how developers normally operate on Windows.
    2:20 Windows already has an ecosystem of package managers, and you even brought up winget yourself, which is already installed by default in Windows. Package managers aren't really needed for developing on Windows though since it's better to just build from source regardless of OS. Windows lets you use whatever compiler toolchains you want with very loose coupling to the OS, and package managers generally don't have binaries for all these options. Trying to use a different compiler toolchain on Linux is a much more painful experience. Projects that aim to be cross platform work just fine by building from source as well, so there's no need to tell people to go figure out how to acquire software or packages on their OS, no need to run random commands or unsigned scripts to configure or set up a development environment etc - on Windows you just install the compiler toolchain and IDE of your choice and build the project. The idea that you have to share configuration data or even replicate an entire OS just to be able to develop for a project sounds to me like an admission of poor development practices. If your project is multiplatform and expected to be used by a wide variety of people, and you can't even get it running in the debugger without making drastic changes to your development environment to match some uniform configuration, that's a failure from the start. It's much better to have every developer working on a different platform with different development environments because it makes it much more likely that portability issues and happenstance code will be caught and fixed early on in the development cycle. Naturally, building from source dramatically reduces the friction here, and bypasses any need for package management. Just checkout dependencies as git submodules and you can get security patches right away, and you still have full ability to choose between static and dynamic linking. This approach also makes you ready for packaging into the various packaging formats Linux supports, with no need to worry about what's installed on the host OS, as well as porting to console platforms if you're developing a game.
    6:05 Windows Terminal also lets you add custom command prompts and even set them as default, so you don't have to work with cmd or PowerShell at all on Windows. Linux is better for letting you entirely replace the default terminal app itself, but it's inaccurate to imply that Windows doesn't have the next best option.
    6:50 Windows already has built-in SSH as well, installed by default, with a full guide on how to use it available online from Microsoft. Seriously, open a terminal on any Windows 10 or 11 device and type ssh and hit enter. It's there. Even curl comes installed by default on Windows. Implying that you have to install these manually is outdated information. It's fair to say that Linux distros tend to preinstall a wider array of tools that are useful for development, just be careful about which tools you pick specifically, since you may be surprised to find they're already preinstalled on Windows too.
    7:57 you forgot to mention Visual Studio is missing from Linux, it's entirely different from VS Code. This is absolutely Microsoft's fault though and I'm not happy about it being missing. I guess Visual Studio is the Xcode of Windows, except Xcode is significantly worse.
    8:40 Windows is also available as free virtual machines, pre-configured to run properly as a virtual machine without you having to manually bypass anything, with development software preinstalled as well. Installing Windows manually is a waste of time.
    The rest of the video is fine since it's just usual non-development Windows vs Linux stuff that is easily agreeable. I mainly just take issue with the lack of research on how Windows developers actually develop.

  • @sterkriger2572
    @sterkriger2572 ปีที่แล้ว +10

    I think macOS is a good compromise since if you want to develop for iOS using a Mac is almost mandatory and homebrew is very good

  • @darkwoodmovies
    @darkwoodmovies ปีที่แล้ว +2

    Since I started working professionally, I've never encountered a single engineer that uses anything other than a MacBook Pro (it's also the default laptop they send you at every company I've worked at). Linux always runs on the prod servers and such, but ain't nobody installing Ubuntu on their laptops.

  • @Rohinthas
    @Rohinthas ปีที่แล้ว +10

    Okay so I'm in the "no choice, company wants windows" camp and between chocolatey, wsl, docker, vms, and powershell there is a bunch of ways to make yourself feel more at home. I'd still prefer to stay on Linux, but as long as my company provides the computer and actually takes responsibility for keeping it running I will survive. Plus, our product is mostly used on windows, so we have to know our way around it anyways.
    The reason my company insists on using Windows has actually more to do with MS Teams (and all its plugins) and Outlook being our primary ways of communicating and organizing. We are not just a software development company, we have loads of other departments and while I think it would be possible to switch them to Libre Office, I dont think there is a a replacement for Teams that wouldnt require a massive retraining of 50+ people with little to no functional gain. When it is "maxxed" out on licenses and plugins, Teams is pretty impressive (minus the classic annoyances like not being able to mute someone just for yourself because MS didnt future-proof their audio-stream mixing...)
    Yes this is a cry for help. If you have used Teams professionally for a while and switched to something better in the OS space, please let me know! :D

    • @LA-MJ
      @LA-MJ ปีที่แล้ว +2

      What?! Every minute I spend on Teams is dreadful. There is like a billion alternatives depending on your usecase, so describe it

    • @katrinabryce
      @katrinabryce ปีที่แล้ว +4

      I'm pretty sure the accounting department would struggle to switch from Excel + PowerQuery etc to LibreCalc.

    • @berndborte8214
      @berndborte8214 ปีที่แล้ว +2

      We're heavily invested into the Microsoft ecosystem for communication etc. and I'm just using Chromiums PWAs. Outlook, Office, etc. nowaday run pretty well in a browser. I'm rarely using Teams, but whenever I do so, using chromium works fine.
      We've been using teams a few years ago and switched to Slack. I find it much more intuitive and comfortable. It seems to offer way more integrations as well. I'd never want to go back. But I guess you already know that one and have reasons, why you're still looking for alternatives.

    • @Rohinthas
      @Rohinthas ปีที่แล้ว

      ⁠@@LA-MJyeah, its by no means perfect, but I wouldnt call it dreadful either. It's possible to create tabs for every Team, that can be used as shared data storage, or for (slimmed down) versions of Excel, ToDo (Kanban style) and OneNote inside of Teams, or to create smaller automations, plus a bunch of other things. None of this stuff is particularly impressive on its own, but the fact that they can all be used within the Teams-app and be equally accessible for everyone who is part of the Team is something I was positively surprised by. The integration actually works reasonably well and if you need to do more dedicated work, a lot of it can be exported to any of the dedicated apps with a single click... So, the use-case is pretty extensive: an app that can be a Kanban-board, a shared storage, a spreadsheet, a notebook, a messenger and an alright video-call app at once. And you can use the account for authentication on many other platforms. Plus, when considering this you cant forget that Microsoft does this need little trick where they lock you in with incremental charges: You already use Windows, well Office wont cost you that much more, and if you got office, Teams plugins wont be much more. And since you need MS accounts anyways, why dont you use our authentication tools as well? And by the way: Azure... there is no real line to draw, where the use-case ends because you can tag on so so much, all controlled through a single hub and with a single support hotline.
      Every product individually is not that great but together they cover a lot of ground and everyone is familiar with parts of it, so the hurdles for integrating more are relatively small and I think a lot of companies go for that.
      (This is not an endorsement, I would be fine without any of that, just trying to describe the reasoning)

    • @Rohinthas
      @Rohinthas ปีที่แล้ว +2

      @@katrinabryceYes, very fair point actually, although I have to admit that I dont know how far LibreCalc has come, because I'm not a power-user of either!

  • @AK-vx4dy
    @AK-vx4dy ปีที่แล้ว +1

    @14:58 Current .NET (5,6,7,8) and .net core (1,2,3) are fully multiplaform, if some one writes in old .NET Framework 4.8 or older are binded to Windows

  • @MegaManNeo
    @MegaManNeo ปีที่แล้ว +25

    I like VisualStudio (not Code) for allowing easy creation of GUIs.
    I'm terrible as a programer thus I didn't bother to spend much more time on it but when I had someone guiding me, VS made it very easy due to how coding in that IDE works.
    Wish Linux had that tbh.

    • @abanoub7002
      @abanoub7002 ปีที่แล้ว +2

      Win32API is pretty bad for uis, if you run gnome you can use builder or generally glade for GTK based apps, as gtk is a lot better than win32 api is for ui

    • @MegaManNeo
      @MegaManNeo ปีที่แล้ว

      @@abanoub7002 Does that IDE have a drag&drop UI generator tho?

    • @psychotrout
      @psychotrout ปีที่แล้ว +1

      @@abanoub7002 when was the last time you made a UI on Windows? Ever heard about Uno, WPF, MAUI ?

  • @bpavuk
    @bpavuk ปีที่แล้ว +20

    Just started to watch the video, but 100% agreed

    • @st0rmrider
      @st0rmrider ปีที่แล้ว +1

      Do you really need to see the video to agree?

    • @bpavuk
      @bpavuk ปีที่แล้ว

      @@st0rmrider nope)

  • @Neon_Music
    @Neon_Music ปีที่แล้ว +3

    0:04 Which distro is he using?

    • @davidsantana4276
      @davidsantana4276 4 หลายเดือนก่อน +1

      I could be wrong but that looks like Ubuntu. It’s easier to know what DE he’s using, and this looks like GNOME

    • @jupiterapollo4985
      @jupiterapollo4985 4 หลายเดือนก่อน

      @@davidsantana4276 I think he uses Elementry OS

  • @catalinvasile9081
    @catalinvasile9081 ปีที่แล้ว +3

    Visual Studio, THE IDE on Windows, is missing on linux unfortunately

  • @oliverpolden
    @oliverpolden ปีที่แล้ว +11

    I used Linux exclusively as a professional for 12 years. I did like it and I still do like it when I come back to it. There are quite a few things I miss. But yet, I now prefer to use MacOS and have done for 8 years. The experience of using it day to day, for hours on end I find more pleasant. Mainly because the trackpad is amazing. I don’t like using a mouse because they need space and can’t be used well away from a desk and trackpads that aren’t Apple I’ve never found to work anywhere near as well.

    • @laptoprelaks
      @laptoprelaks ปีที่แล้ว +2

      no cap for the trackpad

    • @oliverpolden
      @oliverpolden ปีที่แล้ว

      @@laptoprelaks no cap?

    • @duckisduckcluck2258
      @duckisduckcluck2258 ปีที่แล้ว +5

      Exactly right. Mac is a thoughtful mix of casual features on top of a solid Unix environment with tons of community support, potent offering for devs of all kinds, be it web dev or systems dev or ML, even gamedev with Godot and the like getting traction on Mac. I have a strong suspicion this creator isn’t really a developer, and is just stoking the fire of OS tribalism for engagement, as half of the comments here are folks politely disagreeing with his points in the video.

    • @nyan4x
      @nyan4x ปีที่แล้ว +1

      ​@@oliverpoldenno cap on a stack sheesh

    • @oliverpolden
      @oliverpolden ปีที่แล้ว +1

      @@nyan4xreally helpful, thanks.

  • @leeames9063
    @leeames9063 8 หลายเดือนก่อน +1

    I started using Ubuntu around 2010-2011. Although while I was in the Army, I was introduced to a Linux OS as it was what the AFATADS computer used back when I was computing firing data for artillery. That was around 2000-2001. But I decided to go all in around 2014 by stripping out the windows OS out of my HP laptop and installed Bionic Beaver 18.04 LTS. I have since upgraded to Jammin Jellyfish 22.04 LTS. For me, the best way to learn was to just do it. I am still learning and still consider myself a noob however in the small hick north Texas rural town i live in, I am like one of maybe a few people who uses a Linux OS in the whole county. The command line hasn't intimidated me like it use to when I first started. And I am still using the same HP laptop (its like 15 years old). When I do fine a suitable replacement for my laptop, I will use this old one as a server and home cloud storage and fumble my way through that experience.

  • @ZILtoid1991
    @ZILtoid1991 ปีที่แล้ว +3

    One another thing where Linux is usually worse is debugger GUIs. Windows has a bunch of debuggers with GUIs, while the Linux ones I find for Linux are near useless. I need debuggers to do simple things easily, and I don't think my usecase for them needs massive script files for debugging.

  • @snek_john_titor
    @snek_john_titor ปีที่แล้ว +2

    10:35 What's that setup?

  • @syrefaen
    @syrefaen ปีที่แล้ว +5

    It is nice of linux to include gcc & python. I did have issue compiling something for windows, from wsl & linux native. Had to use msys2. QT is a fine UI framework if that whats stopping migration.

  • @heavy0119
    @heavy0119 ปีที่แล้ว +1

    I use macOS as my daily driver is because it's Unix base makes it both stable and I automatically have a set of Unix tools and then Homebrew lets me install the few tools that aren't installed by default.

  • @matthewstott3493
    @matthewstott3493 ปีที่แล้ว +7

    Why? Microsoft were losing massive numbers of developers who were switching from Windows to macOS or Linux for Cloud development. Things were rather painful before WSL/WSL2, the updated Windows Terminal, and native OpenSSH, etc. Personally, it's still not quite perfect but it's a vast improvement over the situation before these improvements to Windows.

    • @MiningForPies
      @MiningForPies ปีที่แล้ว +1

      on neckbeards actually code on a Mac. You'll get a lot of front enders who wouldn't know an algorithm from an elephant, but it's not that popular really.

    • @SahilP2648
      @SahilP2648 ปีที่แล้ว +5

      @@MiningForPies not sure what you mean. It all boils down to three things:
      1. Don't use Windows, it's a literal dumpster fire
      2. Linux is great but it's messy as hell
      3. MacOS is a version of Linux with some benefits on top, and it's not messy
      With the advent of Apple silicon, I am loving my time developing on my M2 Max 64GB work MBP lol. If there was one word to describe it: sublime.

    • @MiningForPies
      @MiningForPies ปีที่แล้ว

      @@SahilP2648in 25 years of developing I’ve only ever worked with front enders who use mac for coding.
      I’ve worked with developers that bootstrapped windows onto macs to do their backend coding.
      I love my M2 MacBook Air and do code on it myself, but I’m the only one I know, and when a Linux distro supports apple silicon then I’ll probably put that on the machine itself

    • @SahilP2648
      @SahilP2648 ปีที่แล้ว +1

      @@MiningForPies that's not likely to happen. I don't know what was required for Windows to work with Bootcamp but maybe Microsoft had to work directly with Apple to enable that. I at least am not aware if Linux was installable on Macs pre-apple silicon, but that kind of defeats the purpose of owning a Mac where everything works seamlessly. There will be a myriad of driver issues if Linux is somehow installable and runnable on Apple silicon and it won't have as much security as MacOS. Also one of the things I love about MacOS is the custom file system. Probably the best out of all. The speed of copying files, even small ones is the best I have seen (not the best at deleting stuff though, which could be one of the side effects of the inner workings of it).

    • @MiningForPies
      @MiningForPies ปีที่แล้ว

      @@SahilP2648 it was dead easy installing windows on the intel Mac.
      If we don’t get Linux I can live with Mac OS

  • @Dezo365
    @Dezo365 ปีที่แล้ว +1

    0:00 THE DOCK IS NOT CENTERED AHHHH-

  • @harogaston
    @harogaston ปีที่แล้ว +3

    Native Docker support is paramount to a vast number of developers also and that is only achieved on Linux.

  • @wastedkafir9134
    @wastedkafir9134 11 หลายเดือนก่อน +1

    easier because you are mostly writing console based application as opposed to a GUI based OS means you do not have to learn Win32 or MFC assuming you are using c++

  • @HowToLinux
    @HowToLinux ปีที่แล้ว +6

    This is the first time I heard somebody say PowerShell syntax is more natural than bash xD

    • @TheLinuxEXP
      @TheLinuxEXP  ปีที่แล้ว +2

      They’ve really improved it over the years!

    • @thomassynths
      @thomassynths ปีที่แล้ว

      These days, I just use an AI to write my shell code. If it's of any complexity, I would rather use JS or python.

  • @UsamaKenway
    @UsamaKenway ปีที่แล้ว +1

    Server side : Linux only
    daily life Development: Windows has ( Linux, docker, games, Best UI, most stable multiple screen displays, advanced mature control panel out of the box )

  • @MiningForPies
    @MiningForPies ปีที่แล้ว +9

    Been developing for 25 years. Of all the developers I’ve worked with (hundreds and hundreds) only one other used Linux 😕

    • @hero3616
      @hero3616 ปีที่แล้ว +3

      23 yrs here I haven’t seen one 😆

    • @heinrichschiller4673
      @heinrichschiller4673 ปีที่แล้ว +1

      Because you find most good Support for Dev only for Windows and MacOS but not for Linux itself.

  • @suryabejibun
    @suryabejibun ปีที่แล้ว +2

    as a developer who don't like remembering things and don't like typing a lot of command, is there any tools to help structuring command on terminal like when you typing code in vs code or using command palette? something with quick documentation of each command that I typed in and offer suggestion? Having to look for documentation manually is the only thing that keep making me back to windows

    • @MichaelPlanu
      @MichaelPlanu 9 หลายเดือนก่อน

      Tldr maybe?

    • @Aeroxima
      @Aeroxima 7 หลายเดือนก่อน

      I've been thinking this a lot too. There's too many commands and their arguments to remember, especially for less commonly used things. That just doesn't tend to be an issue in windows. I don't memorize everything about every program I use, I just see the options and decide.

  • @michaelgautier
    @michaelgautier ปีที่แล้ว +12

    Linux is better for software development because the activity of building software is about flexibility and transformation.
    No other system embodies that better than Linux not just on a technological level but on a legal and philosophical level as well.
    I thank you for bringing this topic and this insight to the forefront that others may see it in the accessible and highly relatable way that you’re able to convey.

    • @TheLinuxEXP
      @TheLinuxEXP  ปีที่แล้ว +3

      True! Thanks for the kind words, I appreciate it !

  • @dannyshaw4057
    @dannyshaw4057 ปีที่แล้ว +1

    A lot of good points - in addition I would perhaps add the number of tools and the ease of debugging, perhaps not even debugging but being able to have access to how the system is working /proc for example, or seeing code execute using something like radare (which I guess can be done on windows, but with paid for tools).
    Also when you introduce someone to the range of Linux command line tools it provides a good example of just how much power there is in computers sed, awk, grep and many many others.
    (Something I love on both Windows and Linux is when you show someone that scary black terminal, you get the blank stare, frightened the wrong command will erase the world....and then in 10 minutes they are piping commands together and they've forgotten where their mouse is.)

  • @nargyle4382
    @nargyle4382 ปีที่แล้ว +5

    A couple of these are exclusive to Linux, but most of these things apply to MacOS as well if you take 3 minutes to install homebrew. MacOS even uses zsh by default now, and has broader support for commercial software than Linux. You can do a lot with MacOS if you are willing to put in the effort. I find a lot of Linux users try MacOS stock, then complain it is missing too many important features. Like, you use Linux, you are used to manually configuring things. Apply that philosophy to MacOS. Homebrew, yabai for window management, iterm2 or a good rust based terminal, skhd, vim, tmux, etc. There's so much flexibility, and you can still use those commercial apps when needed. Yabai will solve the flaws with window and space workflows, and homebrew is all you really need for a development package manager. If you put in the effort, it's the best of both worlds (other than not being FOSS, which is a big deal to some).

  • @andreaszuber4341
    @andreaszuber4341 ปีที่แล้ว +1

    It's even easier than a script to share the same Linux development environment. With devcontainers you can describe the whole environment directly in your source repo, even with additional services like local database servers that may be convenient for development.

  • @alexaneals8194
    @alexaneals8194 ปีที่แล้ว +4

    It really depends on what you are developing. Most of the code that I write doesn't depend on the OS, but it depends on the database engine. So depending on which database I am writing code for, I use the OS it is installed on. Also, if your writing web apps then you can use any OS, but if you are writing apps targeting a particular OS, it's better to use that OS to develop the app since you can test it with that OS in mind. Since most of the programming I do is maintaining legacy systems for programs written decades ago, I have to develop on the OS the app was written for whether that's Windows or Unix.

  • @wesleydevries7415
    @wesleydevries7415 ปีที่แล้ว +1

    What is the Linux type you’re showing at 10:35 and the one at 10:50 and 11:01? Thanks

    • @Mig27380
      @Mig27380 10 หลายเดือนก่อน

      10:35 and 11:01 I think is a heavily customized KDE desktop, and 10:35 is stock gnome

  • @eddie_8868
    @eddie_8868 ปีที่แล้ว +4

    I personally think it entirely depends on the environment. I used to be a computer science major, and I really liked using Linux for the predominantly Python-centric environment that my classes were at the time. Now I am working in and studying natural resources and we use R. I tried using it with Linux in Ubuntu, Ubuntu-based distros, and Fedora, and all of the made installing package dependencies much more tiring than I have been experiencing in Windows.
    Don't get me wrong, I have enjoyed my time with Linux. I will be returning to it in some capacity after I finish Ecology this semester. I was just simply struggling with dependency loops more than I would have liked when I was supposed to be focused on assignments.

    • @k4piii
      @k4piii ปีที่แล้ว

      Same here

  • @HWCheng
    @HWCheng ปีที่แล้ว +1

    I use Windows because I also need to work on MS Office documentations and mapping SharePoint to local Windows folder makes life easier for me

  • @MPPBobDelaney
    @MPPBobDelaney ปีที่แล้ว +3

    This is a very helpful video. Anecdotally, in 2002, I took a six-year-old Toshiba Windows laptop that my spouse, and on which the hard disk was failing. I took a chance of a new solid state hard disk and installed Lubuntu, a light-weight Linux distro. An old computer that had slowed down to a crawl using Windows just flew with speed and responsiveness using Linux. I manage a number of WordPress sites, and now had a machine that manages WordPress better than Windows. I also am self-taught as a developer. Using PHP is just better in Linux than in Windows. I know C# in Windows, and have always wanted to learn C. Linux has terrific (and free) tools to do so. I've been a Microsoft MVP for ten years in the past, and know the Microsoft environment thoroughly. To speak well of Linux and remain a big fan of how Microsoft does things tells you that Linux definitely has something going for it from a developer's perspective. My current Linux machine will definitely not be my last.

  • @policyprogrammer
    @policyprogrammer ปีที่แล้ว +1

    As an embedded dev, I am constantly debugging strange hardware targets over serial ports, USB devices, various debug adapters, and I need to talk to instruments like multimeters and oscilloscopes.
    This can all be done on Windows but the driver hassle is endless. On osx, it's hit and miss. On Linux, I can always get what I need to work.

  • @anandmahamuni5442
    @anandmahamuni5442 ปีที่แล้ว +9

    Lets not forget about WMs, they have doubled my general productivity, heck I might even throw my mouse outside the window

    • @macethorns1168
      @macethorns1168 ปีที่แล้ว

      What's a WM?

    • @yigitorhan7654
      @yigitorhan7654 ปีที่แล้ว +1

      ​@@macethorns1168Window manager. Things like Qtile, i3, dwm. It's a lightweight way to use Linux desktop without using full desktop environments. But it's for advanced users and might take a lot of effort to learn how to set one up and use it.

    • @SIMULATAN
      @SIMULATAN ปีที่แล้ว

      ​@@macethorns1168the main different is that the average WM is "tiling", meaning per default your windows tile automatically and are side by side. A huge advantage is separating windows into workspaces you can access with a single hotkey. Allows you to hypertask without the overhead needed to figure out where to click to switch to what you want

  • @D4no00
    @D4no00 ปีที่แล้ว +1

    you missed the most important argument why people prefer using macOS instead of linux. All UI engines in linux suck in one way or another, they either are laggy, not configurable or don't support multiple monitors with high resolutions well, this is very important if you work with multiple monitors.

  • @theodoros_1234
    @theodoros_1234 ปีที่แล้ว +7

    Fun fact: PowerShell now has a fair amount of Linux command aliases (e.g. 'ls' is aliased to its PowerShell equivalent). Also, ssh now comes pre-installed on Windows 11 and later versions of 10.

    • @epsi
      @epsi ปีที่แล้ว +3

      Those aliases are one of my biggest annoyances with PowerShell.
      C:\Users\user> rm -rf foo
      {insert long error message}
      C:\Users\user> rmdir /s /q foo
      {insert long error message}
      C:\Users\user> help rm
      {insert long help message}
      C:\Users\user> rm -Rec foo
      I suppose they are helpful when transitioning because you can _help rm_ to get the help page for Remove-Item, but they also mean you need to learn to do things differently, and the pre-existing aliases give a false sense of "I can do this with the commands i already know."

    • @quillaja
      @quillaja ปีที่แล้ว +1

      @@epsi god yes. this is so damn annoying. "rm a.txt b.txt" ... "Remove-Item: A positional parameter cannot be found that accepts argument 'b.txt'." Oh, cause the idiots couldn't make their alias handle multiple positional args ffs.

  • @onhazrat
    @onhazrat ปีที่แล้ว

    🎯 Key Takeaways for quick navigation:
    00:00 🐧 Linux is popular among developers, with 45% using Linux-based systems, making it a competitive choice with Mac OS.
    02:04 📦 Linux's package managers provide easy access to programming languages and libraries, simplifying development setup compared to Windows and Mac OS.
    05:03 💻 Developing on Linux is advantageous for web development because it closely mirrors production environments, enhancing consistency and troubleshooting.
    05:43 ⌨️ Linux offers robust command-line utilities out of the box, making it a developer-friendly choice.
    09:51 🛠️ Linux's flexibility allows developers to choose the right distribution tailored to their specific needs, optimizing performance.
    10:45 🧩 Linux grants extensive customization options, allowing developers to tailor their working environments to their preferences.
    11:28 🔄 Linux offers control over updates and doesn't intrude with ads or default apps, ideal for uninterrupted development.
    12:09 🖥️ Linux may not be the best choice for platform-specific development like Mac OS or iOS, and certain proprietary software may not be available on Linux.
    Made with HARPA AI

  • @agh0x01
    @agh0x01 ปีที่แล้ว +7

    I'm a Linux fan, but it needs to be said that PowerShell's use of objects over raw text like the classic Unix utilities is an advantage.

  • @Winston-fm7qp
    @Winston-fm7qp 7 หลายเดือนก่อน +1

    I switched to Linux (Fedora) on my personal/work laptop and I can't express how wonderful this change has been. Of course, there were a few drawbacks mostly because of the proprietary software I need but Wine and VMs solve most of these problems, especially Wine because you can set it up in a way that's almost unnoticeable that you're running incompatible software.
    And the developer experience is great, its super easy and quick to get started developing almost fresh out of the box in most distros, managing different development environments is also much better than on Windows, and all of the terminal utilities and functions are just so much better and convenient (yes, you can use WSL on windows but it's not the same)
    Even the performance and battery life of my laptop has greatly improved, and on top of that, I can customize anything on my computer to create a unique layout. I really love it, and recommend anyone to try switching

    • @risingmojofilter
      @risingmojofilter 5 หลายเดือนก่อน

      I'm with ya buddy. Switched to Fedora from Mint a few years back and I'm absolutely in love with Gnome now. Best desktop experience I've had in any OS.

  • @milanrastelli4026
    @milanrastelli4026 ปีที่แล้ว +3

    I don't agree with the language support section. I use different version of languages and I always avoid installing it from the distro's repo since it comes with mostly outdated versions!
    Same for the web development section, again the last thing I want to run is to have the same version of Apache/nginx which is available on my Ubuntu LTS
    Also my linux machine distro most of the time is different compare to what runs on servers.
    I do like the fact that Docker/podman runs on the host linux kernel as oppose to running on a VM in Mac/Windows. It means slightly better performance running containers for development.

  • @defcodeOne
    @defcodeOne ปีที่แล้ว

    7:06 This is sorely the issue with big companies. They focus on adding features and changing well established UI's and systems overnight without considering the people who actually use it or might need to support it. I don't know if they need to be seen as pushing out more features to justify upping prices or what.

  • @Smittron
    @Smittron ปีที่แล้ว +3

    Thanks for the video. Well done. It's good to recognize Linux's strength in the area. By the way, I don't understand the numbers in the opening slide. Should they equal 100%?

  • @kabiraj.k
    @kabiraj.k ปีที่แล้ว +1

    10:35 what distribution or theme is this

  • @venny5417
    @venny5417 ปีที่แล้ว +4

    Visual Studio (not VSCode) isn't available on Linux, and it's kind of a big deal.

  • @gauravsingh1963
    @gauravsingh1963 ปีที่แล้ว +1

    Wrong data, linux usage is around 18% by developers and windows 60%. Some of the reasons are game developers can't use anything other than windows and mobile app developers have to use macos. Also mature OS like windows and mac providies enterprise management tools which let's companies apply their policies while giving admin access to developers.

  • @cariyaputta
    @cariyaputta ปีที่แล้ว +6

    Ubuntu + LinuxBrew + Neovim is the killer dev environment.

  • @retropipes8863
    @retropipes8863 ปีที่แล้ว +1

    Linux makes a lot of development things easier! The one problem I run into is that I need to at least test on non-dev OSes, and in some cases, do platform-specific stuff I can't do outside that platform (biggest case: macOS code signing).

  • @sayan_panda
    @sayan_panda ปีที่แล้ว +3

    This used to be the case but WSL2 is damn good. It's the best of both. I have linux terminal and professional software as well as good battery life and drivers and games of Windows.

    • @TheLinuxEXP
      @TheLinuxEXP  ปีที่แล้ว +8

      That’s still Linux ;)

    • @awwastor
      @awwastor ปีที่แล้ว

      I prefer dual booting between the two tbh, WSL2 is very nice if you're building something for windows but Linux provides a better experience otherwise unless you have really incompatible hardware. If you're not writing to the windows partition from linux you can also use hibernation to make the switching pretty painless.

    • @ukrdima
      @ukrdima ปีที่แล้ว

      It's so confusing to have so many shells in Windows nowadays. cmd, PS, WSL, Git bash, did I miss something? Sometimes node works better in one of them, git in another, and the constant juggling is so frustrating. And don't get me started with Python on Win xd
      I avoid using Windows at work at all cost

    • @LucasDondo
      @LucasDondo ปีที่แล้ว

      What's the problem with Python on Windows? I had not a single problem 🤔.

    • @jarod1701
      @jarod1701 ปีที่แล้ว +1

      @@TheLinuxEXPBut it‘s Linux on a piece of hardware that‘s completely supported by the main OS.

  • @lmnts556
    @lmnts556 ปีที่แล้ว +2

    Let's be real here though, most home computers are windows so most people in IT has to know windows well, a lot of us have to know linux well too. Windows has the Chocolatey package manager, which works quite well, much better than winget. So users can just use chocolatey to get packages no problem, you can also use powershell to make it automatic just as you say you would use bash. And no, most people use windows10 or 11 which the commands are basically all the same so they do not differ, they differ more in the linux space lol with all their different package managers you need 20 different commends for each of them to install packages lmao. For windows it's just one for chocolatey.
    nixOS is cool tho, it is something really interesting they have got going on there. I'll definitely be keeping an eye on it. For now i'll be booting openSUSE tumbleweed and windows. Most IT professional have to know both anyway, not knowing or refusing to learn either system you will just shoot yourself in the foot.

  • @marcinmionskowski664
    @marcinmionskowski664 ปีที่แล้ว +5

    CLI on Linux is MUCH better, but the flexibility is the key for me. And portability. And workspaces. And updates....

  • @paxdriver
    @paxdriver ปีที่แล้ว

    Main reason - it's free, customizeable, android & SOCs run it, old computers get security updates, the moral reasons, docker and "any" compute clusters (not just "that" one we let you use), telemetry and privacy, better IT service when you choose to pay for it, multi-booting operating systems, there are TONNES of great reasons.

  • @adrianstephens56
    @adrianstephens56 ปีที่แล้ว +10

    I think you glossed over the differences between the distros. If you have a complex deployment, trying to maintain that in nixos, Ubuntu, Fedora and Arch is going to be a real pain as they have different package managers, and the packages might have different names.
    Faced with this challenge, I'd specify my development environment as a docker-compose file, which should run the same under Ubuntu, Fedora and Arch (don't know about nixos support) and connect into it using ssh.

    • @adialwaysup8184
      @adialwaysup8184 ปีที่แล้ว +1

      Nix is a package manager and the nix language (especially flakes) are well used in deployments. NixOS is just nix package manager on steroids, where the container also manages the desktop environment. Nix develop and containers are amazing, if only they were documented thoroughly.

    • @sergeykish
      @sergeykish ปีที่แล้ว

      I specify development docker-compose for quickstart but most developers including myself configure their own systems.

    • @SahilP2648
      @SahilP2648 ปีที่แล้ว

      I don't know why people don't know this lmao but docker compose is not how you should use docker by default. You can commit an image after installing thousand packages or whatever, then upload it to your private hub and then you don't have to setup anything after running the downloaded image. It's just like uploading and downloading a VM image. Compose should be used for only some very specific scenarios as compose still installs everything from scratch (unlike the committed image like I mentioned) which takes time.

    • @SahilP2648
      @SahilP2648 ปีที่แล้ว

      @@sergeykish read my above comment, don't use compose

    • @sergeykish
      @sergeykish ปีที่แล้ว

      @@SahilP2648 docker compose defines runtime dependencies, configures env, volumes. Ability to rebuild is useful for developers.

  • @temari2860
    @temari2860 ปีที่แล้ว +1

    Powershell is powerful and nice but one thing I can't comprehend is why is it when I press tab to autocomplete, powershell always takes about 0.5 - 1 second to do that. And it also always adds "\." to the filename which sometimes breaks the command itself and says that the file doesn't exist. Drives me nuts.

  • @leobreydo9318
    @leobreydo9318 ปีที่แล้ว +3

    Except for those who make software for Windows. And there are a lot of such…

  • @Мио.Наганохара
    @Мио.Наганохара ปีที่แล้ว +1

    Linux is a non-starter for most PC game developers.
    PS5/XBOX Series SDKs for development are also Windows only
    WSL allows to run anything Linux from Windows, but reverse is cumbersome as you noted.
    Developing on the same system as the your application runs is a good point but even if you run the same distro you should be using Docker anyway.
    So effectively Windows IS more flexibility as it does everything Linux can plus everything it can't.
    The ideal setup would be for WSL to get so good with GUI and hardware so that you would be able to boot straight to WSL and use it as Linux desktop without performance penalties. And be able switch between Windows and Linux desktops in the same way we can switch between desktops today. We're not there yet unfortunately.

  • @cchutney348
    @cchutney348 ปีที่แล้ว +5

    One unfortunate thing to consider: if you use Linux, you might be on your own. For example, the company VPN is so shoddily set up that I have to jump through an increasing number of hoops to simply use it as intended, and since Linux is not officially supported, I can't even really make a fuss about it.
    This might be a skill issue, I am pretty clueless about networking in general, but I don't think that I am the only one.

    • @sergeykish
      @sergeykish ปีที่แล้ว

      My client devops use Linux and Mac, I connect to dev cluster with Pritunl Client, Perimeter 81.
      Year ago Perimeter 81 mysteriously failed to reconnect under Arch, resolved after its update. No other issues.

    • @cchutney348
      @cchutney348 ปีที่แล้ว

      ​​@@sergeykishI mean more like having to manually change the DNS server order in /etc/resolv.conf each time after connecting, the proxy script not working like on Windows, not getting Teams messages sometimes while on VPN, cheeky things like that.

  • @mullergyula4174
    @mullergyula4174 8 หลายเดือนก่อน

    If you develop backend software which runs on Linux, it is just very natural to develop on Linux. Also having a lot of RAM and drive space is not prohibitively expensive if you are not on a Mac, so you can run even a small cluster locally, have many VMs or whatever you need.

  • @ubaid-codelab
    @ubaid-codelab ปีที่แล้ว +5

    I am also a developer, I have tried different destro like Ubuntu, Kubuntu, ZorinOS, Linux Mint but none of them were stable for my laptop, my laptop heats too much with linux destros
    So I always had to comeback to windows

    • @taoliu3949
      @taoliu3949 ปีที่แล้ว +1

      Those are essentially all the same OSes, they're all based on Ubuntu which is quite bloated. Try Debian or Arch, they're both a lot more streamlined than Ubuntu.

  • @mind-blowing_tumbleweed
    @mind-blowing_tumbleweed ปีที่แล้ว

    Package manager is a disadvantage when you need legacy frameworks.
    When I needed to make netcore3.1 work, SSL didn't work because it required outdated lib which wasn't in repo. So after extensive debug I was able to track and install library required.

  • @rdwatson
    @rdwatson ปีที่แล้ว +1

    You talk about Homebrew on Mac like installing it is an onerous step. It's a simple one-time install early in the setup process.

  • @OmikronNS
    @OmikronNS ปีที่แล้ว +9

    He says it has all the IDE's and then conveniently does not even mention Visual Studio. I have been a dev for close to 20 years now and never been employed by a company that did not use Visual Studio. This omission really invalidates this video for me.

    • @Error8x8
      @Error8x8 6 หลายเดือนก่อน +2

      Ok, lol

  • @kittenfrompicture
    @kittenfrompicture ปีที่แล้ว +1

    11:15 Sad reality of Linux developers, who spend 3 out of 8 hours of work on playing with plasma customization like, -"Hey, look it looks exactly like your macos now and now it's the same as Windows, lol and now look how good my hyprland is"

  • @false_positive
    @false_positive ปีที่แล้ว +4

    Windows spyware collects everything you do, sells the information, gets billions for this and you have to pay 139$ for this. PHUCK MICROSOFT!!!

    • @jonny11bonk
      @jonny11bonk ปีที่แล้ว +1

      Who said the keys under 1€ are not allowed? But yeah, businesses with "cyber" police need to have all of their software licensed if their product is commercial.

  • @somethingcoolgoeshere
    @somethingcoolgoeshere ปีที่แล้ว +1

    Package managers is my favorite part of Linux as a whole.
    So much safer than clicking on risky web links for some new software

  • @flow1194
    @flow1194 ปีที่แล้ว +7

    it's better for me bc I'm broke :3

    • @TheLinuxEXP
      @TheLinuxEXP  ปีที่แล้ว +3

      Haha that’s one of the advantages, yeah!

  • @Charles-v4w3h
    @Charles-v4w3h ปีที่แล้ว

    which linux version are you running in 10:29, and in 10:39? I really liked the one in 10:39

  • @mind-blowing_tumbleweed
    @mind-blowing_tumbleweed ปีที่แล้ว

    The most difficult part about linux is to pick compatible hardware.
    My Huawei laptop mostly works fine.
    If you leave it idle, there is big chance that it freezes and I have to force reboot it. If it doesn't, there is still chance that WiFi stops working and have to reboot. Wifi problem persists until it suddenly doesn't.
    It's the same mostly on all distros.

  • @Rubyd777
    @Rubyd777 11 หลายเดือนก่อน +1

    the main reason i love linux is: when i had very old pc, had ram 1gb i installed older versions (64bit) of linux mint and learn to code. it took me 6 or 7 hour(honestly) because i couldnt make proper setup since i had no idea of os. i begin to use 16.x and upgraded upto 18.x grdually😆. although it was scary for me i enjoyed it. i reinstalled linux multiple time because i couldnt solve some issues😂

  • @QDSGames
    @QDSGames ปีที่แล้ว

    You already mentioned containers. Let me extend a little bit. I am not a pro dev but a system admin.
    Using docker or podman is immensly important for modern development. And it is built in in many distros or is easily installable. I can define all the containers with runtimes and apps I need locally and simply deploy them wherever I want to, be it kubernetes cluster on a cloud, vm or bare metal. Updating and testing is easy as well because I can be sure that the container environment I develop on is the same as in production.
    There is podman for MacOS but since containerization is dependent on the system architecture you can run into compatibility issues. If you're using Windows you can't use docker or podman natively, just on WSL.

  • @LattE0825
    @LattE0825 ปีที่แล้ว

    10:30 what's the name of this distro?

  • @MiloDC
    @MiloDC ปีที่แล้ว

    I'm all about WSL 2 on Windows. I'm the chief (really only) engineer on a few OpenText information retrieval SDKs used by corporations worldwide, and I have to support Windows, Linux, and FreeBSD. I do all of my coding, and almost all of my Linux debugging and performance gauging, in Visual Studio. WSL 2 is a godsend.

  • @wahffle6729
    @wahffle6729 ปีที่แล้ว

    I first got a taste of linux when my Microsoft Surface Go 3, which unsurprisingly runs Windows 11 by default despite just scraping by with the system requirements, was getting significant slow down, at which point I decided to set aside a few days to play around with different distros and to see what works. After landing on Debian with the surface kernel and doing some extra config to properly integrate touch controls, it now runs better than Windows ever did, has tripled my battery life time and feels a lot more natural to use on a tablet with GNOME. Shortly after I set up dual booting Windows and Manjaro on my main laptop, keeping windows around for things that I can't do on Manjaro, such as Visual Studio for .NET/C/C++ development. Certainly helps that all the JetBrains IDEs are entirely functional on linux, made the transition a lot easier.

  • @timidgoldfish
    @timidgoldfish ปีที่แล้ว

    You don't need to bypass TPM or secure boot checks to use a windows 11 VM. Libvirt/virt-manager and qemu supports TPM emulation or passthrough and secure boot enabled firmware through OVMF

  • @ViralKiller
    @ViralKiller ปีที่แล้ว

    Linux makes your laptop twice as fast, that's for sure...Has true parallel multi tasking unlike Winshit 11

  • @psychotrout
    @psychotrout ปีที่แล้ว +1

    I need to write scripts, command lines use foreign package manager... on Windows i download the visual studio installer and in 3 clicks i have all my environment up and running.
    The only text i write it's when i write actual code... Sorry man, this doesn't work for me and the "most" in your title is misleading

  • @VasilBoshnyakov
    @VasilBoshnyakov ปีที่แล้ว

    I read your comments: they sound like comments on BMW forum how great is BMW.
    Some questions regarding Linux:
    What to use: KDE, Gnome, Cinnamon, Ubuntu ...
    And the software based on Gtk+ - looks like Windows 98 ...
    Or the package managers (no choice at all) - apt, yum, dnf ...
    Or the incompatibility hell when two apps depend on different version on the same library ...
    Or the slow X server ...
    Or the bluetooth, audio, camera etc missing support ...
    You see, one of the major points in the video Is "everyone can run a bash script and get everything installed" is valid ONLY if all the machines have exactly the same Linux OS version installed.
    I started with Apple ][, moved to DOS (Turbo Pascal, C ...), moved to Windows 3.1, moved to Windows 95, moved to Slack, to Mandrake, Windows XP, Mandriva, Windows 7, macOS. Tried different Linux distributions over the years (SuSE Linux, Ubuntu, Fedora, LinuxMint) with mixed feelings.
    I use Linux on our servers and I use macOS on my daily development. Most of the personal automation is based on zsh, the dev software is installed with brew. Never had an issue with the macOS upgrades.
    And the other major point: the hardware. Everything works smooth out of box(no need to build my kernel as Arch Linux). The quality is much better that the regular laptops. I feel my eyes blurry when I am looking at any FullHD display.
    So be objective when you compare apples with oranges. Have friends - according to them the only OS actually work is FreeBSD.