I have done a few online courses in HTML, CSS and Javascript and created my first website. My next step is do a Python course and then create a small web app as a project.<p>Is it possible to learn on a Windows computer? Git and Python programs exist for Windows and there is a cmd line.<p>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.<p>Thanks.
Use whatever you find most comfortable.<p>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.<p>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.
Windows is fine! It doesn't matter a whole lot, especially since you are still just learning. Make the most of what you have, maybe upgrade once you start to hit limitations.<p>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!
From 2 months ago I am exclusively on Windows 10 with Windows Subsystem for Linux. Works great. I was Linux user for 19 years and 3 years on Mac OS.<p>I am a generation that read books about evil Gates and refused to use Windows but I sold my soul now...
If you're not already familiar with Linux I would stick with Windows for now. Really no need to include learning Linux along with coding.... unless that is what you want to do.
If you already own a computer with the Windows OS, I don’t see a reason why you shouldn’t start learning Python on it. Anaconda is a great open-source distribution with lots of goodies. Also you can set up a VM with whatever Linux distro you fancy and run with it. Windows 10 itself comes with the Windows Subsystem for Linux (WSL). I hope this helps.
Yes, that is completely fine.
Unlike others I will advise you to start with statically typed language for start. No serious work just small tasks.
Qbasic will be good start. Use for few weeks then jump to python or whatever you prefer.
I would recommend getting a macbook. Macbook air is enough power for web development.<p>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.<p>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.<p>Windows 10 is a little more developer friendly, but there is a reason developers use mac, it just works and typically saves time.<p>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.<p>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).<p>If you haven't take a look at Rails or Laravel for developing web apps.<p>Good luck.
You're probably going to get more bang for your buck if you go with a Windows machine.<p>Windows 10 + Windows Subsystem for Linux is a great setup for learning to code.<p>You can use VS Code and the remote plugins to do your work in the WSL environment from Windows.
My suggestion would be not limit yourself to Windows, but I would recommend not just Windows. Linux dominates on the server side, and ultimately you'll need deploy/debug apps running on the server and/or in containers. And in nearly every dev job I've had, development was done on a Mac. My current company is my first dev job where I was offered a choice between Mac or PC.<p>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.
Tldr: for your first Python web-app, you will be fine. Focus on learning programming, and there are easier ways to learn Linux than installing it.<p>If you go for i.e. game-dev, with Unity or other game-engine with windows IDE, you will have it easier on Windows.<p>Certain ecosystems, like .Net with the full Visual Studio are more suited to windows development.<p>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.<p>Client side in general, you will be fine.<p>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.<p>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)<p>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.<p>In hte end, knowing linux is very useful. But it is not necessary to start.