💾 Archived View for yujiri.xyz › software › why-program.gmi captured on 2022-07-16 at 14:27:15. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2022-06-03)
-=-=-=-=-=-=-
I want to convince more people to become programmers, or at least tech-literate. I have several reasons for wanting this, but first I'll give my arguments for you.
One of the unique things about tech-literacy compared to other skill sets is how broadly useful it is. Everyone in a developed country uses computers daily and my experience is that every single one of those people who isn't tech-literate suffers for it. They call me to troubleshoot when their sound or internet doesn't work or they're having trouble opening an email attachment or any number of other issues.
Some other non-software-development tasks that I've run into include bulk-editing dozens of images in the same way or moving 100 files with the same extension to a different folder without moving *all* the files in the original folder. These tasks take a long time to do manually, but can be easily done with a single shell command.
Non-technical people often have this idea that programmers (as well as people in any other STEM field) are superhumanly smart and they could never do what we do. This idea actually drives me nuts! I am no more smarter than you than we are smarter than our medieval ancestors.
I think a lot of the reason why STEM fields seems intimidating from the outside is because they have more jargon than most other fields. But jargon is just jargon; anyone can learn it.
By requiring you to think in strictly meaningful terms, it helps you understand human communication and how human communication can be improved*, and develop an ontology. It can also convert you to minimalism :)
I post many other links to the best resources on my software index, and have also written some myself.
Something that isn't required but definitely helps is to use Linux, which has many other benefits for anyone who's even slightly concerned about computing being completely controlled by Microsoft, Google, and Apple at the expense of user freedom.
If you're interested in becoming an actual programmer, I strongly recommend Python as a first language. It's easy to learn, easy to be productive in, and very popular.
A fun adage I came up with is this: Python teaches you to like programming, C teaches you to understand programming, and Haskell teaches you to understand the universe.
Finally I'll explain my own motives for wanting more people to be tech-literate.
The prevalence of tech-illiteracy is part of the reason why computers are so bad: why our software is so buggy, so slow, and so much of it lends itself to centralization of power and subjugation of users. Because so much of it is designed with the assumption of illiterate users, it must do more to accomodate them (making it buggy and slow), and it isn't designed to empower them because they don't know enough to understand or care about digital agency.
I sometimes pay the price of other people's ignorance about computers, because they need me to do basic things for them, or they want me to do something advanced but they can't communicate about it properly, or they don't understand why the things I care about, such as minimalism and decentralization, are important.
Programming has shaped me intensely, so I want to share it for the same reason you want to share any of your interests.