7 ms·
So much of coding requires sitting inside the mind of some mid-20th century dude with a very different model of the world than we have. Some of you probably wo
by rockzom 4y ago
So much of coding requires sitting inside the mind of some mid-20th century dude with a very different model of the world than we have.
Some of you probably work within SAP, and it's the same kind of problem - you have to audition for the part of some random German business logic nerd until you maybe get it. And it's still effortful every time.
It's worth mentioning that standing on the shoulders of giants is strange when so many of those giants are still alive and working on their monoliths. The whole experience is as much a cultural and historical and borderline religious pilgrimage as it is a syntactical exercise.
A bit like getting a vague answer to an Old Testament God prayer, I understand C++, Python, etc. on a deeper level not by programming, but watching the creators talk about their languages. If you hate C++, go watch Bjarne get interviewed. The language will look like his handwriting the next time you open your IDE. It's so weird.
If you struggle with Linux, go watch YouTube videos where Linus Torvalds talks for a couple hours. I swear the next time you open a command line or work within a slipshod hideous UI that I guess just works, or something, you'll somehow feel this uncanny relief because you know Linus.
- arbitrandomuser 4y ago> If you struggle with Linux, go watch YouTube videos where Linus Torvalds talks for a couple hours. I swear the next time you open a command line or work within a slipshod hideous UI that I guess just works, or something, you'll somehow feel this uncanny relief because you know Linus. Doesn't make any sense , Linus Torvalds doesn't work on making command line or UI, I can understand if this was about writing kernel drivers or writing programs calling kernel API , The command line and other UI are much abstracted away from the kernel no?
- rockzom 4y agoTo be clear, I don't have a deep understanding of Linux. But let's keep going with your train of thought regarding abstraction. When I know it's "January" for whatever reason, and not "First Month", without knowing HOW and WHY this is the convention, it sucks. But then you see what Janus looks like - which, in this case, makes it even better for some reason than "First Month." In the case of programming languages and systems, many of these mythological figures are still alive and we can ask them questions. So, with Linus, I'm approaching it from the individual differences angle. Some people will call IT if "Smooth edges of screen fonts" is turned off. "Why is this like this?? I can't work like this!" Whereas I don't think Linus would notice, and if he did I doubt he would care. There's something about understanding where a creator of any given thing falls on that continuum that I find really helpful in overcoming friction with the "why is bad thing that could be good, by my likely ignorant definition, so bad!!" when it comes to new languages or systems. Tangential, but I want to go back in time and ask some ancient Danes why #70 and #90 in Danish simply had to be absolutely ridiculous, given any possible alternatives. It still wouldn't be my preference, but something about understanding their perspective would be helpful.
- codeflo 4y ago> When I know it's "January" for whatever reason, and not "First Month", without knowing HOW and WHY this is the convention, it sucks. But then you see what Janus looks like - which, in this case, makes it even better for some reason than "First Month." That's interesting, especially because I can't really relate to that. Don't get me wrong, I love this kind of trivia, but not knowing something like that has never been a problem for me at all.
- iainmerrick 4y agoI had the same thought! Is this perhaps related to learning a language as a child versus as an adult? As a child in an English-speaking household, "January" is just one of a million other things to pick up, and you just pick it up. As an adult learner, I can imagine it's very difficult because it seems so random; it's yet another thing that doesn't fit into a system so you have to memorise it and try to internalize it. As a native English speaker, I find it very difficult to remember weekday names and month names in other languages. Mnemonics help, and knowing the derivation of the word can make for a good mnemonic. Edit: re-reading the GP comment, sounds like it's not so much about mnemonics, more that knowing the historical reasons for weird design decisions can make it easier to accept them. Like knowing why "October" isn't actually the eighth month.
- rockzom 4y agoI think it's easier for me to accept weird natural language things from the distant past. But for relatively recent programming language things? Oh man. std::cout << "why"; std::cout << "why"; std::cout << "why";
- bqmjjx0kac 4y agostd::cout << std::endl; // It just rolls off the tongue.
- codeflo 4y ago
- ecef9-8c0f-4374 4y ago> very different model of the world than we have Who are we? There is no we. There is no we against them. That's the thing about diversity. My background and world view is different than yours.
- rockzom 4y agoPeople like me. You're illustrating my point.
- fouc 4y agoLinux/Linus maybe isn't quite the best example here perhaps because it was heavily inspired from MINIX and other Unix-like OSes. But yeah I can see that understanding the roots of a technology, of the creator's views of the technology and the problems its solving would certainly alter our perception of it and make it more enjoyable.
- DeathArrow 4y ago> So much of coding requires sitting inside the mind of some mid-20th century dude with a very different model of the world than we have. Not sure if the some people view of the world should impact the way programming languages are constructed. It's like saying you dislike math proofs because you have different views on the world from Gauss or Hilbert. That a triangle might be a rectangle because Pitagora had an old view of the world which doesn't fit today's fashion and politics.
- HelloNurse 4y agoThis emotive approach to computer science might be inefficient but meaningful for rare questions of taste and ideology (e.g. substring functions: lengths or indices?), but I don't see how it could possibly help learning hard details (e.g. what escape codes can show up in your strings?) or even universal theoretical concepts (e.g. how do you use these synchronization primitives correctly, and why?). From a more positive angle, you shouldn't worry about understanding "a very different model of the world" because, being a mathematical model of the world it cannot be much different from yours.
- nottorp 4y ago> If you hate C++, go watch Bjarne get interviewed. That's why you shouldn't watch interviews. If they're good speakers they'll trick you into adopting their views.
- codr7 4y agoOr you'll gain a tiny bit of empathy and understanding of where they came from and what it was like walking in their shoes. Doesn't mean you have to agree with everything they say.
- pdntspa 4y agoThere's a lot of things that reasoning about requires getting into someone else's headspace. If that is problematic you may want to look into your empathy skills, 'getting into someone else's headspace' is a crucial life skill, IMO