This. I posted this on my other comment, but there's a meme that "Gen Z Kids Don't Understand How File Systems Work" [0].

There seems to be a disconnect between some developers and the younger folks.

[0] https://news.ycombinator.com/item?id=30253526

That's not new.

I read a UI book in the early 2000s that cited research showing that most users didn't understand filesystems. They would seem to, but then the idea that the same filename in two places was two unrelated files would just lead to a mental block. Those who got it, didn't find it hard. It's just that some people can't get it.

The disconnect is not between some developers, and the younger folks. It is between some developers, and most of the world.

I think a lot more people than most HN readers realize simply struggle significantly with abstract thinking and reasoning.

It's natural that people who enjoy programming and hacking and related fields are very comfortable with such abstract types of thought. But I really think that isn't all that common amongst most people. I think the average person has to learn such thinking abilities with difficulty (though they can). I'm sure many people here got into programming precisely because abstract thinking came easily to them.

> the idea that the same filename in two places was two unrelated files would just lead to a mental block.

Which is actually why the "files and folders" metaphor is apt. In a filing cabinet in a school office (once upon a time) there were likely hundreds of documents labeled "Report Card" in many different folders, each labeled with a different name.

> I'm sure many people here got into programming precisely because abstract thinking came easily to them.

Counter here: When I wanted to switch from TurboPascal during school (14y/15y) to C++ (because it was "more cool" and that was the tool that the 'big boy' game-dev-pros were, we thought), it was so damn hard for me - really! I was struggling so massivly, I head massive problems with this pointer stuff - it took me years to fully understand it.

And I was hell-bad at math in school (or maybe just too lazy), the only thing to which I a relation was all this geometric stuff (because this was needed for .. game dev! :-D )

Pointers are famously difficult to learn and reason about even though the basic principles are simple. Programming in a style that requires direct manipulation of pointers when it's not actually necessary is usually regarded as unwise because it's so hard to get right.

OP had no problem with pointers prior to trying C++. I think there is a case to be made that C(++) makes pointers unnecessarily confusing and there is no real disconnect between understanding pointers in theory and in practice otherwise

And C++ makes everything extra confusing with the capability of operator overloading.

That has to be one of the worst features ever added to a language.

> I head massive problems with this pointer stuff

no, OP explicitly had problem after getting introduced to pointer concept

Pointers aren't hard, it's C/C++ that make them complicated. Addresses and indirection in any assembly language are simple and straightforward, easy and even intuitive once you start actually writing programs.

Tell that to the thousands of comp sci students who drop out every year because they don't like programming in C!

...thats the reason why I love managed environments like C#/Java/etc :-))

> Which is actually why the "files and folders" metaphor is apt.

It's a starting point, but I certainly wouldn't say it's the best metaphor that there could be. The idea of subfolders just doesn't make sense in a filing cabinet analogy, because you have to consider paper size - any folder which could fit into another folder is not going to be able to contain your regularly sized documents.

That said, I can't think of a better metaphor.

People understand hierarchy. That named file is in a folder in a particular drawer of a particular cabinet in a particular room of a particular building in a particular neighborhood in a...

What some people struggle with is recursive hierarchy where each step doesn't change the kind of container. I guess they never saw a Matryoshka doll when they were little.

> The idea of subfolders just doesn't make sense in a filing cabinet analogy,

Sure it does. The document is located in Building C, Sub-basement 2, Room 123, cabinet 415, folder labeled "Accounts". And a physical folder can certainly contain other folders. Nit-picking the analogy wastes everyone's time.

A better metaphor would be trees and branches. Which is already somewhat used for computing.

I can't blame them. We've been force-upgraded to Windows 11 at work and that OS and its apps do their upmost to obscure where files are located.

I've frequently saved on OneDrive instead of locally, by accident, and then been perplexed when I try to reopen the file later.

And I've been using filesystems for 35+ years, so I feel sympathy for those who don't understand the abstraction. At this point Android is more transparent about its files.

> We've been force-upgraded to Windows 11 at work and that OS and its apps do their upmost to obscure where files are located.

That's because there's research that users don't understand filesystems. So then stupid companies who make bad decisions like Microsoft and Apple decide that that means they should pretend filesystems don't exist.

Did they also struggle to understand that some people have the same name yet are not the same person?

By that logic, operating system developers struggle to understand that putting two files with the same name into the same folder(1) is very much possible in the physical world.

(1) or referencing them from the same directory, which was the earlier metaphor.

Hardly. That would be analogous to two people having the same name _and_ the same spacetime coordinates; they would indeed be the same person.

I've seen two people with the same name and birthday, in different departments of the same building. Caused regular problems with management and HR.

I've also seen two different customers with the same name and phone number - the number got recycled and went to second one while the first hadn't updated their number on file. We had to tell them apart by address.

But why are filenames equated with spacetime coordinates? That doesn't make any sense - reflect on why you leaped to that analogy. The spacetime coordinates are the disk ID and sector number. We've been using operating systems that work a certain way for so long that we think filenames are like spacetime coordinates.

You cannot name 2 of your children the same names.

In the time it took you to write this comment, you've thought more about the abstraction than most of the people who are confused by it -- and it will never succeed to coax them out of their confusion with such logic. :)

I think that's perfectly understandable. File systems require the user to remember a hierarchy in their head (even if there are tools like breadcrumbs to help you out), and many people aren't willing or aren't able to hold an arbitrarily complex structure like that in their head. A name is a flat piece of information, no extra structure to imagine.

I worked with a professor one time that used floppies for all his files (after they had been surpassed by thumbdrives) because each floppy was essentially a single folder, and he could wrap his head around that conceptually.

it's not complicated at all, it's how operating systems present them to the users.

> two unrelated files would just lead to a mental block

Because in the analog world, each "document has usually a single/unique headline" and file names are often perceived as some type of unique identifier as well, Id guess?

> It is between some developers, and most of the world.

sigh

I can say for certain this is true. People my age look at me like I have 3 heads if I ask them to do anything more complex than open a web browser

I'm in India, people give me same looks when I ask them to open browser.

Internet to my parents and other old folks is YouTube and WhatsApp

Famously, there were surveys where people said they used Facebook, but didn't use the internet...

https://qz.com/333313/milliions-of-facebook-users-have-no-id...

not even the older generations. My parents save files on the Whatsapp chat, and my father is one who bought the first IBM PC when it came out, so someone who has touched these things for decades (tho very superficially).

I think that the software industry, especially operating systems, have completely failed to provide a balanced product between the overly bloated and messed up (Windows), the overly complicated (Linux) and the overly simplified (Android/iOS).

Maybe some Linux distros are now at the right spot, I was positively surprised by PopOS to give an example, but it's too late. With AI this is only going to get worse.

> My parents save files on the Whatsapp chat

That's becoming dangerously true of my wife and I as well, to be honest.

The friction is just so much lower than Google Drive or whatever. As long as I handle it right away. It's just finding something from more than an hour ago that's intolerable.

I met a business partner who is doing some work for SME retail investors last week for lunch:

He showed me his WhatsApp: People are sending _ALL_ type of critical documents by WhatsApp to him. Everything. (and bank statements are among the class of "less critical" documents in his case)

My theory here is: "If you have any function in your product, people will use it for anything appropriate to them in a given minute"

To be fair, what other simple way is there to send a document to a contact through an e2ee channel? Mail + PGP/GPG? Wormhole?? openssl???

Sending it via WhatsApp (which also has desktop clients, btw) strikes me as a perfectly reasonable solution. (Which is somewhat of an indictment of the current state of cryptographic software, but that's a different topic.)

Whatsapp "claims" to be e2e, but nobody knows for sure since its sources are closed.

Still more secure than non encrypted email yet a lot of people still use email to send fairly sensitive data.

This exact scenario happened with me in a prior job. Invoices, payments, everything could (and sometimes was) sent through WhatsApp. It was absolutely shocking to see people do this.

Some European governments are effectively run via WhatsApp.

maybe China is right: one app to rule them all

I witnessed a cop attempting to manipulate some files I provided to him on a thumb drive. It was a slow laborious process of dragging files one at a time from the Windows image viewer to shared folder. I would have liked to just do a Ctrl-A, Ctrl-C, Ctrl-V, but that was way above his level of thinking and he didn't seem like the type who wanted an education. So I just sat there through the long, painful process--and then at the end he completely screwed up the report. Idiot.

No. There is a disconnect between domain insiders and those that are not. This is not specific to any one domain. It's also not about age.

Some insiders know about this disconnect and fewer still can bridge it easily.

Those that cannot even sense this disconnect, they're a bit of a pain in certain situations. You know, like talking to project stakeholders or customers.

Except pretty much the entire millennial generation knows about computer folders and files, as that was necessary information for graduating school.

Filesystems aren't some universal truth. They were invented at a specific moment in time for specific reasons.

(17 yo here), I think that I am eternally grateful to my cousins who convinced my parents to give me a desktop computer which is still working right now (it had a minor hiccup in the processor recently but it works), before that, I was having a 1 gb crt monitor win7 on which I somehow ran Vscode smoothly.

I am very frugal (to save money on webcam, in online classes, I had droidcam /wo-mic setup with one of my parents old phones that were so old that online classes couldn't work or were just too slow) but spending money on a decent personal computer is genuinely one of the best investments personally.

One thing my cousins did which I am sorta grateful in retrospect is they didn't buy me a gpu so my computer was really nice/smooth in everything but gaming, I still ran some games like portal series , inscryption and many other games like valorant and it was playing valorant when I started realizing its chinese company roots and kernel level access meaning that there was no proper way to guarantee to have piece of mind unless I reinstall it

So I felt like if I was reinstalling, I was watching some the linux experiments video anyway and was fascinated by linux, so I just decided to choose myself to use nobara-linux for the first time which was another one of the best decisions that I made as it opened me up to the terminal.

> grateful in retrospect is they didn't buy me a gpu

Great sentence! I will apply this to my kids as well, I guess.

I always tell them already: "In the future, you can game as much as you want, IF you learn a good programming language [which will be defined by me]" - let me see how this will work out in 1-2 years :-D

The first thing that my brothers did when I had the computer was firstly change the wallpaper to a good mountain wallpaper, installed vscode and asked me to program a python program to reverse print in python so print 10 9 8 7.. 1 each in new line (iirc) [I was in 8th grade]

then they asked me to square while reverse printing or something too. so printing 100 81 64 .. 1 each in new line.

> let me see how this will work out in 1-2 years :-D

Keep me updated haha! To be honest, I will admit though that I am not the greatest within coding itself right now as much as I love tinkering with open source. Personally I am wishing to learn coding with better interest when I get into college, I will have 4 years to learn peacefully (well hopefully if I get into decent college ie) :D

For me the challenge after using Linux was that I wanted to use archlinux because my brother (not cousin, real), flexed me his iirc distrotube archlinux once when we were eating something and I thus always considered arch to be the final boss of Linux lol and so I decided to install it and then I fell in love with arch (currently on cachy on desktop, but right now on mac which my brother gifted me :D)

On my birthday iirc once long time ago I think in 5-6th not sure, my brother gave me his laptop, I wanted to do python but python wanted admin password on windows to install properly. So what I did was I dont even remember how, but download one operating system which could then crack the windows password so that I can set new and I used that to then set a new password to then install python. to then only print hello world :D (I think only because one of the cousins I really admire mentioned that he made 2k loc of python once and I thought during that time, python is the endgame). We are talking about windows 7 but I think that windows 10 security must've gotten better. So these are some things that I have done, I wouldn't call it coding as much as tinkering but I love doing these things from as long as I can remember :D

I think this all started because I tried pirating pokemon-yellow so that I can play it. My brother just said to me google it, or told me the word rom and asked me to figure it out and I was in 2nd or 3rd grade maybe 4th grade lol and I pirated it (Hope nintendo doesn't sue me now xD)

Sorry for making this long but your comment somehow made me remember somethings that I had forgot/weren't touched in a long time xD! I think the main takeaway is that I just treated all of these as challenges I guess, like I wanted to prove myself that I can do that or if a thing is possible/not. I haven't done too much coding myself so I just say that I am tinkerer :D

I hope that this can be helpful to you to teach your kids what you mention. I mean make it a challenge where if they fail, they don't feel pressure but they also feel competitive just enough to try their best as much as they can :D and I think in some sense personally I just wanted some respect/to impress my elder cousins/brothers as they were really elder/mature than me. It's also not been all good though if you are too young than most of your cousins.

The thing is, I don't have any measurable advice, a lot of what I have done till now is just unquantified. Coding on the other hand is quantifiable in some sense (it works or it doesn't). I just do things because I wanted to, and I think I still do that same way. Sometimes I wish if the things that I want are something measurable but my mind doesn't work that way.

The thing is, which depresses me sometimes, is that I am just a number at the end of the day to many if not all whether including in future job/business etc., nobody to whom I interview when I wish to get a job from sometime from now is going to read a lot of this and with AI and some genuine problems in the industry like too many people, this problem gets even larger, sigh. So in that sense I just want to be happy sometimes.

Sorry for the long comment once again and the depressing end, but I recommend watching some cat videos though and I wish you and your kids to have a nice day! :D Say hi to them from my side!!