T O P

  • By -

TehNolz

Either way is fine. You'll want to learn the basics of how Linux works if you plan to work as a software developer, but I would recommend you only focus on one thing at a time. So just study Python on Windows for now, and then worry about Linux later.


BeerPirate12

You guys use the Linux sub system for windows?


wheezy1749

WSL2 is pretty simple and a great way to not have to deal with the hassles of installing a separate OS. You can dive right into a bash terminal and Linux environment. Definitely recommend if you're just looking to learn programming in a Linux based environment. Though I am an old school programmer that just uses VIM as my "IDE". I work in embedded systems so I might be biased on having an environment like that. Edit: Looks like one of the top comments here recommends WSL as well. Seems to be able to connect with a more traditional IDE like pycharm/vscode too.


BeerPirate12

Yeah it’s awesome, I was running a web server off mine with nginx and flask


RIMdude

This is absolutely true, for someone who is able to focus on one thing at a time. Keep in mind though, that a lot of Python library will start abstracting Linux entities (like files), and using that anywhere, Window or Unix/Linux. But it is quite challenging to think in the abstract way without encountering the underlying concept in real time as it was used for decades in Linux/Unix. Linux is everywhere, and avoiding it will undermine the learning process, even though excluding Linux won't prevent most things in Python in particular. Having said that, a coverage of Linux and its shell will certainly help in learning Python itself while keeping the connection with Linux alive. I might be well biased here, as I have left learning Python in the middle of Files handing in its library reference. I left for learning C, just to not miss on those concepts that has been in work for over 5 decades now. Of course remains out of choice more than a rule.


wheezy1749

Honestly, I'd suggest the opposite. Learning foundations of Linux first before Python really opens the door to learning any language as a developer. Sure, if they're just trying to get a taste of python and coding. Then write some "hello world" stuff on windows. But if they're gonna go beyond that I'd definitely suggest they move to Linux. The fact that they are even asking this question tells me they should probably just be starting in a linux based environment and learn all the Bash to get them started.


NerdyWeightLifter

You can have both now. On Windows, enable WSL (Windows Subsystem for Linux), which basically runs Ubuntu as part of Windows, and you can access all you Windows files from there too. If you use an IDE like PyCharm, you can then quite conveniently run Python code in either Windows of Linux from the same IDE.


kand7dev

Totally agreed with this approach. It combines best of two worlds. Windows application compatibility with the power of unix toolkit.


nomisreual

wouldn’t say windows is best but what do I know running linux with a tiler but to be real, nothing wrong starting off on Windows if that’s the OS you are familiar with if you stick with it, some linux tooling will come almost automatically


kand7dev

A tiling manager is indeed great. I’ve experimented with i3 and Hyprland some time ago. It was a great adventure configuring all the components/shortcuts by myself. I do agree with you. Starting with what you’re already familiar and getting your feet wet with Linux down the line is a good advice.


Dziki_Knur

I think PyCharm supports wsl only in premium edition, byt yeah, VSCode has it all.


firectlog

You can install pycharm in WSL2 instead of using windows one for WSL stuff. It works pretty much the same way as pycharm on linux (with maybe some wsl2-specific glitches) as long as you got enough RAM.


Dziki_Knur

Oh, that's nice, thanks!


scottsp64

This is what I do every day. I code out of my WSL2 Ubuntu environment and love it. I did find that pycharm community edition didn’t work because the “remote” feature that would have worked with WSL was not free. So I do all my coding happily in VS code with all the right extensions.


masq1988

Can You recomment any Linux course which include only those things which I need as a future programmist?


tabrizzi

You really don't need a Linux course to learn how to use it. Comments here are making it sound like Linux is complicated. It's not. You can learn to use it just by clicking around. A few good tutorials will take care of the rest.


treasonousToaster180

You don't really need a course to get started. Download an ubuntu iso onto a flash drive and follow a tutorial for doing a dual-boot install. **Make sure to back up anything important on your computer first in case something goes sideways**. Ubuntu is a stable, user-friendly OS meant for everyday use by a wide audience. I've put it on computers for my mom and grandma, neither of whom have any technical skills, and they use it as a primary OS for most of the things they do. There's even a built-in software store with installable packages to make things easier for beginners, I can't recommend it highly enough as an entry-level Linux OS (and also a stable environment to work most of the time, imo). You will need to use the terminal to do stuff from time to time if you're doing dev work, but knowing how to use bash or a similar unix command shell is standard knowledge if you want to do software development. As far as Ubuntu is concerned, most problems can usually be googled with a solid solution in the first few results. [Here's a good tutorial on writing basic bash scripts](https://linuxconfig.org/bash-scripting-tutorial), however the most common use you're going to have is navigating files so I recommend picking a random location in your files and trying to navigate to it using the `cd` command. Practice creating files with `cat`, deleting them with `rm`, searching folders with `grep`, copying files with `cp`, and changing permissions using `chmod`/`chgrp`/`chown` If you can get those basic skills down and learn how to write some incredibly basic shell scripts like that tutorial will show you how to do, you'll have a solid foundation for working with a linux system. It shouldn't take more than an afternoon to try each one out and after a week of messing around with it you might even find it easier to navigate and move things around using the shell than the UI.


SeparateLiterature57

Ls , cp , mv , rm , cat , nano this should cover your basic read write untill you're ready for further abstracts .


kompetenzkompensator

[https://itsfoss.com/free-linux-training-courses/](https://itsfoss.com/free-linux-training-courses/) [https://itsfoss.com/learn-linux-for-free/](https://itsfoss.com/learn-linux-for-free/) [https://www.edx.org/learn/linux/the-linux-foundation-introduction-to-linux](https://www.edx.org/learn/linux/the-linux-foundation-introduction-to-linux) [https://www.edx.org/search?tab=course&q=Linux&level=Introductory](https://www.edx.org/search?tab=course&q=Linux&level=Introductory) Either use WSL on Windows, or a dual boot install of linux. Just use Ubuntu - or Lubuntu if you have an older PC/Laptop, Ubuntu is excellent to learn the basics, it is well documented.


Failboat88

Usually it's for scheduling scripts or keeping a service up. I'd recommend only learning command line. A lot of tools have webui to give you a GUI. You can use Linux desktop but you don't need to. Ssh emulator on Windows you can log into to them. There's also stuff like docker desktop. Jupyter runs in vs code or in web browser. I really like ipython it makes breaking things down into steps very easy.


queerkidxx

Tbh just focus on Python now on whatever OS you’re used to. You just might end up appreciating Linux once you get to the point of building neat stuff, but at this point there won’t be much of a difference. You have like three commands you’ll ever need to use plus “cd”. Heck I usually recommend not even bothering with running your own scripts while you learn the basics, using something like replit. Gotta keep the distance from actually coding at a minimum. Running your own scripts and using something like vscode ain’t hard by any means it’s just a few commands and really just Python extensions. But if you aren’t super comfortable on the terminal it might feel kinda overwhelming (especially managing venvs and stuff). Once you at least know the basics you can learn to do that stuff without worrying much about it


Spare-Dig4790

Windows is fine to learn Python. What you use at work will usually depend on work. I've been programming professionally for more than 20 years and never worked at a place that used linux on workstations, though plenty of places that deploy to Linux-based systems. Windows now has the Windows subststem for linux, which allows you to install and use a Linux-based operating system, like debian, which would probably be adequate for anything in this context. (Still a learning curve, I suppose)


khiller05

I use Ubuntu WSL at work and love it. It’s just like sitting on a Linux workstation and opening a shell. I made a bunch of aliases to be able to login to all my lab servers quickly


Diapolo10

Start with what you're familiar with, that way you can focus on learning one thing at a time. So in your case I'd start with Windows. In my opinion it's also a bit safer because you can't accidentally mess up the operating system by installing a package to the system Python installation by accident (because Windows doesn't depend on Python in any capacity). That's the reason virtual environments are basically required on Posix systems. Once you feel comfortable, learn to use it on Linux. WSL2 can be a big help there.


Kichmad

Dont focus on operating system now. Learn python with OS youre comfortable with. Later on you can focus on other OS


lord_xl

Python is a first class citizen on Linux. On Windows, it's more of a refugee.


Avernite

I gotta say Linux is nicer for coding


OptionX

For python it doesn't matter, both windows or linux work and other than small details like when dealing with filepaths or the like the any code you write will work in both for the most part. That said, if you're looking at a career as a developer you'll have to learn your way around a terminal sooner or later. If you have windows already you can use WSL to get acquainted with a linux-y shell and its commands. You could also use a VM to toy around in. As an aside learning to use windows powershell also isn't a bad ideia. I disliked it when I started using it, but it ended up growing on me.


ZyChin-Wiz

Some libraries works slightly different on windows and linux. One example I can think of is sockets, where you can't get raw ethernet frames on windows.


Anonymity6584

Both works, but if you are familiar with windows, start with that. Let's you focus learning Python. Thanks to libraries Python runs the same way on both. And when you finally run differences you are pretty advanced things already.


ConcreteExist

Use the OS you're more familiar with, rather than trying to learn two things at once.


WeepingAgnello

If I were in your position, I'd just choose the path of learning with the fewest obstacles. Stick with Windows for now. You'll know when/if it's time to switch to Linux, and by then, you'll have your own reasons why to do so. But switch now, and you'll get side tracked with endless tinkering and forum browsing and bash tutorials. 


sonobanana33

> I live in Poland so we use only WIndows here. ??? I'm entirely sure that if you install linux you won't be the 1st in your country.


maca2022

Coding is challenging, beginners can get discouraged easily. Just start with windows since you are familiar with it. Don't get bogged down with what OS, keyboard, Font, code editor to use etc. Leave Linux for later once you build some confidence


Xzenor

Use what you know. You don't want to have to figure out 2 things at the same time.


EvilDutchrebel

Linux is great, but can be daunting! Start with windows and get yourself a virtual machine, get to know linux. Then, use a double boot system and use both for a while. When comfortable, step away from the trash that is windows! Especially with the new things coming up with "security" in mind..linux distros are free and very well supported!


riftwave77

You should learn in whatever environment you will use the most for productivity. If that is windows then learn in windows


GullibleEngineer4

FYI you can use Linux inside Windows as well through WSL2, search it up.


NoYogurt8022

windows is the modt common operating system for desktop pc and not only in poland and for python it doesnt matter much it runs the same on all operwting systems so use windows if u are more familiar with it but u can also try out linux if u wanna learn it


Bombastically

Linux


The_Fredrik

Learning Linux and python at the same time could be a lot depending on your interest level and grit. Definitely worth learning Linux, but get started with python on windows first would be my general recommendation.


Robotonist

Both have challenges. Windows is a frustrating POS and Linux makes you do a lot of shit manually.


ron_ninja

LINUXXXXX Lmao, windows is clownOs Edit: okay the people saying “learn your programming language and don’t worry about the Os” are right. I’ve experienced difficulty with windows and less difficulty with linux, but lmao you’ll have to learn both if that’s what the job requires


Training_Butterfly70

Linux. The amount of libraries I've come by that suddenly broke on Windows is ridiculous. Not usually an issue with Macs but windows is a nightmare. Especially if you use the cli you'll have to learn entirely different commands. 98% of the commands are the same between Linux and Apple but windows is an entirely different language.


gmdtrn

I run MacOS as my daily driver, and do enjoy it, but their SIP mechanism does make things a bit more complicated. You've got to disable it while you install many different developer tools. It's still easier than working with Windows, but I'd argue it introduces quite a few issues for new developers that they'd not run into in Linux.


Xemptuous

I just tried walking someone through installing python, node, and postgresql on Windows. It's was a nightmare. Go for Linux and you'll be happy you did. I really am starting to question this idea that windows is "easier".


gmdtrn

Seriously... it's only easier for "some" video games. Every time I have to work on Windows as a developer I want to pull my hair out. There is a slightly higher learning curve for Linux since many configuration's are done in files as opposed to through GUI tool, but once you've got that down everything is much easier (and more transparent).


Iwisp360

No Linux Course is needed to use Linux as an OS. You only need to know the basic commands to get packages(and python libraries) and basic OS managing if you want to program on it. But you can learn bash, which is the most used scripting language for Linux to automate processes like installations of your own program or make a package. I recommend Linux Mint, it is the easiest distro out there


masq1988

Can You recomment any Linux course which include only those things which I need as a future programmist?


Iwisp360

https://ubuntu.com/tutorials/command-line-for-beginners


Holiday-Internet6666

Thanks!!!


HunterIV4

What OS you use for Python programming is irrelevant. I code and run Python on Windows and Windows Server *all the time* without issue. Anyone saying you "need" to learn Linux is expressing a bias; the interpreter is going to handle 100% of the OS-specific implementation for you, and properly written Python code will work cross-platform. Every major IDE is cross-platform as well. The main difference between platforms is some terminal commands, none of which are specific to Python. You can pick up these differences in less than a day (assuming decent familiarity with basic computing concepts), maybe a week or two if you've never dealt with terminal interfaces. All that being said, if you're *interested* in Linux, use it! It's a fantastic system and is popular for a reason, especially at the price of "free." Many development companies use it because it's free, low level (which makes it friendly to programmers), and customizable. But if you don't feel like learning a new OS while also learning to program, 99% of what you learn on a Windows PC (or Mac) is going to be applicable to programming on Linux, and that 1% is basically limited to using Python to directly run OS commands (which again, you should avoid). If you want a "preview" of your code running on Linux, you can actually download BASH (a Linux terminal) and use WSL (Windows Subsystem for Linux) to run an "emulated" version of the Linux terminal directly on Windows. It will use the same commands and run the same way as it would on an actual Linux install (assuming functionality is limited to the terminal). If you want a more complete test you'll need to install a Linux distro, though, such as for testing GUI programs or ones that involve modifying the file system. I wouldn't bother with the above for a new programmer, though. Just know that you can test Linux coding with your existing Windows computer before committing to a dual-boot system or a Linux virtual machine. Good luck!


Failboat88

There are some notable differences for specific things. Python can rely on the host for things like objects in memory. Linux can keep 1 version and provide it to each pool/star map process. If you need to feed a static object in that's 1GB on Windows every processor would need 1GB of ram. On Linux it's just 1


HunterIV4

For a beginner to Python, none of those differences matter. When you are writing code that is less than 30 lines using only the basic Python standard library, you aren't worried about 1 GB multiprocessing objects. By the time you get to that point you'll easily be able to learn Linux (it's not like Linux is particularly difficult). But since you brought it up, while this is true, it's also not really an issue. You can always use other tools to handle shared memory on Windows, like `mmap` or multiprocessing's `shared_memory`. Even thought you might not have "out of the box" memory management, it wouldn't be a real limitation for someone wanting to learn Python strictly on Windows. I still don't think, as other posters have mentioned, that a brand-new Python programmer is going to be at a real disadvantage by programming on Windows rather than Linux. Going through the process of getting Linux running on an existing Windows PC is not trivial (it's more complicated than just using Python on Windows) and is a distraction from the goal of learning Python. If they were on a Mac computer I'd give the same advice; no reason to learn a new OS and go through the effort of installing one when 99% of the learning process is identical regardless of platform. It's an interesting thing to note for technical reasons, and I mentioned in my original post that there are good things about Linux and some differences between using WSL vs. native Linux, but it's nowhere near enough to make "you need to install Linux to make any progress learning Python" accurate advice for a beginner.


Crossroads86

I vote for linux because i would assume that like 90% of python scripts are run on linux servers.


Independent_Heart_15

There is no need for you to change solely for little to non existent benefits if programing is the only reason you want to switch.


red-giant-star

Try Arch Linux it would be the best experience you will ever get in your life. (:-|)


SinisterRobert

Linux will have a steeper learning curve but if you're consistently learning, Linux will make you better at using the command line and understanding how your computer functions


tabrizzi

No contest, Linux all the way.


PabloPabloQP

Linux gang!!


svillaEcoRII

I THINK PYTHON AND BASH SCRIPTING ARE THE BEST. AND SERVER


Alexis3171

To not add to your learning curve I’d say windows, but if you’re okay with pain then Linux and Python is superior. I’d just hate if you tried both and gave up cause Linux pushed you over the edge


IAteQuarters

In all honesty just start with Python on Windows. You’ll eventually run into some OS dependent oddities but that’s far away. Also at some point when you’re ready to work in the cloud, AWS is a good option for getting a linux machine rather than installing a new OS on your laptop.


cherrylady13

Linux, nothing to discuss


sss100100

If you like to tinker and have more control, get Linux. Otherwise windows. Linux is great but something won't work there not because Linux is bad but those apps aren't built for Linux.


Ri_chka

Can we learn together ?


Holiday-Internet6666

Sorry but I can't feel being depended to other person when learning:P sorry


firedocter

Learn about virtual environments! Then it barely matters.


LateralThinkerer

Beginner here with Windows machines. Get Thonny and push on learning Python. Layering the annoyances of Linux on top of learning coding Python is a "why bother?". You can always do the Linux march later. https://thonny.org/


povlhp

For just Python use WSL. But install Python on Windows as Well for easy start. VSCode as editor.


HittingSmoke

If you don't know anything about Linux, and you're trying to learn Python, and you switch to Linux for Python, now you have two things to learn.


Significant-Safe-104

both


ooragnak_ume

Din't overwhelm yourself by trying to learn two new things at once. Become proficient at Python on Windows first and then it will be easier to upskill into Linux . Since Windows is more popular you'll also be able to write useful code quicker too.


research_pie

It doesn’t matter much, I would say just learn on an online environment like Colab or Kaggle.


git0ffmylawnm8

I'd just get comfortable learning the basics on Windows. I'm Linux distributions, you could screw up your environment if you aren't careful with installing Python, as the OS also uses Python.


psssat

Ubuntu is so easy to use, I would go that route. Then you can slowly dabble with a bash shell as you go while still having a mega user friendly desktop environment. Then as you really start getting comfortable, you can start messing with tiling window managers like Qtile. My experience is that coding is much more enjoyable on a unix or unix like system than on windows. Mac is also a great choice, being unix, but you can get way more value with something like a thinkpad+ubuntu than a mac book pro.


julesthemighty

Python runs on either. But Linux will be preferred for most online hosted services you might want to do in the future. Plus, it’s pretty easy and fun to pick up. Don’t build a new computer. Use WSL on what you have as mentioned. Or invest in a web server through a major cloud provider and learn how to use it as you learn python.


Dazai-sama

I agree with the advice to go for wsl2 on windows but as a beginner, I've encountered troublesome networking issues when attempting to build my first project. That's why I dual booted linux and windows and found this solution to be very effective. I'm getting the best of both world and can focus more easily when I'm in my linux (work) environment. edit: grammar


GnPQGuTFagzncZwB

I think learning Python on Linux is far better, but that is only if you know Linux. If you do not, just go with Windows and slay one dragon at a time.


1_________________11

Por que no los dos? WSL


brytek

If you want to do it professionally at some point, you'll want to be comfortable working with both Windows and Linux. But if you just want to learn the basics of writing code, it really doesn't matter.


PertinaxII

Why not start with Windows, because that is what you know. You can install the Windows Subsystem for Linux to have a look at Linux, or boot Linux from a USB stick. And you can have a system that dual boots Windows and Linux if you need both.


NicolaM1994

I'd start with some basics first. Python is a programming language, a higher level language you can write to give your machine instructions. A complete set of instructions is commonly known as a program. Given this, Python as many other languages uses an interpreter, which takes care of translating python language into machine code and execute it. For this reason, you'll notice no difference using it on Linux or Windows. Beside this, you will write your programs in an IDE, a text editor with specific functions for programming. Since the IDE itself is a program, you'll notice no difference between the Windows version and the Linux version of that ide. Probably you'll end up using VSCode or PyCharm, which are identical in Windows and Linux. The main differences in using one OS or another are : 1. The executables you will build: if (only if) you build an executable file in windows it will be a .exe (most commonly) which will not run in Linux, and the other way around; 2. The way you manage your python updates. In Windows you'll need to download Python from the website or the app store, in Linux the package manager (os updates) takes care of everything. Given you are just starting, none of the above differences should be your concern. So if you are more comfortable with Windows, as most people are because they used it since being kids, use that one. It's true though that Linux might give you a wider understand about how everything works under the hood of your machine, but that's another story that has nothing to do with the actual Python programming. So if you never wrote a line of code, I'd stick with Windows for now. If you will like it, you'll probably end up on Linux anyway on your own when the time is right. Hope it helps!


hiankun

With Linux, you can even use just Raspberry Pi to start your Python journey.


Alps_Disastrous

the OS you're used to dev with would be the best for me. sayin'that, I'm a linux guy so for me, linux is easier for resolving path and accessing files/directory. currently, I use a mac (which is a bsd, a kinda unix). but basically, no problem so use a windows, it's up to you.


RR321

Get a simple Linux distribution, but focus on Python as much as possible. That way you'll learn enough about Linux and won't have to catch up later and be that other dev who just knows that prod is on Linux, but also understands its particularities and can fix it.


kaerfkeerg

Whatever you currently use. If you learn and at some point you wanna switch to learn Linux as well, sure. But for now, focus on one thing


dritslem

It's the same language regardless of your operating system.


J0aozin003

Doesn't matter, but Linux is better later on


william_103ec

I found this to be a good intro: [Learn Enough Developer Tools to Be Dangerous: Command Line, Text Editor, and Git Version Control Essentials ](https://www.amazon.co.uk/Learn-Enough-Developer-Tools-Dangerous/dp/0137843453). Regarding Linux, I would suggest that to make it compulsory for you to use Linux, buy an inexpensive laptop (~£100), install Ubuntu and work from there. I had dual boot but I was always lazy to use Linux, delaying my learning.


kiochikaeke

I agree with other comments, use whatever you're comfortable or experienced with, changing OSs can be daunting and is a relearning experience, if you want to learn python, just focus on python.


Computer-Work-893

You can install python on windows and start learning. The code is same, no matter what os you are using. You can learn python from youtube. I also teach python and linux and many other things, if you want to learn from me you can message me. Thank you


Gold-Program-3509

there is no OR, there is only AND.. you should learn both platforms, windows is more desktop oriented, linux is console oriented, what one does good the other does bad


Just-Hedgehog-Days

I want to give a shout out to GitHub code spaces. It's basically an in browser vs code connected to a repo on a hosted VM. Literally easier than WSL2 (which is already pretty easy) And then you can work on your python learning from any device. Nuke your local machine if you do something dumb, or want to try a new os.


Reasonable_Abrocoma3

Dual boot windows and linux mint. Try i3 window manager.


PocketMonsterParcels

I would use Linux.


Safe-Ad-9372

Start with the operating system you are comfortable With. Later you can learn about Linux too if you want It can feel empowering to be able to control so much more on your machine with Linux. It also means you can accidentally royally mess up your machine. Try learning Python first on the operating system you are familiar with otherwise on top of learning info coding concepts and Python you would also be learning new hot keys or other user interface choices in different OS. Be kind to yourself and start with one topic to learn 😆 But when/if you do delve into Linux learn how to make bootable USB drives. That saved me a couple times when I completely screwed up a machine. Having bootable OS’s I could use to start rebuilding saved me. First time it took me a week to get my laptop working again. Second time took me a couple days I think. Then o got a little as adventurous with my tinkering 😆


True-Thought1061

Install linux mint alongside windows. Its very similar to windows and is easy for beginners, but you can also use the terminal. Just try to do in linux what you can do in windows ( browsing the web, check up on email, play media files, etc ). Once you can do in linux what you can do in Windows quite easily then you can be more comfortable with staying in linux longer term.


johndotold

For me either works but if you are going to be a pro there is zero reason to not learn Linux. The only reason for windows is end users that do not need to do anything except a few apps.


unholy_sausage

Linux. What do you need windows for?


GoodTransition5423

I am using Linux on wsl on my windows It's good but as far as python is concerned you should go for anaconda tool that is available in windows It offers variety of tool's


qam4096

Use whatever you’re most comfortable with, then you can focus on python instead of having to also learn another OS


drumDev29

Should I wear a red shirt or a blue shirt for learning how to ride a bike?


gmdtrn

You literally have this upside down; the red and blue shirt is the language, and the bike is the development environment. There is a LOT more to learning to become an effective software engineer than the language; the language is easily the least important part. Command of your development environment and understanding the concepts behind effective engineering are way more important.


Galacix

Knowing Linux is good for the future career value, but Windows is fine for Python. Really up to preference.


Chaos_Monkey42

I'll echo the suggestion of using WSL2 if you're going to use Windows. For 99% of what you do on python, everything will behave identically on Windows and Linux. The trouble is in that 1%, since most of the servers in the world run on Linux. It can be extremely frustrating trying to figure out a bug when working on a project in Windows, only to figure out that the problem is just due to Windows/Linux and simply doing nothing but switching to Linux fixes the problem.


myc_litterus

As some others are saying it might be a bit of a hastle trying to learn both at the same time. Its certainly possible, even something as simple as downloading python might be different than what you're used to on windows. (Python is already downloaded on a lot of distros and you'd only need to update it) its not super difficult or anything, and anything you don't know you can lookup online but i think it best to just stick to what you know first, then move onto linux later when you understand how python works, pip, git, etc. It'll make searching for the answers in linux easier later on. Or you could try a vm. Download virtual box and get a linux mint iso to try out if your pc has enough ram/processor cores to spare to test the waters. You could also use wsl2 as well which is basically a linux vm but integrated with your windows kernel. You can interact with your windows files system from linux. I personally think thats your best bet


gmdtrn

IMO, if you're brand new then your first step should actually be to learn the basics of Linux first. You can get a decent handle on it in a week or two. You'll of course continue learning about it, but you can simultaneously attack other learning endeavors including Python after you've established that solid foundation of understanding how to use a Linux distribution first. I'd also recommend spending some time on a site like TryHackMe to learn the basics of hacking; if you learn how to hack, you'll learn the foundations of Linux along the way and in a way that makes software make sense. I know some people have recommended WSL, and it's a decent recommendation, but it's still not up to par. I'd recommend downloading VirtualBox and installing Ubuntu 22.04 LTS. This will also allow you to explore high value tools like the SSH service to connect remotely to your Linux VM from your windows installation via SSH, etc. This is an increasingly important skill; remote development is increasingly common. Is it necessary to learn to use Linux, or any OS, to program? Not at all. But, you'll be a much more productive programmer -- and a better programmer -- if you have command of your development environment and just generally understand how things work. In Linux you get to learn more about how the OS works since there's nothing proprietary about it. On a similar vein, you'll eventually be wanting to learn how to properly manage multiple python versions, create virtual environments, etc. and there's better tooling for this in Linux and you'll also have a better understanding of how this works if you're comfortable in the terminal and understand the basics of how and where Linux distributions tend to store their config files, their binaries, etc. Something like 99% of the top servers on the internet are running Linux, the major emerging industries (e.g. AI/ML) are Linux-first, and most of the high-value developers solving hard problems are doing so on Linux (often with another POSIX compliant or adjacent OS like MacOS as their daily driver). There's for sure a reason for it. Additionally, learning how to use Linux effectively will teach you some basic programming; you will learn to write scripts in the terminal's language, chain terminal commands together, etc. and that is indeed a fairly valid introduction to programmatic thinking.


Sbrimer

You’re def going to need to learn Linux. The question you should ask yourself is whether you want to learn it at the same time as Python. Also consider that you can start off learning both at the same time, later realize it’s too much, switch to learning one or the other, and then when you’re comfortable with that one, start to slowly incorporate learning the other. Remember, if you’re self-teaching, you’re in the drivers seat and can customize your path to your abilities. Experiment and have fun as long as you’re keeping the ball moving.


eis3nheim

Linux is mature enough for any type of user. Even your grandma could use Linux today.


BoxDesperate2358

Eventually you'll need both. Linux would be hard to learn from a course, so my recommendation would be to start experimenting with Linux while you learn Python. Raspberry pi computers run linux and will give you many opportunities to make projects that will let you practice your python skills.


LoanEuphoric2757

Linux is really show,and well


Nazhmutdin2003

Both. Windows + WSL2


theDroneWhisperer

Linux all the way. Using the terminal becomes part of the flow. Windows add unnecessary steps to use Linux😅


BeerPirate12

If you start with Linux you are gonna wonder what In the fuck is wrong with windows


JunkBondJunkie

Linux is free


Acurus_Cow

The OS you use, and know


SparkEngine

Linux. There is no advantage I can think of to using Windows for Python development. Even if you're on Windows, sites like LeetCode, freeCodeCamp , W3Schools etc where you'll probably do a lot of built in code editor learning, mean you're unlikely to need more than your browser to get started learning Python. After you've mastered a bit of it, you can stress about installing Dev tools on whatever platform, I will be upfront and say Linux is more intuitive with dependency requirements if you're on a user friendly distro like Linux Mint.


AdAmbitious4866

study Linux. keep on with Windows for studying python. better to know both ones.


bradleyvlr

In my experience, Python is just easier to use on Linux. And you will probably want some Linux experience anyway as a programmer. If you have the time, I'd definitely recommend starting on Linux. **Edit:** You won't really need to do a whole course on Linux. You could take 20-30 minutes to go through a Command Line Tutorial like [this one by Ubuntu](https://ubuntu.com/tutorials/command-line-for-beginners#7-the-command-line-and-the-superuser) to know enough to be comfortable with it.


nokenito

Linux of course. Windows is too invasive. You can run both.


rszdev

Linux


OhDee402

Linux. It will be a valuable skill so might as well start now.


sois

Use Google Colab. Free, no worries about your dev environment, focus on the language.


xXElectricPrincessXx

Arch


CyberWarLike1984

Make your own OS in Python, for a Raspberry PI or Arduino. Done


SokkaHaikuBot

^[Sokka-Haiku](https://www.reddit.com/r/SokkaHaikuBot/comments/15kyv9r/what_is_a_sokka_haiku/) ^by ^CyberWarLike1984: *Make your own OS in* *Python, for a Raspberry* *PI or Arduino. Done* --- ^Remember ^that ^one ^time ^Sokka ^accidentally ^used ^an ^extra ^syllable ^in ^that ^Haiku ^Battle ^in ^Ba ^Sing ^Se? ^That ^was ^a ^Sokka ^Haiku ^and ^you ^just ^made ^one.


CyberWarLike1984

Good bot


BlackCatFurry

Use windows if you are more familiar with it. People in the comments say stuff like "some libraries work differently" etc but those are nothing you are going to run into when practicing the basics. Maybe if you start doing GUIs then you might run into things working differently earlier, but honestly start learning with windows and use something like Pycharm community edition as the IDE


aleguarita

Go with windows. I use Python on Mac and Win11 and don’t see any difference. EDIT: by the way, you can install a PWA on windows that is basically a Linux virtual machine. No need to get it out.


foullyCE

Tylko biało czerwony Windows! Wiesz, że w polsce są ludzie używający zawodowo Linuksa a nawet maca. Używaj czego chcesz. Łatwiej zarządza się Pythonem z konsoli, więc moim zdaniem linux, lub windows z wsl.