Live data from Hacker News

Speak English to me: The secret world of programmers

github.com

1–10 of 334 posts

Re: Speak English to me: The secret world of programmers

#2
Something I have noticed across the technical/non-technical divide is that the concepts of simplicity and difficulty are easily conflated.

Often non-technical folk are only interested in "easy" solutions.

Technical folks are more inclined to pick simple solutions.

The perception of simple being hard mostly comes from simple often eliding things like a GUI which is inherently complex and overkill for a good number of tasks. However users have been conditioned to think mouse == easy and keyboard == hard.

Re: Speak English to me: The secret world of programmers

#3
> "Why does it have to be so complicated? I just want to install a program"

> "Why would you do that in the command line? It's way easier using $Program"

A concerning observation that’s slowly dawning on me is that more and more programmers don’t know how computers work. They can write code, build software, and do lots of useful things. But they have no idea how computers work. They’re more akin to lusers as we used to call them than they are to hackers of old.

Fantastic at their specialty and the tools they use. But move a button to an unfamiliar place or throw them into a new (but fundamentally same) environment and they’re lost.

The realization came a few weeks ago when someone shared The Missing Semester of Comp Sci on HN. It’s full of basic things you’d expect any programmer to somehow magically know … but they don’t learn this anymore. https://missing.csail.mit.edu/

Seeing that link shared connected the dots in my mind. I’ve been wondering for months ”Why does everyone at work have so many random local environment issues all the time?” … it’s been working fine for me for years. Same code and hardware. ¯\_(ツ)_/¯

Maybe I’m just getting old and grumpy. I’m sure folks older than me thought “wow kids these days know nothing” when we came on the scene …

Re: Speak English to me: The secret world of programmers

#4
post #2

Something I have noticed across the technical/non-technical divide is that the concepts of simplicity and difficulty are easily conflated. Often non-technical folk are only interested in "easy" solutions. Technical folks are more inclined to pick simple solutions. The perception of simple being hard mostly comes from simple often eliding things like a GUI which is inherently complex and overkill for a good number of…

Reminds me of Rich Hickey’s “Simple made Easy” talk. Quote:

> So the first word is simple. And the roots of this word are sim and plex, and that means one fold or one braid or twist. …

> The other word we frequently use interchangeably with simple is the word easy. … [T]hat is from the Latin word that is the root of adjacent, which means to lie near and to be nearby. And the opposite is hard. Of course, the root of hard has nothing to do with lying near.

Engineers like simple because it’s often easier to understand and debug. Non-techies like simple things too if they’re easy to pick up. But if it’s not easy to intuit just by looking at something, then complex solutions start becoming easier because they’re more ready at hand.

Re: Speak English to me: The secret world of programmers

#5
post #3

> "Why does it have to be so complicated? I just want to install a program" > "Why would you do that in the command line? It's way easier using $Program" A concerning observation that’s slowly dawning on me is that more and more programmers don’t know how computers work. They can write code, build software, and do lots of useful things. But they have no idea how computers work. They’re more akin to lusers as we used…

> The realization came a few weeks ago when someone shared The Missing Semester of Comp Sci on HN. It’s full of basic things you’d expect any programmer to somehow magically know … but they don’t learn this anymore. https://missing.csail.mit.edu/

I do feel somewhat jealous though that these resources are now available for students to learn in a structured, borderline spoon-fed way when this stuff took me a number of years and hacking around to build up and gain muscle memory over. Still, I think the knowledge you struggle to learn yourself sticks around a lot longer than knowledge that was fed to you from school. :shrug: I could see it either way.

Re: Speak English to me: The secret world of programmers

#6
post #3

> "Why does it have to be so complicated? I just want to install a program" > "Why would you do that in the command line? It's way easier using $Program" A concerning observation that’s slowly dawning on me is that more and more programmers don’t know how computers work. They can write code, build software, and do lots of useful things. But they have no idea how computers work. They’re more akin to lusers as we used…

This is a sentiment that is repeated with every new generation of programmers. I heard it when I joined the industry. I’m sure many before and after me did as well.

Hard to say if it’s any truer now than it is today, but the kind of work we do and tools we use have certainly changed over time.

Re: Speak English to me: The secret world of programmers

#7
post #3

> "Why does it have to be so complicated? I just want to install a program" > "Why would you do that in the command line? It's way easier using $Program" A concerning observation that’s slowly dawning on me is that more and more programmers don’t know how computers work. They can write code, build software, and do lots of useful things. But they have no idea how computers work. They’re more akin to lusers as we used…

Nice that it covers version control.

I graduated college without ever running a version control command, except for copy-pasted CVS commands to download software from sourceforge.

Re: Speak English to me: The secret world of programmers

#8
Everything in the post can by explained by "People think the familiar is easy, and the novel is hard."

Judged by the standards of a programmer, yes, the suggested solutions are simpler. Judged by the non-technical coworker's standards, no, they are new and therefore scary and harder. You might say, "If they expended even 5 minutes of effort, they would not feel that way." But that's 5 minutes more than just using the thing they're used to.

Re: Speak English to me: The secret world of programmers

#9
post #3

> "Why does it have to be so complicated? I just want to install a program" > "Why would you do that in the command line? It's way easier using $Program" A concerning observation that’s slowly dawning on me is that more and more programmers don’t know how computers work. They can write code, build software, and do lots of useful things. But they have no idea how computers work. They’re more akin to lusers as we used…

It's a common sentiment that others don't know how computers work. I'm sure you personally are an exception, but I think that most people with this sentiment live in glass houses and don't realize how little they understand about how computers work. Since I don't know how they work, I can't provide comprehensive examples, but I remember being surprised by details around dynamic linking and relocatable binaries, around how vfs maps to more specific implementations, the implementation of hard disk drive firmware, the on-drive caches and the firmware that runs that, the implementation in terms of magnetic polarity for storing bits, and many more layers and details besides that I have yet to discover.
Post reply on HN