Why Linux is better for (most) developers!

Поделиться
HTML-код
  • Опубликовано: 16 май 2024
  • Download your free issue of Admin magazine thanks to Tuxcare: bit.ly/43XnjhT
    Grab a brand new laptop or desktop running Linux: www.tuxedocomputers.com/en#
    👏 SUPPORT THE CHANNEL:
    Get access to a weekly podcast, vote on the next topics I cover, and get your name in the credits:
    RUclips: www.youtube.com/@thelinuxexp/...
    Patreon: / thelinuxexperiment
    Liberapay: liberapay.com/TheLinuxExperim...
    Or, you can donate whatever you want: paypal.me/thelinuxexp
    👕 GET TLE MERCH
    Support the channel AND get cool new gear: the-linux-experiment.creator-...
    🎙️ LINUX AND OPEN SOURCE NEWS PODCAST:
    Listen to the latest Linux and open source news, with more in depth coverage, and ad-free! podcast.thelinuxexp.com
    🏆 FOLLOW ME ELSEWHERE:
    Website: thelinuxexp.com
    Mastodon: mastodon.social/web/@thelinuxEXP
    Pixelfed: pixelfed.social/TLENick
    PeerTube: tilvids.com/c/thelinuxexperim...
    Discord: / discord
    #Linux #code #programming
    00:00 Intro
    00:42 Sponsor: Get a free issue of Admin Magazine
    01:43 Language support & access
    03:05 Documentation
    04:47 Web Development
    05:41 Command Line Tools
    07:17 All the IDEs you want
    08:09 Linux is available to anyone
    09:41 Flexibility
    11:34 Limitations
    12:52 Sponsor: Get a PC made to run Linux
    13:51 Support the channel
    Linux works with virtually every programming language. Whether you're working with PHP, Javascript, C or C++, C#, Ruby, Python, Java, you can write, and execute almost anything. The real advantage is how you can setup and install all you need to start working with any of these languages.
    Linux distributions have package managers built-in, and these give you access to anything you need to write in these languages. You don't need to install a package manager yourself, or hunt for installers to download, and then for the extra libraries and modules you might need. You can install all of them in one fell swoop, either graphically, or with one single command line, which makes it way faster to get started than on any other operating system.
    And this ease of access and installation means that it's also way easier to write documentation and guides to help other people collaborate on your project, and setting up their development environment so they can get started as fast as possible.
    You could also just write a bash script, so anyone who starts working on the project can just run that script, and get setup automatically.
    For web development, using Linux is also a no brainer. The vast majority of servers you website or webapp will run on in production is using a Linux distro.
    When you're coding your website using Linux, the way you're setting up your environment, the way you interact with your system, they're all extremely similar to the OS the website or webapp will actually run on.
    Next thing is the command line utilities. Out of the box, these are simply better on Linux than on Windows, or even on macOS, if you haven't installed something like homebrew and all the tools you want to use.
    Linux also has built in support for SSH.
    Now, this isn't necessarily an advantage of Linux over WIndows or macOS, but it's a solid point nonetheless: most IDEs you'd want to use are on Linux. You get access to all the big ones: VS Code, Android Studio, Eclipse, IntelliJ, Zend, PHStorm, all text editors you might like, the only big one missing might be XCode, which is just on macOS.
    Linux also has very high availability. Most distributions are completely free of charge. Linux works beautifully in virtual machines, something that can't be said of Windows 11, which might require a trip to the registry to bypass the TPM checks and locks MS put in place, or of macOS, which doesn't just install in a VM.
    Linux is also available through WSL, so you can still use bash, and a lot of Linux programs and tools, including graphical ones, on an OS you might be more familiar with, namely, Windows.
    Linux offers choice. Whatever language you want to use, on whatever device, there's a distro optimized for that. And Linux is the only OS that lets you do that with your desktop experience as well. From the choice of desktop environment, to the customization available with themes, extensions, widgets, docks, panels, tiling window managers, and more, you WILL have the exact working environment you prefer, or you'll build one that suits you.
    Linux also won't force you to update in the middle of your work, and it won't nag you with ads in its menu or default apps, something that can't be said of other operating systems. It also won't make your hardware obsolete by denying it access to the latest OS upgrade.
  • НаукаНаука

Комментарии • 1,2 тыс.

  • @TheLinuxEXP
    @TheLinuxEXP  8 месяцев назад +44

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

    • @ZombieFartDev
      @ZombieFartDev 8 месяцев назад +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 8 месяцев назад

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

    • @Commiehunter12
      @Commiehunter12 8 месяцев назад

      srly.. you neglect to talk about the terminal?

    • @tercmd
      @tercmd 8 месяцев назад

      ​​@@ZombieFartDevHow 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 8 месяцев назад

      Aww, this link is b0rken :/

  • @haddock8087
    @haddock8087 8 месяцев назад +867

    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  8 месяцев назад +71

      True!

    • @tschorsch
      @tschorsch 8 месяцев назад +82

      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 8 месяцев назад +55

      ​@@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 месяцев назад +9

      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 8 месяцев назад +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 8 месяцев назад +1124

    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 8 месяцев назад +44

      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 месяцев назад +7

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

    • @QDSGames
      @QDSGames 8 месяцев назад

      @@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 8 месяцев назад +19

      ​@@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 8 месяцев назад +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 8 месяцев назад +421

    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 8 месяцев назад +9

      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 8 месяцев назад +6

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

    • @SahilP2648
      @SahilP2648 8 месяцев назад

      @@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 8 месяцев назад

      *nods along in MacOS struggler*

    • @untpython8480
      @untpython8480 8 месяцев назад

      💯 about Nano

  • @krishnaSagar69
    @krishnaSagar69 8 месяцев назад +120

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

    • @cameronbosch1213
      @cameronbosch1213 8 месяцев назад +21

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

    • @thisfeatureisbad
      @thisfeatureisbad 8 месяцев назад

      @@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 8 месяцев назад +8

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

    • @ordinaryhuman5645
      @ordinaryhuman5645 8 месяцев назад +24

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

    • @krishnaSagar69
      @krishnaSagar69 8 месяцев назад +4

      @@ordinaryhuman5645 that's what I meant btw

  • @ukrdima
    @ukrdima 8 месяцев назад +72

    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 8 месяцев назад +11

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

    • @ukrdima
      @ukrdima 8 месяцев назад

      @@QDSGames true

    • @Watchandlearn91
      @Watchandlearn91 8 месяцев назад +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 8 месяцев назад +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 8 месяцев назад +6

      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).

  • @danielhalachev4714
    @danielhalachev4714 8 месяцев назад +200

    7:57. Microsoft Visual Studio (don't confuse it with VS Code) isn't available for Linux and most likely never will be. It simplifies making Windows programs, especially GUIs, so it's sometimes missed. You are right about the rest.

    • @samuelsurfboard9887
      @samuelsurfboard9887 8 месяцев назад +8

      Jetbrains Rider already does what Visual Studio does, so it's not needed

    • @danielhalachev4714
      @danielhalachev4714 8 месяцев назад +49

      @@samuelsurfboard9887 Yes, but does it have a Community edition like VS does?

    • @EnterAName1
      @EnterAName1 8 месяцев назад

      @@danielhalachev4714 jetbrains is electronic arts of programming

    • @cmxpotato
      @cmxpotato 8 месяцев назад

      ​@@samuelsurfboard9887 It's been a while since I've developed for Windows, but Visual Studio's profiling and debugging tools are absolute godsend. I haven't used anything even as remotely comparable, including Jetbrains.

    • @AndreaGiustino
      @AndreaGiustino 8 месяцев назад

      ​@@samuelsurfboard9887Also, Jetbrains products all require a monthly subscription, while VS is free. Not really a fair comparison

  • @SciDiFuoco13
    @SciDiFuoco13 8 месяцев назад +331

    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 8 месяцев назад +44

      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 8 месяцев назад +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 8 месяцев назад +15

      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 8 месяцев назад +4

      There are distros made for beginners, like LM

    • @Curt_Sampson
      @Curt_Sampson 8 месяцев назад +15

      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.

  • @guillaumef9313
    @guillaumef9313 8 месяцев назад +38

    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  8 месяцев назад +2

      True!

    • @abigalebrawl9956
      @abigalebrawl9956 7 месяцев назад

      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 7 месяцев назад +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 7 месяцев назад

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

    • @cat-.-
      @cat-.- 5 месяцев назад

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

  • @TimoSluis
    @TimoSluis 8 месяцев назад +177

    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  8 месяцев назад +49

      Rider does the job pretty well!

    • @TimoSluis
      @TimoSluis 8 месяцев назад +46

      @@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 8 месяцев назад +15

      jetbrains ide's are a good alternative

    • @gridlocdev2023
      @gridlocdev2023 8 месяцев назад

      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 8 месяцев назад +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.

  • @Broxerlol
    @Broxerlol 8 месяцев назад +24

    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  8 месяцев назад +11

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

    • @hero3616
      @hero3616 8 месяцев назад +11

      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 8 месяцев назад +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.

    • @frog706
      @frog706 5 месяцев назад +3

      Windows is great, it just works. Linux ends up just costing you a lot of time that you wouldn't have had to spend otherwise. Linux is great for running stuff in production but I hate using it as a dev environment.

    • @reinach77
      @reinach77 5 месяцев назад +1

      @@TheLinuxEXP I guess you don't meet a lot of devs or stay in your bubble.

  • @ialrakis5173
    @ialrakis5173 8 месяцев назад +60

    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 5 месяцев назад

      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.

    • @ialrakis5173
      @ialrakis5173 5 месяцев назад

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

  • @poglavicas
    @poglavicas 8 месяцев назад +16

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

    • @daumienebi
      @daumienebi 8 месяцев назад

      How old are you ? 🙂

  • @bubbles581
    @bubbles581 8 месяцев назад +46

    Absolutely prefer Linux for development. I say this as a C++ dev with decades of experience (commercial and open source)
    Its almost always easier to set up and maintain a dev environment for a particular project

    • @mithrandirthegrey7644
      @mithrandirthegrey7644 8 месяцев назад +3

      Hear hear.
      C++ sucks though. C or die.

    • @bubbles581
      @bubbles581 8 месяцев назад

      @@mithrandirthegrey7644 C is fine but I prefer QOL in C++ for large projects.

    • @winlux2
      @winlux2 8 месяцев назад +1

      @@mithrandirthegrey7644 You are both dinosaurs. The future is Rust and sane people are already living in it.

    • @mithrandirthegrey7644
      @mithrandirthegrey7644 8 месяцев назад +2

      @@winlux2 :D there is so much legacy code in C you basically HAVE TO be well versed in C to be a Embedded Engineer. Rust is still quite rare in industry. But I take your point. Personally, whenever I am free to choose I do use Rust instead of C++, but Rust doesn't really replace C. It replaces C++.
      I've dabbled a little bit with Zig in my spare time - what's interesting is how well it integrates into already running legacy code bases running C. It's seamless. I will wait and see if it gains any industry acceptance before I dive into the nitty gritty with it though.

  • @xKB616
    @xKB616 8 месяцев назад +100

    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!

    • @zeta_eclipse
      @zeta_eclipse 8 месяцев назад +3

      yeah same thing for me, never really knew why

    • @bramfran4326
      @bramfran4326 8 месяцев назад +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 8 месяцев назад +13

      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 8 месяцев назад +4

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

    • @softbubble_
      @softbubble_ 8 месяцев назад +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.

  • @Smittron
    @Smittron 8 месяцев назад +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%?

  • @catalinvasile9081
    @catalinvasile9081 8 месяцев назад +3

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

  • @benedani9580
    @benedani9580 8 месяцев назад +8

    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 8 месяцев назад +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.

  • @andreaszuber4341
    @andreaszuber4341 8 месяцев назад +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.

  • @syrefaen
    @syrefaen 8 месяцев назад +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.

  • @scifino1
    @scifino1 8 месяцев назад +15

    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 месяцев назад +5

      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 6 месяцев назад

      @@toby9999 Same. Nothing compares to VS.

    • @Vexxel256
      @Vexxel256 5 месяцев назад

      Kdevelop is inarguably better

    • @mariandecker3942
      @mariandecker3942 5 месяцев назад

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

  • @floppa9415
    @floppa9415 8 месяцев назад +80

    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 8 месяцев назад

      microsoft offers powershell for linux, google it if you want

    • @tschorsch
      @tschorsch 8 месяцев назад +3

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

    • @victor1882
      @victor1882 8 месяцев назад +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 8 месяцев назад

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

    • @bufanda
      @bufanda 8 месяцев назад

      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

  • @andynn6691
    @andynn6691 8 месяцев назад +16

    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 8 месяцев назад

      apt install -y everything

    • @1234567qwerification
      @1234567qwerification 7 месяцев назад

      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 7 месяцев назад

      @@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.

  • @kuhluhOG
    @kuhluhOG 8 месяцев назад +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 8 месяцев назад

      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 8 месяцев назад

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

    • @SahilP2648
      @SahilP2648 8 месяцев назад +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.

  • @Chuukwudi
    @Chuukwudi 8 месяцев назад +14

    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 2 месяца назад

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

    • @miloradowicz
      @miloradowicz Месяц назад

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

    • @nateriver6456
      @nateriver6456 Месяц назад

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

  • @bpavuk
    @bpavuk 8 месяцев назад +20

    Just started to watch the video, but 100% agreed

    • @st0rmrider
      @st0rmrider 8 месяцев назад +1

      Do you really need to see the video to agree?

    • @bpavuk
      @bpavuk 8 месяцев назад

      @@st0rmrider nope)

  • @chrisobrien7531
    @chrisobrien7531 8 месяцев назад

    I love your desktop setup and theming. Do you have a link to your dotfiles?

  • @QDSGames
    @QDSGames 8 месяцев назад

    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.

  • @alexaneals8194
    @alexaneals8194 8 месяцев назад +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.

  • @OmikronNS
    @OmikronNS 8 месяцев назад +3

    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.

  • @EduardoLaborin
    @EduardoLaborin 8 месяцев назад

    I think it shows the way software development has evolved, before there were windows servers running IIS and MSSQL and some desktop app so it was easier for developers to use windows, now most things are web based and web servers one way or another run on linux so it is easier for developers to work on a similar environment.

  • @DESTiiNY9010
    @DESTiiNY9010 8 месяцев назад

    hi which distro you use in the video ?

  • @temari2860
    @temari2860 8 месяцев назад +26

    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 8 месяцев назад +5

      I suggest you to use snaps for IDEs

    • @valshaped
      @valshaped 8 месяцев назад +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-.- 5 месяцев назад

      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

  • @pabblo1
    @pabblo1 8 месяцев назад +18

    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 8 месяцев назад +2

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

    • @kneza96BG
      @kneza96BG 8 месяцев назад

      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 8 месяцев назад +2

      @@gorudonuvisual studio on mac is dead

    • @gorudonu
      @gorudonu 8 месяцев назад

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

    • @rusi6219
      @rusi6219 8 месяцев назад +1

      Real men code on notepad

  • @kameerhosein5748
    @kameerhosein5748 8 месяцев назад

    what desktop environment/customizations were you using in this video?

  • @retropipes8863
    @retropipes8863 8 месяцев назад +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).

  • @JodyBruchon
    @JodyBruchon 8 месяцев назад +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.

  • @itskweegee
    @itskweegee 8 месяцев назад +12

    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 8 месяцев назад +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 8 месяцев назад +1

      fish isn't a terminal,it is a shell

    • @a0flj0
      @a0flj0 6 месяцев назад

      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 5 месяцев назад +1

      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 5 месяцев назад

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

  • @TV-kj3gi
    @TV-kj3gi 8 месяцев назад +2

    Dear Nick.
    While you mentioned xcode for macos: I would appreciate it if you could make a video about Darling (Darwin Linux) and how to run macos software in Linux.
    (General info: Darling is something similar to wine but for macos software)

  • @dannyshaw4057
    @dannyshaw4057 6 месяцев назад +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.)

  • @MiningForPies
    @MiningForPies 8 месяцев назад +7

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

    • @hero3616
      @hero3616 8 месяцев назад +2

      23 yrs here I haven’t seen one 😆

    • @heinrichschiller4673
      @heinrichschiller4673 8 месяцев назад +1

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

  • @HowToLinux
    @HowToLinux 8 месяцев назад +5

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

    • @TheLinuxEXP
      @TheLinuxEXP  8 месяцев назад +2

      They’ve really improved it over the years!

    • @thomassynths
      @thomassynths 8 месяцев назад

      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.

  • @suryabejibun
    @suryabejibun 8 месяцев назад +1

    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

  • @TheBenSanders
    @TheBenSanders 8 месяцев назад

    Being a Linux guy lately I do look forward to winget getting more software. Hopefully the days of searching the web manually when setting up a new windows machine will be a thing of the past soon.

  • @MegaManNeo
    @MegaManNeo 8 месяцев назад +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 8 месяцев назад +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 8 месяцев назад

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

    • @powernemo
      @powernemo 6 месяцев назад

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

  • @harogaston
    @harogaston 8 месяцев назад +3

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

  • @balsamaster
    @balsamaster 8 месяцев назад +1

    Work for a small company that's provided me with a mac laptop, but used to let me use my own linux desktop as well, which was the best of both worlds. Did most of my work on the linux desktop, but when I was mobile (visiting HQ...) I'd use the mac, which was great because they're great at just being a portable device (and being genuinely unix-based, are "close enough"). Just recently, however, we've been "strengthening" our processes, and I'm no longer allowed to use my linux desktop. A friend there is emulating linux on his mac, and they're fine with that (for whatever reason). I'm just dealing with it for now, but hoping I can get some linux laptop option in the future...

    • @dfs-comedy
      @dfs-comedy 8 месяцев назад +1

      I'm retired from tech now, but I have refused jobs that required me to use Windows. There are plenty of employers out there who are fine with letting people use Linux, so go work for them.

    • @SahilP2648
      @SahilP2648 8 месяцев назад

      @@dfs-comedy yes, unfortunately the Windows developers at Microsoft are monkeys in a zoo. Windows is the worst OS I have laid my eyes on. I use Windows now only for gaming. I cannot use it for development. Linux unfortunately has driver issues and of course, app support is non-existent thanks to companies and developers not developing anything for Linux. That, and setting it up securely (with password and encryption, migration) is nowhere near as straightforward as in MacOS. I got a $1,600 USD M2 24GB MBA for my personal use, and for my work I have M2 Max 64GB MBP (good thing company bears the $3700 price tag lmao). New Apple macs are a godsend for portability and development in general. Also helps the fact that I work for an EV company and we many times have to build and test directly in the car to test out your new code and for that the ARM architecture provides amazing battery life. I got one battery pack and I am all set for building throughout the day in the car.

  • @agoniavr
    @agoniavr 8 месяцев назад

    Hey Nick, what's the distro you're showing in the beginning? Love the look and icons!

    • @jackdrophammer
      @jackdrophammer Месяц назад

      one word: ricing

    • @agoniavr
      @agoniavr Месяц назад

      @@jackdrophammer I know but it still doesn't answer my question, I wanted to know the distro(out of curiosity since he changes his main one sometimes) and - in case - the mods/icon pack etc.

  • @Rohinthas
    @Rohinthas 8 месяцев назад +9

    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 8 месяцев назад +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 8 месяцев назад +4

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

    • @berndborte8214
      @berndborte8214 8 месяцев назад +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 8 месяцев назад

      ⁠@@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 8 месяцев назад +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!

  • @sterkriger2572
    @sterkriger2572 8 месяцев назад +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

  • @Akinzekeel
    @Akinzekeel 8 месяцев назад

    As a long-time .NET developer, I recently switched to Linux on my personal PC and shortly afterwards got the permission from my employer to use it on my work PC as well. While Rider is generally okay, it does feel overloaded and cluttered somehow - even with their new UI. That's not to say that Visual Studio is not also packed with features and tools of course, but somehow the UI feels so much cleaner to me. I spent a lot (and I mean A LOT) of time trying to get it to work through Wine, but the farthest I ever got was installing it through the Visual Studio Installer. Launching it however seems impossible due to some weirdness it does with the registry, and Wine not quite being up to par to real Windows in that regard.
    Visual Studio is the only application so far that I really miss since the switch. I wish Microsoft would care about it, because my employer gives out licenses to whichever IDE we want. If only it would work on Linux, I would ask for a VS license in a heartbeat. Until then, unfortunately, it will have to be Rider simply because there isn't any other viable choice at this time.

  • @PrinceKumar-ee3qy
    @PrinceKumar-ee3qy 8 месяцев назад

    Which Linux distro you're using in this video ? I really like that theme.

  • @anandmahamuni5442
    @anandmahamuni5442 8 месяцев назад +9

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

    • @macethorns1168
      @macethorns1168 8 месяцев назад

      What's a WM?

    • @yigitorhan7654
      @yigitorhan7654 8 месяцев назад +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 8 месяцев назад

      ​@@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

  • @theodoros_1234
    @theodoros_1234 8 месяцев назад +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 8 месяцев назад +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 8 месяцев назад +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.

  • @staalexa
    @staalexa 8 месяцев назад

    what Desktop/OS is that during the point flexibility

  • @deusexaethera
    @deusexaethera 8 месяцев назад +1

    @TheLinuxEXP : Can you do a review of MX Linux vs. Ubuntu and other more common distros? Im trying to understand the advantages of MX Linux and I've thus far failed to get it. It works fine but I'm not sure what its unique advantages are.

  • @MPPBobDelaney
    @MPPBobDelaney 8 месяцев назад +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.

  • @ZILtoid1991
    @ZILtoid1991 8 месяцев назад +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.

  • @temari2860
    @temari2860 8 месяцев назад +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.

  • @abigalebrawl9956
    @abigalebrawl9956 7 месяцев назад

    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?

  • @oliverpolden
    @oliverpolden 8 месяцев назад +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 8 месяцев назад +2

      no cap for the trackpad

    • @oliverpolden
      @oliverpolden 8 месяцев назад

      @@laptoprelaks no cap?

    • @duckisduckcluck2258
      @duckisduckcluck2258 7 месяцев назад +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 7 месяцев назад +1

      ​@@oliverpoldenno cap on a stack sheesh

    • @oliverpolden
      @oliverpolden 7 месяцев назад +1

      @@nyan4xreally helpful, thanks.

  • @nargyle4382
    @nargyle4382 8 месяцев назад +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).

  • @heavy0119
    @heavy0119 7 месяцев назад +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.

  • @jahndo
    @jahndo 8 месяцев назад

    Sadly there are barely any IDEs for plc programming available for Linux. Any ideas how to set up a plc programming environment on a linux machine?

  • @eddie_8868
    @eddie_8868 7 месяцев назад +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 7 месяцев назад

      Same here

  • @milanrastelli4026
    @milanrastelli4026 8 месяцев назад +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.

  • @AK-vx4dy
    @AK-vx4dy 8 месяцев назад +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

  • @3mr132
    @3mr132 7 месяцев назад

    what version are you using for linux

  • @agh0x01
    @agh0x01 8 месяцев назад +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.

  • @venny5417
    @venny5417 8 месяцев назад +4

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

  • @somethingcoolgoeshere
    @somethingcoolgoeshere 8 месяцев назад +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

  • @cs2_clips_daily
    @cs2_clips_daily 8 месяцев назад

    Which linux is that on the start on of the video?

  • @cariyaputta
    @cariyaputta 8 месяцев назад +6

    Ubuntu + LinuxBrew + Neovim is the killer dev environment.

  • @ubaid-codelab
    @ubaid-codelab 8 месяцев назад +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 6 месяцев назад +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.

  • @Zwiebelgian
    @Zwiebelgian 8 месяцев назад +1

    I‘ve sometimes tried to use Windows for testing my software, but my attempts have always been thwarted by the abismal command-line experience on windows. They insist on doing everything different, which as a MacOS/Linux dual-booter is not nice.

  • @kurtb1518
    @kurtb1518 8 месяцев назад

    Like how using desktop Linux is the same OS as the server, its also the same OS as a lot of embedded devices, which either run an RTOS or stripped down Linux distro.

  • @matthewstott3493
    @matthewstott3493 8 месяцев назад +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 8 месяцев назад +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 8 месяцев назад +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 8 месяцев назад

      @@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 8 месяцев назад +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 8 месяцев назад

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

  • @cchutney348
    @cchutney348 8 месяцев назад +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 8 месяцев назад

      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 8 месяцев назад

      ​​@@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.

  • @fiasco_games4131
    @fiasco_games4131 8 месяцев назад

    how have I been watching your channel for a few years now, and only *just now* noticed the 40k Start Collecting boxes in your background?!
    Also, you're a man of taste I see - Drukhari :)

  • @timidgoldfish
    @timidgoldfish 8 месяцев назад

    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

  • @marcinmionskowski664
    @marcinmionskowski664 8 месяцев назад +6

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

  • @adrianstephens56
    @adrianstephens56 8 месяцев назад +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 8 месяцев назад +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 8 месяцев назад

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

    • @SahilP2648
      @SahilP2648 8 месяцев назад

      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 8 месяцев назад

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

    • @sergeykish
      @sergeykish 8 месяцев назад

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

  • @TheLinkinparkworld
    @TheLinkinparkworld 8 месяцев назад

    what distro are u using ?

  • @KautilyaBhardwaj
    @KautilyaBhardwaj 6 месяцев назад

    I agree. My only problem is hardware support, specially multi touch trackpads.
    Do suggest, if there are any "non-configurable" gesture providers.

  • @sayan_panda
    @sayan_panda 8 месяцев назад +4

    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 месяцев назад +9

      That’s still Linux ;)

    • @awwastor
      @awwastor 8 месяцев назад

      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 8 месяцев назад +1

      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 8 месяцев назад

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

    • @bubbles581
      @bubbles581 8 месяцев назад

      When I finally break down and update to win11 I know wsl2 is going to be high on my list of things to test

  • @michaelgautier
    @michaelgautier 8 месяцев назад +13

    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  8 месяцев назад +3

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

  • @onethatwas
    @onethatwas 7 месяцев назад

    What distro is being shown starting at 10:38 to 11:07?

  • @bohdangamestv8377
    @bohdangamestv8377 8 месяцев назад

    What Linux Distro did he use in the video?

  • @false_positive
    @false_positive 8 месяцев назад +4

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

    • @thisfeatureisbad
      @thisfeatureisbad 8 месяцев назад +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.

  • @JimAllen-Persona
    @JimAllen-Persona 8 месяцев назад +5

    I agree.. Linux is the better environment for developers unless you’re OS dependent. But damn, windows needs to learn case sensitivity in file names. You know how many deployment issues I’ve run into because of case difference in names?

    • @TheLinuxEXP
      @TheLinuxEXP  8 месяцев назад

      Yeah, it’s such a big problem…

    • @tomaszgasior772
      @tomaszgasior772 8 месяцев назад

      NTFS is case sensitive. Windows API mocks case insensitivity and, as I know, you can disable that feature through CLI.

    • @someusername1
      @someusername1 8 месяцев назад

      No, respecting case but being case-insensitive is the right way to do it. *nix's case sensitivity always was and continues to be an appallingly bad choice.

    • @tomaszgasior772
      @tomaszgasior772 8 месяцев назад

      @@someusername1 macOS is case insensitive by default. Also, ext4 can be configured to case insensitivity.

  • @AimCraviTe
    @AimCraviTe 8 месяцев назад

    Hey, which Distro is it at 10:30? Thanks.

  • @ferhoodler
    @ferhoodler 8 месяцев назад

    Do you use resolve to edit

  • @flow1194
    @flow1194 8 месяцев назад +7

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

    • @TheLinuxEXP
      @TheLinuxEXP  8 месяцев назад +3

      Haha that’s one of the advantages, yeah!

  • @aarooral7997
    @aarooral7997 8 месяцев назад

    i am on ubuntu 22.04 and having issue with using dual monitor . there are some issues with nvidia drivers . could nt fix it . also asked in nvidia forem . not found any help

  • @GhostWithAHoodie
    @GhostWithAHoodie 8 месяцев назад

    10:18 which distro are you using, sir?

  • @mihaimoiseanu8883
    @mihaimoiseanu8883 8 месяцев назад

    Everything that runs on JVM (so every jetbrains product) is kinda broke on linux using wayland, there is the wakefiled project, but it will take some time, and using the xwayland it's not really a good experience, I've tried it, but the IDE will freeze randomly, so the only solution is to rollback to x11, but the major DE goes for wayland as default. Once every 6 months I go back and check how things are running, but until the wakefield project is done, I can't code on linux.....

  • @wahffle6729
    @wahffle6729 6 месяцев назад

    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.

  • @deeptangshusaha7793
    @deeptangshusaha7793 8 месяцев назад

    Which OS are you showing in 0:03

  • @lmnts556
    @lmnts556 8 месяцев назад +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.

  • @simonlauer9379
    @simonlauer9379 8 месяцев назад

    open ssh is actually accessible on windows now by default as well
    but in principal i agree with you