4 ms·
> "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 co
by Swizec 4y ago
> "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/ 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 …
- alexchantavy 4y ago> 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/ 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.
- d4mi3n 4y agoThis 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.
- Espressosaurus 4y agoComplaining about kids these days is a rite of passage for all people over the hill, going back to the dawn of recorded history. Except back then it was elders complaining about these newfangled books or scrolls letting the youths be lazy and not memorizing like they should.
- aidenn0 4y agoNice 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.
- 6keZbCECT2uB 4y agoIt'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.
- Swizec 4y agoNo of course I don’t know everything and there’s lots I used to know but have forgotten. But I do feel fortunate that I got to see a lot of the modern abstraction come into being so I have a vague idea of what they’re abstracting and why. That helps a lot.
- cookiengineer 4y agoI wanted to add that I wish a formal requirement for CS students would be to install linux from scratch. This would help them understand how OSes work under the hood, from squashfs and bootloader right up to a graphical GNOME install. You don't have to do it all the time. Just once, to understand what you are using all the time. I think that a huge difference between generations is also the appreciation of "how easy" things got to be, because tooling has come so far. I mean, look how easy golangs cross compilation pipeline got...and compare that to 90s C development where you had to recompile libraries on your target machine all the time because linkers were glitchy and uncompatible, and header-only files weren't a thing yet.