Is it possible to learn on a Windows computer? Git and Python programs exist for Windows and there is a cmd line.
General wisdom seems to point towards installing a version of Linux like Ubuntu. I'd like to know your reasons why I should or shouldn't do this.
Thanks.
It is often best to learn skills one by one to contextualize them better. Linux is a useful skill to have, but trying to learn Linux, Git, and Python at the same time might be overload.
Personally I use Visual Studio Code (free) for Python which is available on Linux, Windows, and MacOS. It also has fantastic Git integration. But I think "learn one thing at a time" also applies to IDEs/Editors, so if you already know a Python compatible one maybe use that first.
Installing a version of Linux is an option but you are adding more complexity are more tools to learn. I think there is value in focusing on what you want to learn (python) and that alone. Good luck!
I am a generation that read books about evil Gates and refused to use Windows but I sold my soul now...
I was using windows learning rails and kept running in to issues that would require an hour or two of searching and work arounds to get what I was trying to do on windows.
Most rails tutorials were on a mac back in the day. One night I had spent like two hours running in to issues on a tutorial. I decided to grab my wife's macbook, completed the tutorial in less time than I had been trying to troubleshoot issues on windows.
Windows 10 is a little more developer friendly, but there is a reason developers use mac, it just works and typically saves time.
So if you have access to one you can borrow I'd try it out. If you can snag a macbook air on sale it should be around $800, I think I got one for $650 once.
If you only have access to windows it will work, I think it will be more of a headache, but definitely you can learn on windows, I'd recommend developing on a mac though. For any language (other than .net).
If you haven't take a look at Rails or Laravel for developing web apps.
Good luck.
Windows 10 + Windows Subsystem for Linux is a great setup for learning to code.
You can use VS Code and the remote plugins to do your work in the WSL environment from Windows.
For the record, I started learning on Windows, and for learning on it was fine. The thing that ultimately made me switch was all of my friends used Macs, and they couldn't help me with Windows specific issues.
If you go for i.e. game-dev, with Unity or other game-engine with windows IDE, you will have it easier on Windows.
Certain ecosystems, like .Net with the full Visual Studio are more suited to windows development.
Certain ecostystems are very cross-platform (i.e. Java ecosystem, including the other JVM languages like Scala, Kotlin, including Android-dev here, client-side web-dev) and you don't need to care as much.
Client side in general, you will be fine.
Server-side, with cross-platform, you will be mostly fine, but you will start running into issues where not everything will work as well on windows (i.e. once I used smaller python library, and the creator never tried to run it on Win, and it worked only on linux) ... but for large projects (web-servers, database-lbiraries) you should be fine.
Windows now has some support for running linux shell with "windows linux subsystem", or you could install virtualization software (I usually opted for virtual-box) and try out various distributions there)
Once you want to run the thing somewhere public on the internet, it will in the end probably run on linux one way or other, but there are services like Heroku that simplify that to a level of "do you have a git-repo public somewhere? we will take care of the rest", and often have free-tier for people trying stuff out.
In hte end, knowing linux is very useful. But it is not necessary to start.