Learning Python has been really hard so far. Here's a thread of me breaking down my process of learning it from 100% scratch so far (day 2)
For context, I have nearly no programming experience. "Learning a computer skill" context has been teaching myself how to use photoshop, webflow, and google sheets. These all are relatively simple - install the thing, open it in the browser, and then click buttons and type things
I did learn a small amount of programming for GuidedTrack, which is the system I used to build the kink survey I'm currently running. In this, you open the browser, it gives you a text box, you type things into it, and then click 'run' to see if it works.
So when I decided to learn Python, I was like okay, I understand the basic principles of learning a computer skill. I will go find the python program, download it, and then type things into the python box to see what it does. NO. FIRST ERROR. ROOKIE MISTAKE.
You might be like Aella, why did you not just follow some simple online tutorials? And the answer is I tried, a few times. I made it print 'hello world' and do basic math. I got bored real fast. I wanna learn python to do data analysis on the data I have, I'm goal driven.
I don't wanna learn how programming building blocks work as I use them to build a lil rando pile, I want to learn how they work as I use them to build the actual house I want. If what I'm learning isn't connected to a payoff, then I lose the stamina to wade through the problems.
So now I have a python box in front of me (literally a black box with some white ">>>" in it with the word "Python" at the top. Okay, cool. I want to upload a csv, the data I want to analyze. I google "how to upload csv to python." Google tells me to install pandas. How?
I thus enter a labyrinthian hellscape of words I don't understand - what's pandas? what's a library? what's pip? what's a package? How do I install any of this? I am blindly following anything online that sounds vaguely similar to my problem, copy-pasting code and praying.
To make it worse, I can't figure out how to edit the code in the python box. I'm running any random internet-suggested code with the vague words 'install' and 'pandas' in it, but I can't go back to fix mistakes I made or try small variations. I figure must be a special key combo?
I google "how to delete previous lines in python" and variations on this and am served unhelpful questions from others about how to make their programs go back and modify other outputs or something. Not what I want. My breathing rate increases.
ok fuckit, I'll figure it out later. I find a spot on the internet that tells me I should be installing pandas (whatever tf that means at this point) into my cmd? I know what cmd is! It's weird to install things through cmd tho, how does it know what internet download to do?
I'm used to installing things by clicking download in browsers, not by... typing just "install pls" into cmd. Seems real sus, but I'll figure it out later. I open cmd and type install pandas. I get incomprehensible errors. I google the errors. Google says something about... pip?
At this point I'm deep in the murky waters of a land I do not understand. I don't know why python isn't just letting me import a csv, I don't know why there's a chain of other "installs" I have to do, if they're even installs. I don't know how to track what I've installed.
Every google for help I do is useless. Each page is full of terms I don't understand at all. They're like "Oh solving that error is simple, just take the library and shove it into the jenga package loader so you can execute the lab function with a pasta variation".
My body is tense. I feel like a shaken soda can. Angry tears are starting to well. I'm trying to install pip by punching foreign commands into this cruel black hole, dimly aware I'm probably making a hundred glaring errors I cannot possibly know about. I don't know what pip is.
Eventually I break and post on twitter. People are split between being unable to comprehend my brain is actually this stupid and insisting I must be doing engagement bait, and a series telling me confidently that I need to this simple thing, but each recommendation is different
I try a few recs that look clear and easy, but each one turns into its own hellscape - the buttons they told me to click on do not show up, I realize I don't know how to do the "input" part of the "input command" they told me to do. I can feel days draining off my lifespan.
Eventually I just make a telegram group for people to join https://t.me/+vzmvyweMs49mOTAx where it's easier for me to upload screenshots of what I'm doing fast, to a localized/central place so everyone knows what's happening. This is the breakthrough I needed
It becomes chaotic, several people all clamoring what to do at once, but in Twitch Plays Aella type fashion, somehow something functional appears. They collectively get me to install Anaconda and open Spyder, both of which look like normal human computer programs thank god
I spend three hours under rapid fire questions and answers, I ask a dumb thing and a cacophony of explanations barrage my face like a bukkake of knowledge. I get stuff like what libraries are. They try to explain REPL to me, and data frames. Light breaks through the clouds.
It's a little hard to ask questions correctly; lots of my efforts are spent struggling to get people to give me the "level" of answer I want. There's a spectrum between deep conceptual explanation and shallow functional one, and I want different ones at different times.
I find the learning strategy that works best so far is I blindly execute a step they tell me to, and then once it works, I go back and re-explain each part of the step, and ask about why we did each part the way we did - both installs and stuff like individual words in the code.
I have a strong sense of what I need to know, and I'm curious if others do too - it felt like I had a god of curiosity possessing me, that honed beeping in around questions like a metal detector. I had strong senses of "no, explain that to me deeper" and "don't care let's move on
Anyway I managed to upload a csv and even looked at a few correlations! This was day 1, I'm feeling encouraged about more days. I'm also super grateful to everyone who's helping me, it's a wonderful favor and yall are seriously doing my mental health a huge service.
Update: End day 2, spent 2 hours learning from the telegram chat again. I learned how to get specific info from various columns (count x in a column conditional to y in another column), how to filter columns, delete empty columns, and delete targeted columns. This is kinda fun.
Update, day 4, probably spent 12 hours in chat total getting answers done, have figured out how to do a lot more stuff with columns and correctly save/replace/export csvs and generate a correlation chart. i am starting to get extremely excited about all this, had trouble sleeping