here's a take that'll please no one: the belief that computers are difficult to use—especially foss and tools related to programming—is mostly constructed by politics and marketing, not by any inherent characteristics of the software. reasoning: (a) people master very complicated and user-hostile processes *all the time*. knitting, driving a car on the interstate, playing a musical instrument, being a baseball fan, using the subway—all just as complicated imo as (e.g.) learning the command line
A metaphor:
I don't give a damn about pens. They do not interest me. When I want to write, I grab the nearest writing implement and use it.
I have a good friend who's a fountain pen aficionado. He really likes using them and repairing them and collecting them, because it's his hobby. When he sees me using a ballpoint pen, he might wonder why I'm not using a fountain pen. If I only spent a few hours learning I'd be as good as with a ballpoint!
I don't spend those hours because I have a finite number of hours on Earth, and I want to spend them doing my hobbies, and his hobbies are not mine. I don't give a damn about pens, I just like to write, and pens are a means to an end.
@passenger my claim isn't that people *should want* to use computers, because they're no more or less difficult than other things that they learn. my claim is only that the perception of the complexity of computers is perniciously politicized, which has negative outcomes for everyone
@aparrish
It would help when people stop thinking 'everybody knows what I am talking about' when writing a page, blog, how to, .... for something on/with a computer.
I am trying for months to change the Linux mint keyboard from querty to azerty. All help offered
is for people who are born with that specific language that some people just do not understand. Ask to 'translate' to kiddy language doesn't help, they don't know how because they don't understand some people just don't have 'it'.
@Katja_Martijn see, I know this is a problem, and I empathize! the thing is that when I have similar problems in some other practice (like knitting, or weaving in my case, or, i dunno, understanding a sport i'm unfamiliar with), basically all of the help i'm offered has that same assumption of context. computer stuff isn't unique in this regard
@aparrish The FOSS point hits hard. The amount of people I've heard say that "GIMP is hard" is nuts. Like, you may not like the UI. It may put things where you don't expect them. But "hard" is not how I'd describe it. Before the days of Aseprite, it was my go to pixel art tool.
I don't think it helps that computer programs and their UIs aren't bound by physical requirements. You have to learn to knit, play an instrument, etc. within specific bounds. There are different styles, but you can't just fully redesign, for example, a violin and still have a violin. There's probably this inherent belief that, if you don't like the way it works, someone should have designed it better.
@fablesfables yeah, i don't want to give foss devs a free pass for thoughtless interface design, but millions of people use (e.g.) microsoft word every day, a program whose UI is a fractal of cursed portals reaching all the way down to hell
@aparrish I don't disagree, but I think the case is complicated by the fact that computer feedback is often indirect. If you mess up a stitch in knitting, it's possible to look at the fabric and determine where things went wrong. If you mess up code, the thing going wrong is happening at a level of abstraction we can't see, and we have to infer the bad process by looking at output that is often the indirect result of the dysfunction. I'm not saying that makes computers hard, but it does reinforce the perception that they're hard.
@lrhodes i don't know, i don't think that indirect feedback is unique to computers, or understood to be something that limits the ability of people to understand or engage in an activity. gardening might be a good example of another complicated activity with indirect feedback, or repairing a car engine, etc.
@aparrish Gardening, sure. Car repair, maybe not so much. A lot of people think that's also too much to bite off, and it's growing less accessible the more computerized cars become. (Even mechanics are telling people that cars are becoming too complicated to maintain on their own.)
That said, I also know plenty of people who see gardening as something mysterious and innate ("green thumb") in part because so much of the feedback is invisible and ambiguous and operates on a different timeframe.
@lrhodes yeah, i'm not trying to argue that there is no difference in complexity between any two activities, haha. or that all individuals are equally suited to all tasks. i'm just saying that the social process of evaluating the complexity of a task is subject to all of the regular things we would expect decision-making processes to be subject to, and this is especially true of computer work. (the idea of having a "green thumb" has its own set of politics!)
"People master very complicated and user-hostile processes *all the time*"
As someone who has been programming for 50 years, I learned how to drive ONCE. I also learned woodworking ONCE.
That is absolutely untrue for programming.
@bitsavers i don't know. i don't drive, but i do hire a rideshare maybe a half dozen times a year as needed, and i feel like every year i have to learn the newfangled way to *open and close the car doors*. i know i wouldn't be able to figure out how to, like, turn on the parking brake or whatever in a tesla with a touch screen
Computers are difficult to use (and program) because the people who build them have zero empathy for the user, in particular changing behaviors required to use and program them to intentionally make them different
I'm glaring at you, Apple...
@bitsavers @aparrish I have to agree with you here. And this is not even talking about programming, it’s about just using the computer to do whatever you want to do. “Doing what you want to do” with a piece of software or an operating system may be different today than it was yesterday because of an update, or a change in network configuration somewhere, etc.
(b) this is totally anecdotal, but as someone who has been teaching computer programming to adults for ~20yrs or so, the biggest obstacle that students face is not that the material is difficult (even when it *is* difficult), but that students are *culturally predisposed to a belief that they're not smart enough to program*, which acts as a permission structure for giving up. (this is peculiar, because no one having trouble in a knitting class thinks "i guess i'm not smart enough to knit")
(c) programmers are predisposed to convincing others that programming is too complicated for "normal people" as a means of job security and achieving social status; computer manufacturers and their software-making friends are predisposed to a marketing message that states: computers are too difficult for normal people, so buy this new machine/software, which is finally the computer/software that normal people can use! together both sides form a kind of mutual ratchet imo
I think this misses a really important point though - bad programming, or inept programming has a potential "blast radius". So does incorrect usage of computers. I think a lot of the "computer people" telling you things are hard is similar to car inspections. You use it wrong and your company goes offline, and potentially is ransomwared out of existence. Or your bank account is drained. Etc. Knitting has very little ways for someone in North Korea to extort bitcoin from you with.
@jp10558 clearly you haven't been knitting hard enough!
@aparrish i've found there's a bit of damned-if-you-do-damned-if-you-don't going on here. i've spent a lot of time in my life trying and failing to convince people that yes you are smart enough to try linux or python or whatever it's empowering and not anywhere near as hard as people make it out to be, but i've found that unless the person is already motivated to challenge the poisonous idea they internalized, insisting that it's not as hard as they think usually backfires :/
@aparrish or at least that's my experience of it. I've also found programmers have different degrees of internalized helplessness/intimidation towards programming topics that they see as being too advanced for them. It's alienating :/
@aparrish so my undergrad had a large biotech program, in which all students have to take essentially multiple CS classes that are administered by their own department. one year a CS prof (whom i love and took my intro classes with) was subbing and teaching one of those courses for a term, and to say that dude was shocked was an understatement. he was scandalized at how good the biotech students were.
going into bioinformatics research has also really humbled me, bc it legitimately was just a CS algorithms class thinly wrapped in applied terms. the killer grad graph algorithms that CS grad students bitch and moan about? it's taught to biotech undergraduate students. in classrooms with 50% women. and they can do it.
@atsuzaki i have taught computer stuff to a wide variety of audiences (artists, scholars, journalists, designers, etc.) and it's true—it's really shocking how directly achievement is correlated with the student not having a preconceived notion that they're probably going to be bad at it
(the trope of the "computer nerd" in media is such an effective embodiment of both sides of this rhetoric that its prevalence almost seems like a conspiracy imo)
anyway, whenever someone says something like "LLMs have finally made programming accessible to normal people!" I try to remember that the Silicon And Fossil Fuel Pyramid Scheme Industry has spent literally hundreds billions of dollars in an effort to convince you that computers were *already difficult to use* (a grift that computer programmers are largely in on!) and to politicize LLMs as being "easy to use" in contrast
@aparrish I never shared these views and before reading your explanation thought, in my experience it's about motivation.
I've tried teaching a few people, including myself and the impediment always seemed to be motivation. I wasn't motivated enough to learn Pascal, my ex wife too, and my now wife wasn't motivated enuf to learn HTML.
I also think you're right, and part of the lack of motivation can also be over estimating the difficulty. But I always felt anyone can learn if they try. Few did.
@aparrish this also fits with why I think people are drawn into using #LLMs.
You need to be motivated in order to learn because the process of creating the brain connections for a new cognitive skill is *hard* and takes time. Two things we tend to dislike.
#LLM use avoids doing "hard time" which is one reason not to use them, because not learning a discipline means you won't be able to understand, theorise, design, imagine and create in the discipline you avoided learning by prompting an #LLM.
@happyborg i do find that most of the time i reflexively have the thought "i wish i used llms so the llm could do this," it's because i want to avoid the absolutely trivial amount of mental effort involved in, like, bringing up the documentation for how regexes work in vim
@aparrish
I think there's an important aspect to this which most computer people don't understand: most people don't want to use computers. Most people, when they use a computer, are using it as a tool to do a thing. If they could use some other tool to achieve the same end then that would be just as good.