4 ms·
> Windows in particular is as simple as it gets - there's a Windows Store App that you can install and that's pretty much it. Ok I haven't installed Python mys
by RheingoldRiver 5y ago
> Windows in particular is as simple as it gets - there's a Windows Store App that you can install and that's pretty much it.
Ok I haven't installed Python myself this way, but, does it set up PATH for you properly? How about pip, does it add pip to PATH? Often things will tell you to type `pip install` rather than `python -m pip install` so there's a potential source of confusion pretty early on too.
(Currently, I tell people to install chocolatey then use that to install Python because choco does take care of PATH for both Python & pip. If Windows app store Python install takes care of all of this maybe I'll try suggesting this next time and see how it goes.)
Also, let's suppose you get Python from Windows app store. Great, you have installed Python 3.9! You are doing the tutorial, just lovely, now in a week you want to make a Discord bot! Great first project. Uh oh, RED Discord Bot requires Python 3.8 (3.9 introduces breaking changes for some of its dependencies). How much more trouble you are now in because you have to install two versions of Python at the same time! If only you had waited to install any version until you were ready to start your first local project. (Based on actual events)
As far as IDEs go, well, in Pycharm you are asked, do you want to set up a project? Huh? What's a project? (Later on: well, you can't just open a file from Windows Explorer, you need to open your entire project! Well, isn't THAT confusing!) Then you have to answer about a venv. What's a venv? Oh, shit, I made the folder in the wrong place, let me move it, omg, nothing works anymore, oh, I guess that "venv" thing was kinda important to know about after all, well, shit...Ok, so again, maybe don't jump all the way to Pycharm as your first IDE but then I just have to ask why are you using an IDE at all when replit would do just fine? Then you're going to have loyalty to a tool that's worse than Pycharm and not want to switch once you are ready to use the right tool.
> But again, maybe I'm just way to detached from your typical absolute beginner to even remotely understand any of these issues.
I think this is pretty likely; if you haven't helped a friend start from literal scratch in the past year, it's pretty hard to realize just how confused people can be. And a LOT of people have tried things before and given up in frustration because they remembered how painful the setup was. So that leaves them with messes on their computers and also psychological scars of "oh my god not another setup, please not another setup, don't make me do another setup...."
Plus, if you have always had someone to ask for help then it's hard to appreciate just how painful setups can be when you're stuck on your own for them. If something breaks, no one's going to fix it for you, it's just broken, and you're just alone, and you feel REALLY goddamn stupid because as your comment points out, setups seem like they ought to be trivial. But they really just never are.
- __mharrison__ 5y agoThe Windows store version of Python sets up PATH for you. If you need to have multiple versions installed then presumably you are sophisticated enough to manage the PATHs for those versions/projects. Setup is a pain, I get it. I try to avoid it if it isn't necessary for the courses I'm teaching.
- smoldesu 5y agoThis post is a lot of fearmongering, and I don't really understand where it's coming from. Yes, installing Python is marginally harder than installing, say, Discord or Steam. Why is that an issue? Up-and-coming programmers are going to have to face much bigger issues than what version of Python their running, and letting them interact with it firsthand is always a more educational experience than abstracting it away and telling them not to worry about it. > it's pretty hard to realize just how confused people can be. It's good, though! Confusion is a sign that someone is confronting something they don't understand, which is an opportunity to teach them about what they're doing, or at least motivate them to understand it a little better. I sympathize with people who want to promote a browser-based, sandboxed coding experience- I really do. Teaching people to code on it is a whole different story. Imagine what would happen if we raised a generation of Python scriptwriters who couldn't figure out how to install to PATH, or taught C without showing people the compiler. There's no excuse for not knowing how to operate your tools, and learning them first is an absolute must. You don't let someone start playing with a rotary saw until they know how to use it.
- marmot777 5y agoYou make some strong points but I think the idea is if someone starts by diving right into code they’ll get to the point where they’ll feel inspired to deal with setting up an environment. Someone testing the water isn’t necessary ready for much hassles and they’re not yet all in. Once they’re all in they’ll pull an all nighter if necessary to get something done.
- kiawe_fire 5y agoTo me it’s always been a balancing act. Things like Repls often turned me off if they left me feeling like the things I was running in them were contrived and ephemeral. Even if I was producing some cool graphic or something, there was always this nagging feeling that I wasn’t making something “real” that could be saved off and shared. Almost like the difference between messing around with a dry erase board vs learning how to draw with a pencil and a sketch pad. But at the same time, PHP was instrumental to my learning how the web worked, in part because of how easy it was to find shared hosting that easily mapped PHP files to web routes 1:1. I can’t imagine I would have learned much if my first step was installing Apache, then mod PHP, then mod rewrite, then setting up htaccess files and directory permissions and then realizing that I didn’t get the PHP with GD graphics installed. Maybe this is an “everyone learns differently” thing, or maybe this is a “the right answer is somewhere in the middle” thing.