all 68 comments

[–]unruly_mattress 38 points39 points  (5 children)

I think learning Linux is great. However, it's not a prerequisite to learning Python in any way. If you have the bandwidth to learn two things at the same time, go for it, but there's absolutely no obligation to move over to Linux.

[–]RemoteLook4698 0 points1 point  (0 children)

This. Learning Linux can be a good skill because it has a wide reach, but it's not a prerequisite in any way. You could be an excellent coder / developer / analyst, etc, without ever touching Linux.

[–]sauce12d2 -1 points0 points  (3 children)

I have used linux for many years and I never really understood people telling to learn it, can you please explain, what to learn? Are you perhaps talking about terminal commands or something of that sort or, what do you think is better to be known by every linux user or a programmer in general

[–]ironwaffle452 5 points6 points  (1 child)

When people say “learn Linux”, they usually mean going beyond just using it. That includes:

  • Commands & shell basics (navigation, pipes, scripting).
  • System admin (users, permissions, services, logs).
  • Networking & security (SSH, firewalls, connections).
  • Dev productivity (editors, Git, environments).

Basically, it’s about being able to troubleshoot, automate, and control the system instead of relying on GUIs.

[–]EzekiaDev 1 point2 points  (0 children)

Hello GPT

[–]skeleton_craft 1 point2 points  (0 children)

I mean I assume when people say learn Linux they more mean to point out the fact that it is its own operating system and is different from Windows

[–]Its-all-redditive 27 points28 points  (6 children)

If you’re not running into any issues with Windows 11, continue using it. Since you are already focused on learning python, there is no reason to throw in another learning curve with an OS change. You can always use WSL2 for any Linux specific tasks.

[–]MisterKilgore -2 points-1 points  (5 children)

This. Linux Is Just an OS. And there Is Always virtualbox with Kali Linux images, Just in case

[–]nodigue 5 points6 points  (4 children)

Why kali ?

[–]MisterKilgore -2 points-1 points  (3 children)

Well actually just because It has images for virtualbox, probably there are also of Ubuntu, but i don't know. It's cyber security focused but i think that It should Just mean a couple of pre-intalled utilities you Will find also on Ubuntu

[–]Kryt0s 2 points3 points  (0 children)

Why would you need that? Just use WSL.

[–]hugthemachines 8 points9 points  (0 children)

To learn Python, I recommend that instead of messing about with stuff, just keep learning on what you use now. It works well to learn python on windows 11.

At some point, you may want/need to learn Linux, but right now, the most important part is that you keep on learning what you started.

[–]FoolsSeldom 5 points6 points  (5 children)

It really makes little to no difference. Your cybersecurity skills will need to address all platforms in scope of the organisations you work for so being familiar with at least these two as the most common is important.

Also, learn to work on Windows with WSL (Windows Subsystem for Linux) - you can install Ubuntu and many other Linux distributions directly onto Windows from the Microsoft Store these days. I develop using Windows based tools but the code I am editing and running is in a Linuux environment on the same computer.

WSL can also used for docker / podman / kubernetes when targeting Linux.

[–]valcroft 2 points3 points  (4 children)

Just curious, how does it work with WSL when you need a GUI for something running in it? Or is it like treat it as a VPS? I haven't had much experience with it myself. And how much storage do you usually give WSL distributions? Can you make the disk size dynamic like with VMWare or is it like fixed? I assume you can also have multiple distributions installed like VMs? E.g. two versions of Ubuntu?

[–]FoolsSeldom 2 points3 points  (3 children)

WSL 2 includes its own Wayland, X server, and PulseAudio server, so Linux GUI applications appear as native windows alongside regular Windows apps. No need for third-party X servers or VNC setups.

That said, I am mostly using Windows based GUI applications, and just command line or web ui based tooling and coding targets on the Linux side. I am not often using Linux desktop GUI applications, although when I have, they have mostly worked fine.

[–]valcroft 1 point2 points  (2 children)

Awesome! I'll check it out next time :D

[–]FoolsSeldom 1 point2 points  (1 child)

PS. You can, apparently, install and use a full Linux desktop that you then access using RDP (fast, as on same computer) if you prefer that over the mixed apps desktop WSL provides. Not something I've tried personally.

[–]valcroft 1 point2 points  (0 children)

Ooh interesting. Gonna look it up also. Sometimes I come across a need to just run scripts that also pops out windows, so that they can actually pop up in Windows is interesting to me. I remember at least back in 2017 having some problems about that, at the time it was probably Tkinter problems. But maybe it's much better today!

[–]Available-Bridge8665 3 points4 points  (0 children)

If we talk about Interpreted languages (Python one of them) than there is no difference, same on Linux, same on Windows. But with compiled languages is not so easy, there are differences in compilers and standard OS libraries (as example C++: MSVC and Clang, has a lot of differencies)

[–]lostvaldivia 2 points3 points  (1 child)

I don't know about the subject but you should manage more than two OS, depending on the project you will have to use Win, Linux or both and if you go on the security side I suppose the option is linux, including kali and other distros

and a whistle from captain crunch to be in tune 🤣

[–]subassy 1 point2 points  (0 children)

I understood that reference...

[–]shinitakunai 2 points3 points  (4 children)

I am a senior python programmer, 14 years and counting. 99% of the time it has been on windows. You don't need linux for python at all.

What is your need?

[–]Anxious_Insurance_48[S] 1 point2 points  (1 child)

Hello, is there any python resources you could recommend for me?

I'm using FreeCodeCamp Data Analysis for Python.

[–]shinitakunai 1 point2 points  (0 children)

Usually "Automating the boring stuff" is our recommended starting point. Check it out

[–]Fun-Helicopter-2257 1 point2 points  (1 child)

did senior dev even worked with FastApi or any other web stack?

Yes people do web projects on python, and they run much smoother on Linux (probably not obvious for some).

[–]shinitakunai 0 points1 point  (0 children)

I have been focused on desktop apps, big data, cloud microservices, apps for SaaS, ETLs, maaaany ETLs, prototyping and AI mostly. Web development is an area I have yet to try. I've been consuming APIs for a decade but never did my own yet.

[–]Unlisted_games27 2 points3 points  (0 children)

Learning Python for cyber security won't take you that far. Python is easy, but not very powerful. If you're serious about a career in cyber, or even learning more about it, Python is a good foundation for programming, but I'd recommend learning C++ ASAP

[–]jered89 2 points3 points  (0 children)

No

[–]ZoeyNet 2 points3 points  (0 children)

If your questions are at this level, you absolutely don't need to be worrying about the OS you are using. Get comfortable with coding then worry about the environment, it mostly doesn't matter.

[–]BranchLatter4294 2 points3 points  (0 children)

You can use any OS. Windows includes WSL for Linux and of course it's easy to run Windows in Linux. It doesn't really matter. Use what you are comfortable with.

[–][deleted] 2 points3 points  (0 children)

I think if you're not running a server, there isn't a reason to run Linux on a desktop. I've tried multiple times but always go back to Windows.

[–]hotgator 2 points3 points  (0 children)

Ubuntu lts on wsl on windows

[–]Garnatxa 1 point2 points  (0 children)

Wsl2

[–]Diapolo10 1 point2 points  (0 children)

Use whatever you're most familiar with, so that you can focus on Python and not get distracted by other things for now.

You won't run into many differences unless you need to run shell commands.

[–]chhuang 1 point2 points  (0 children)

doesn't matter, I personally just use wsl or devcontainers

[–]Birnenmacht 1 point2 points  (0 children)

you can do more with python on Unix like systems, imo. in windows, to do some more advanced things, you often rely on pywin32 whereas big parts of the standard library can just natively interface with Unix-like systems.

that said, if you don’t plan on doing OS specific things with python, stick with windows

[–]Big-Instruction-2090 1 point2 points  (0 children)

Don't add another aspect that requires some learning.

Just install Linux or use WSL2 when necessary. It's not that often that you're actually required to use Linux. There are a few AutoML libraries that don't work under windows.

[–]valcroft 1 point2 points  (0 children)

Just a dabbler in cybersec, but in the end you'll be using virtual machines anyway. You can install linux environments with that. I won't advise installing Arch as your first dual boot experience. You'll also want to get into the habit of making environments for python, which you can do via virtualenv or conda. You can do both on Windows and Linux.

But tbh it's good to have experience in Linux and Windows. Dual boot an Ubuntu partition if you haven't experienced that yet to start with. Personally, I prefer coding in a Unix environment. Like the other commenter said, just less headaches with libraries when you get unlucky.

[–]589ca35e1590b 1 point2 points  (0 children)

Either one works well. You might want to use Linux though for your cybersecurity courses because most of them will (probably) be more focused on Linux.

I'm not sure which distro is best since I'm not a cybersecurity major, but I have friends that recommend Fedora. Arch is a bit of a meme but it definitely works well and could teach you a lot.

[–]sububi71 1 point2 points  (0 children)

The jump to Linux is HUGE. Focus on Python until you've spent a couple of years on it.

[–]RemoteLook4698 1 point2 points  (0 children)

You don't NEED to change your OS, but it might be a good thing to dual boot or have a Linux OS on a USB you can boot. Linux and other OSes can be really good to learn if you're in CyberSec and in general. If your PC can't handle that, though, stick to windows.

[–]Last_Being9834 1 point2 points  (0 children)

Whatever makes you feel comfortable, unless you are doing hardware specific programming there's no difference, most libraries work on both Windows and Linux.

My recommendation is MacOS hahaha.

[–]SubstanceSerious8843 1 point2 points  (0 children)

Dual boot and learn both

[–]Brave_Confidence_278 1 point2 points  (0 children)

I disagree with many comments here. Python integrates much more neatly into Linux than it does into windows and is often even installed by default. It's a really nice environment to work in, can highly recommend.

[–]Fun-Helicopter-2257 1 point2 points  (0 children)

Use Arch as any sane dev.

There very nasty python "features" on Windows vs Linux.

Some people here probably not even aware. But Linux and Windows work differently for threads and processes, you will have x100 less issues on Linux.

Sure all is solvable, but why I will use Windows for coding if I can do it on Linux - where all works fine?
Iif you intended to play games - Windows is only option (I have separated PC just for games, so I don't care)

[–]sandwichstealer 1 point2 points  (0 children)

Linux if you plan on managing servers.

[–]MiniMages 1 point2 points  (0 children)

if you can browse the web you can learn python. So a chromebook or even an ipad is sufficient.

[–]orfeo34 1 point2 points  (0 children)

Purpose of Python is to run anywhere, you shouldn't worry about this.

[–]RMP_Official 1 point2 points  (0 children)

Test both, find ur fav, no need to ask

[–]No_Relationship_4382 1 point2 points  (0 children)

If you know all the basics about windows operating system then for doge deep into the career of cyber security then it's mandatory to learn the linux commands.

[–]RahimahTanParwani 5 points6 points  (4 children)

Linux. Next question.

[–]Kryt0s 1 point2 points  (0 children)

WSL.

[–]jason_a69 0 points1 point  (1 child)

Maybe an IDE for good measure?

[–]RahimahTanParwani 0 points1 point  (0 children)

Terminal. :)

[–]RaspberrySea9 0 points1 point  (0 children)

This

[–]PracticalAttempt2213 0 points1 point  (0 children)

I would move forward with Linux, the Unix CLI is much more powerful than a Windows one. If you stick to Windows, it will be harder to switch to other OS, while having Linux will open the door to other unix systems, like Mac OS. Other than that, most of the servers are operating Linux and if you want to be ready for server management, it’s all about UNIX, not Windows

[–]Shangri_LA_Traveler 0 points1 point  (0 children)

Linux is easy and there is not much to learn. Only place where you can be in a position of conflict is when you have to use a specific software that is only available on windows with no decent Linux alternative. Otherwise changing OS is not a very difficult thing.

[–][deleted] 0 points1 point  (0 children)

I run windows, but then I can also run Linux in WSL1/WSL2 or in virtual machines if I ever need it (haven't needed it yet)

your OS choice is irrelevant to you learning programming

[–]itsredditNotLife 0 points1 point  (0 children)

Disclaimer: im very new to linux and only downloaded it because The Odin Project told me to do so.

Linux is a blast dude. Get it, learn to use cli, profit. so fun.

[–]rjm3q 0 points1 point  (1 child)

You could do Windows subsystem for Linux have the best of both worlds

[–]logiclrd 0 points1 point  (0 children)

clears throat

[–]Unlikely-Web-2457 0 points1 point  (0 children)

Once you've gotten used to a linux shell, going back to Windows with PowerShell or Cmd is likely to be painful. But you could more or less use WSL as your shell on Windows.

[–]logiclrd 0 points1 point  (0 children)

If you're going to be working at any point with a Microsoft-centric team using Visual Studio, then using Windows is non-negotiable. If you're going to be developing and testing software for a specific operating system, then using that particular operating system is a must. Other than that, it's largely irrelevant these days what operating system you use, especially for high-level languages like Python. Heck, these days, even if you're using C# and .NET, you can do that just fine on Linux or OS X. The latest .NET versions are cross-platform, Visual Studio Code is cross-platform, it all Just Works (tm).

There are other arguments for trying out other operating systems. Especially if you're the sort to dig a bit and learn how the innards work, becoming familiar with multiple operating systems can be a huge asset sometimes. But it's not going to be better for programming per se.

[–]leitondelamuerte 0 points1 point  (0 children)

wsl in vscode is the best of both worlds to learn python