Hacker News new | past | comments | ask | show | jobs | submit login
The Rise of the Tech-Savvy Parent (thewalrus.ca)
116 points by ardy42 30 days ago | hide | past | web | favorite | 102 comments

It's not clear to me why they should be "digitally superior" - whatever that means. Kids just need to tap icons on their touchscreens nowadays. They seldom need to tinker with or troubleshoot computers.

Just spitballing here, but I'd expect peak tech-savviness to have occurred in the 80s and early 90s. If you were old enough to want to play resource intensive games released in the run-up to Win95, you'd sometimes need to free up memory by messing around with config.sys and autoexec.bat. Good times...

I'm seeing this right now, I grew up programming (started at 7), at 9 I was way more computer fluent than my 9 year old step-son is now.

I think it's simply that modern machines are (generally) so reliable that you never have to get under the hood to figure out what broke until you (rarely) do and then you have no conceptual framework for trying to resolve what is broken.

His trouble shooting process is handing it to me and telling me "it's not working".

I refuse to fix it unless he watches and pays attention to how I'm fixing it, slowly he's starting to understand that none of this stuff is magic.

I don't care if has no interest in computers generally but I think it's important that he realises the devices/technology he interacts with isn't just a magic black box.

He was interested in what I was programming the other day though so I told him we could build a website together as long as he chose the subject, wrote what he wanted to put on it and wrote the code with my supervision, inevitably it's going to be about Fortnite but I'll take whatever wins I can get.

Generally I'll ask answer his questions with questions, we had a discussion about IP addresses the other day (though he had know idea what an IP address was) because he was curious how one computer "talks" to another so I asked a bunch of questions "Assuming you had lots of computers how would you tell one from the other" "I'd number them" "Ok, so what if you wanted to replace a computer but keep talking to it as if it was the old computer?" "I'd make it so the numbers could be changed for each computer", "OK, so you have millions of computers with millions of numbers how would you know which number went with which computer?" "well...I'd name them but in a way that I could say this name belongs to this number", I was proud, he pretty much figured out DNS without knowing DNS was a thing.

So then I showed him the config panel for a web host and pointed out that his names and numbers where an actual thing.

> I think it's simply that modern machines are (generally) so reliable that you never have to get under the hood to figure out what broke until you (rarely) do and then you have no conceptual framework for trying to resolve what is broken.

You have the same problem with cars. When I was 18 I was able to disassemble and reassemble my car and basically fix anything which broke. I even replaced the bodywork one time after a crash.

Today nobody even changes their summer-/winter-tires on their own anymore, let alone changing oil or renewing breaks.

You could also say that the machines became so reliable and so complicated that most people don't need too look under the hood and if they need it's too complicated anyway.

Why is that a problem? This is the case with all technology that has potential to become utility. Nobody complains that they can't take their water from a nearby well any more, or that their letters don't take days to be delivered.

One issue with cars is that many of the simple tasks to cut your teeth on, can now require a lot of work. I had a car that you couldn't change the battery without removing a wheel and using a lift.

Life in larger cities has become so expensive that it's difficult spending money on a car or time to take a car apart and putting it back together. Some people do it but empirically, I think it's mostly chavs.

Off topic, but you might be interested in this, it's an attempt at an API for fortnite stats etc.


You're an amazing parent.

I grew up learning programming at early age. Things got more reliable, and more automatic too. Setting up a web page is easy, dynamic db apps are trivial now. In the pas you would have to do all that yourself

However, if you somehow get into new areas, it feels similar. Like smart home tools of today are very badic and requires a lot of troubleshooting.

In fact, it is much harder to tinker with technology than it used to be. Not only is it more complex, but phones are also locked down so you are not really able to control your own device, or it does at least require quite some effort to do so, and can't be done using the device itself. Both Apple and Google in practice discourage people from tinkering with the device.

It might be harder to tinker with The Device, but tinkering kids these days are not bereft of options. When I was a teenager I remember badly wanting a "386 single board computer" which I saw advertised in the pages of Popular Science for hundreds of dollars. Imagine the things I could do with a whole computer small enough to hold in one hand! It could breathe new life into my projects and bring my tinkering to a whole new level! Sadly this marvel was beyond my budget at the time but today you can buy dozens of such boards for a fraction of the price. Boards with a dizzying array of integrated peripherals teenage me wouldn't have even known what to do with. Today there are uncountable open source projects you can download immediately to run on these boards, whole sophisticated stacks which can be imported now and torn apart to be stitched back together tomorrow. A tech-interested teen today can buy devices with their pocket change that have more power and flexibility than any of the platforms I had access to as a kid.

It may be worth observing that the window when teenagers and younger were messing around with config.sys files and routinely building DOS computers from parts was actually pretty narrow.

I'm a bit older and didn't touch a computer keyboard (actually a teletype) until late in high school and didn't even do much with computers in college. (I'm an engineer by training but not CS.) I was working when I got into PCs, initially as a way to do some engineering calculations and project tracking on my job.

I agree that although consumption is the norm, the options and information available for those who want to go under the hood is pretty amazing today.


I remember having a hard time searching for information when I was young, as it was pre-internet and I was reliant on my parents on driving me places like the library to access information.

Nowadays, if you want to learn the ins and outs of something, you can order books online or watch informative video tutorials made by people who have been in the tech field for a significant amount of time.

I think the lack of availability of information made us more creative. I was trying to build a side scroller game when I was a kid in Turbo Pascal, there was no Internet and nowhere I could find out how to do it. Even though I never managed it in the end I spent countless hours trying and coming up with my own solutions to problems. I wouldn't have been the developer I am today if someone just gave me Unity and YouTube to copy parts from tutorials without allowing me to understand how things work at the lower level.

It's only harder if you make it harder and don't put any thought into it.

Desktop computers still exist, and you can still order the parts to make your own. You can even buy cool glass cases where the parts are exposed and all light up.

Raspberry pi are essentially free, and can be used for all kinds of interesting stuff. Do that.

See also Razer synapse, the El gato streamdeck, programmable keyboards, all of which still exist.

Phones are not the only computers.

Sure, but it's no longer the device people have to be default. Kids usually aren't in a position to order expensive and/or niche stuff on a whim...

Fortunately, those kids frequently have parents who care about their development and bemoan the unhackable nature of their phones.

Well, nowaday most people drive but can't fix their cars. Makes sense the same is happening with IT.

Yup, not having to fix your own car happened one generation ago. Now it's happening to computers.

Like computers, it varied. Neither my parents nor I ever did our own car maintenance to any significant degree up to and including oil changes. And I don't think that's a particular outlier.

OTOH, my dad did a significant amount of major renovation work with the fixer-upper house I grew up in.

A lot of it comes down to choosing how you spend your time and what skills you choose to develop. Because you probably can't do everything yourself.

The cost becomes exponential though. Learning to fix a tesla is not the same as learning to fix a 70' ford.

Sure. Some tasks are more accessible to someone willing to put in the time and buy a reasonable collection of tools than others. But even if I could, say, teach myself to build a deck or lay a brick patio--or a myriad of other tasks around my house and in my personal life, I'll probably still choose to let someone else handle some portion of them based on interest, money, perceived difficulty, available time, etc.

I'd argue that it would actually be easier: modular, less component-level repair.

The difference is Tesla won't sell you technical manuals, which are reserved for their chain of authorized service shops.

Tesla is pretty much an extreme example. My understanding is that, unless things have changed, they've effectively thumbed their nose at the Massachusetts Right to Repair law.

See, e.g. this thread: https://teslamotorsclub.com/tmc/threads/does-teslas-parts-an...

Tesla isn't an outlier; the problem is far more systemic than I'd wager most realize.

E.g. Helm[1] is the official publisher of OEM technical manuals for at least 23 vehicle makes--the same manuals used by their respective authorized service shops. Something happened circa 2012-2013 that caused most of these manufacturers to stop allowing direct purchase of their service manuals by the general public, including Acura, Lexus, and Honda being the 3 that I've kept a close eye on over the years.

[1] https://helminc.com

Not only that but people these days are terrible drivers now that cars have ABS, traction control, blind spot sensors, even brake assist and automatic cruise/autopilot. They crash into the car ahead of them in multi-car a pile up and cry they are innocent.

People using computers seem to be the same people mindlessly click on anything with an OK button on it. Then their entire bank account is drained and they cry innocence.

Considering how much the death/injury rate from automobile collisions has fallen in the past few decades, you’re going to have a tough time convincing me that it’s comparatively bad that “people these days are terrible drivers” because controlling the car has gotten easier.

Anecdotally, several people who I rode with 20–25 years ago who were >50 at the time were aggressive and reckless drivers, much more than anyone I have ridden with recently. My general impression is that such aggressive driving used to be much more common than today. Even if they had fast reaction times and good control of steering, I would hardly call it “good driving” for public streets.

If you want to see this style of “good driving” try riding in taxis in China or some other developing country. Dudes with amazing steering and reaction times shaving every possible second off by pulling risky probably illegal stunts.

Just wait until self-driving cars become the norm. Very few people will know how to drive at all, let alone top up the washer fluid.

Cars don't fix themselves--people do.

The only difference is vehicle manufacturers have convinced ignorant consumers into believing that technology has advanced so far that only a "professional" can do it, i.e. those who hold a copy of official technical manuals.

People are happy to be convinced. They want to have their car fixed, not necessarily fix it themself.

I'm a linux guy, but why do you think people buy macs ?

Some people enjoy paying for their Kool-Aid as much as they like drinking it, and businesses are quite adept at parting fools from their money. Try again[1][2][3], just to cite a few.

[1] https://www.theguardian.com/environment/2017/mar/06/nebraska...

[2] https://www.eff.org/issues/right-to-repair

[3] https://motherboard.vice.com/en_us/article/evmeya/apple-ipho...

Again, i could link to many linux initive lile you do with cars, yet i know we are a minority.

Sure, if you were part of the tiny fraction of kids who were actually tinkering with computers. Most weren't. I'm sure the overall level of technical competence is higher today.

Seriously. There are 20-somethings now who got into development making Minecraft mods at the same age I was tinkering with autoexec.bat and QBasic.

I think it's just about desire and passion. I'm a computer programmer, recently writing zines that teach programming by creating art, and I was pretty sure my kids would be technically inclined. They aren't. They just don't have the same desire and that's okay.

My zines, if you're interested.


we’re all outliers here. The majority of kids in the 90s were no more tech savvy than today’s median kid. Probably less. You’re likely in the 90th percentile for the hacker mindset - that most kids are less geeky than you are should not be a surprise.

the surprise is that we expected the opposite

I'd put the top more or less at the rise of Linux, the BSD's and similar systems. While fiddling with CONFIG.SYS and AUTOEXEC.BAT might have given people the impression that they were 'programming' their PC's in reality all they did was find the right incantations to get their games to work. Porting one of the free OS's to new hardware is at a different level from shoving some drivers in high memory to make room for Doom.

A bit of this lives on in porting e.g. newer versions of Android to hardware which has been left behind by the manufacturer without a shred of documentation or care. If and when one or more of the alternative mobile operating systems get a foothold this might open another avenue for this type of hacking.

> I'd put the top more or less at the rise of Linux, the BSD's and similar systems.

I'm not sure the two compare so well. Kids that fiddle with Linux do so out of curiosity. For the other kids, the closest you'll ever get to config file fiddling might be when they're forced to use Linux -- which could happen, for instance, when their techie parent refuses to have a Windows box or a Mac in the house.

By contrast, take any household with a Windows box and a few kids. The latter will want to play games on the former sooner or later.

I'd rather compare it with one family which bought their children a box of Lego or a similar construction toy while the other gave them access to a scrap heap with broken mopeds and lawnmowers. The Lego-endowned kids will make interesting constructions which don't really serve any purpose but stimulate their creativity while the scrap-heap kids repair the mopeds and build go-karts with the lawnmower parts, maybe one of them puts a chain saw engine on a skateboard or something similar. This also stimulates their creativity with the added advantage of them gaining access to a whole world of possibilities while teaching them skills which can - and often will - be of benefit later in life. Nothing against Lego, mind you, but I know from personal experience which of the two gives more satisfaction in the end, at least for kids resembling the one I was.

I think it was Marvin Minsky (but not sure) who blamed LEGO for displacing Meccano and destroying engineering culture in USA.

All the complaints about kids toys being too dumbed down have been played out before.

Edgar Dijkstra complained that Americans were so rich that American so-called computer scientists built and played with computers too much instead of doing computer science that the Europeans did.

Your comment about config.sys and autoexec.bat brought a smile to me. Definitely good old times.

Also miss messing around hexadecimal editors to cheat in games.

Yup. There was a time I could write out a win.ini file from memory and understanding all the options. Today, doing the same on any platform would be impossible.

It's been many years. Computers have gotten far more complex and reliable. My uncle knew how to rebuild his car engine, I don't. Same thing.

A few years ago if you downloaded a web page you could repair it with Greasemonkey and user scripts. Now web pages are React or native apps and near impossible to tinker

Having 24MB of RAM but only 650KB usable was annoying and pressure me into learning.

When I was a kid, my dad changed the oil in our cars, replaced brakes and spark plugs, and if it broke down he could at least diagnose it if not fix it himself.

Now I'm grown up, and cars have changed a lot. I have a tesla, and the only thing I can really service on it myself is the washer fluid. But it's also more reliable and doesn't need constant tinkering.

This was what came to mind reading this. I was of the "tinker" generation with computers, which have changed a lot since then. More reliable, more user friendly. I don't expect my children will have the same relationship with them I did, just like I didn't have the same relationship with cars my parents did. But maybe they will be the tinker generation of something else...

Although I would like to think that the next generation will be renowned for the "tinkerers of something else that comes out", it is also true that industry and society has changed a lot in that regard. Back in your parents day, your dad was able to have a holistic view on his car and repair many parts also because it was more simple back then. And it was also possible to repair TVs, toasters, lawnmower and whatnot. This has just completely changed for many reasons. Things are becoming more complex and more "consumer-friendly". But in fact "consumer-friendly" nowadays feels more and more like keeping the user limited (or maybe even stupid) to never even try to ask questions/put the technology into perspective finding new use cases for him/herself or even fixing things for themselves (think about Apple policies...). So I do believe that for "tinkerers" to have a come-back a completely new era would first have to evolve again.

Indeed. Things become more consumer friendly, i.e. more general public friendly, but less power user friendly. This happened with cars (they have many electronic components that aren't as easy to repair as it was in the past, when everything was mechanic) and has been happening with computers for some time, regarding both software and hardware (walled gardens, dumbed-down operating systems with fewer and fewer configuration options[0], simplified UIs, etc).

[0]: I can only talk about Windows, which is what I use extensively. I noticed that there are many things that I could do in Windows 7 (sometimes using non-Microsoft tools, like Open Shell) and that are not possible any more in Windows 10.

I'd argue things have become more consumer-hostile, not friendly. Ease of use should not be conflated with policies that restrict users from doing what they want with their devices because they "no longer own them" or force business models like printer ink.

Yes, definitely. There is a very strong push from both hardware and software companies to make us less and less free. Modern devices are only user-friendly with regards to usability.

Yeah, I wonder of "tinkering" isn't bound to diminish with technological progress. If things like cars and computers become more sophisticated over time, presumably that pushes them progressively beyond the abilities of laymen. (More optimistically, they may simply require less tinkering to begin with.)

Tinkering is encouraged by glitches or under-optimization really since there is a reward to improvement. It brings to mind Turning's bicycle - while needing to reattach the chain every 200 yards may make you more handy one that stays on wkrks far better.

Sorry but I don't buy the argument...or perhaps can't is more appropriate?

There are only two things that genuinely preclude owners from servicing their own vehicles (Tesla or otherwise): a lack of will, and vehicle manufacturers refusing to sell technical manuals[1] to anyone other than authorized service shops.

Sure technology has appreciably advanced in 30 years, but the fact that technical details and know-how are scarce commodities in the age of information is not a generational coincidence.

[1] https://www.helminc.com

A major difference is that our relationship to risk has changed. For example, working on some parts of a Tesla or some parts of a hybrid would mean working with high-voltage equipment. Although I know some of the principles, I am hesitant to be my own electrician. I'm very cautious just doing a jump start.

Of course, this has always been the case, people just accepted (or didn't understand) the risks. The capacitors in an old TV could pack quite a charge. Working on a roof has its risks. Early chemistry kits let kids blow stuff up. Apparently it was accepted more, before.

There's a weird relationship between electricity and self-confidence that I've never quite understood; suspect it's similar to the phenomena that enables math to be the only general academic subject in which it is socially acceptable to suck at, and/or related to a lack of "correction window" when tinkering with forces that propagate at the speed of light.

That being said, I'd posit that having a set of technical manuals at your disposal would dramatically change this perception to the detriment of certain lucrative service markets. Everything breaks; the real question is who has the capacity to administer repairs, and at what cost?

It's really easy to kill yourself if you go messing around in your house wiring. It's possible to be safe, but it's not on the same plane as messing with an unplugged washing machine or TV.

Barring fires it isn't that hard. Just turn off the circuit breakers for absolutely everything in the area and test the voltages just in case there is any capicitance before touching any wires. I am a complete neophyte with wiring but that part is simple.

I took OP's comment to mean that tinkering is largely unnecessary now. Previously with both cars and computers you needed to know how to tinker because things didn't work perfectly so often. In the 80s both your computer and your car would need servicing/troubleshooting more often than today. I never tinker with my car or laptop now simply because I never have the need.

For some reason I still need to repair my computers, dishwashers, cars, etc. see https://jeena.net/posts/114 or https://jeena.net/thinkpad-t410-speakers-fix and it's still possible if you have the luck to have bought something which is possible to be repaired.

Once you have the technical information, diagnosing problems is much easier these days.

Related, http://www.coding2learn.org/blog/2013/07/29/kids-cant-use-co...

Computers, for the majority of people, are now principally consumption devices, with some small amount of guided typing of tweets and chats (which I think I would argue is effectively consumption still, in much the way that I'd consider someone speaking on the telephone to be a consumer of that service).

I would not expect someone who watched a lot of movies to be good at making them; I would not expect someone who reads a lot of books to be a whizz when it comes to typesetting and printing; I would not expect someone who eats a lot of sandwiches to be competent at baking bread; I would not expect someone who watches Netflix and reads tweets to be good at configuring or programming the computer they're using to do it.

I have long thought the term 'digital native' is a sort of filter for people who are not actually technologists but avid consumers of mostly social platforms.

I (as a computer scientist) have never heard people actually working in tech refer to themselves as that.

It's a term and concept that came out of essentially sociology writing by a number of different people in the late 90s and early 2000s.

As the linked article suggests though, it's not clear it's a particularly useful term. The digital immigrants are often more tech savvy in at least many respects than the natives because they once had to be. And most of the people I work with in tech have had absolutely no problem fully incorporating the rideshare, social media, video/ music streaming, and mapping apps into their everyday lives even though many first encountered them as adults.

Are there age-based differences in media consumption etc.? Sure. But that's much more about generational preferences and habits than having grown up before the Web.

It is about ability to use as opposed to ability to design and repair. Those are separate skills and it is possible for a shocking degree of range. A "digital native" could set up a projector easily while being clueless to the underlying principles beyond "must be plugged in and this connected to this". The fact use is so common compared to design makes it stand out more - especially since it is easy for them.

Meanwhile an electrical engineering professor may be capable of designing and diagnosing it and know about all of the nasty design pitfalls like "if you try to make the cache too low impedience for low latency it can lose its DRAM state" or "wired this way will add noise to your analog signal" but have trouble operating the menu or unable to use a tablet with the ease of a toddler.

It is possible for both to learn the other side of course.

It's a useful term that I like to use when politicians propose something stupid or harmful that is related to digital technology. It's fitting because it sometimes seems that they want to push their visions of how the internet should work on others. A good example is the current copyright reform of the EU.

I always assumed it was coined by a manager somewhere who was impressed by his teenage intern's ability to set up his email. There are a lot of people who aren't just not technical but actively phobic of computers, I think 'digital native' is more like knowing how to drive than knowing how to fix a car.

AFAIK it was introduced by Don Tapscot in his 1999 book Growing up Digital.

Here's a little more background on the term. Tapscot seems to have had the basic concept in the book but didn't use the exact term. Douglas Rushkoff probably coined the precise term.


I've heard this term first time now reading your comment. Adding it to "list of thing I hope my kids are not".

The people who are "digitally superior" as those who take an active interest in learning the tech. They are young or old, and constitute only a small percentage of the population.

This is something that I realized a couple of decades back, when my generation was supposedly the computer savvy one, after meeting a man in his sixties. While teaching computer programming to children I noticed that people tended to correlate screen time with technical ability, even when the child was a passive consumer. When I talk to children and youth today, I recognize similarities between the ones that I hold technical coversations with and my peers while I was growing up. I would not be surprised if the proportion of youth engaged with technology remains relatively stable from generation to generation.

I guess the first generation of digital natives (and those older who caught up a bit later in life) will remain the only one who had to touch relatively low level stuff (things as simple as a tree of folders and file endings).

I remember when one of the markers of being a technical person was using the word directory vs the word folder.

It seems arbitrary but I think the reason is that non technical users always feel more comfortable sitting at the exact level of abstraction of the interface without translating it into what it actually is, in computing terms. A folder is something you recognise, you put files in it, there's even an icon that looks like a folder - a file extension is the 'type' of the file and controls the progam that will open it. That's all you need to know.

I'm not sure those non technical users have got less technical with time, I just think the abstraction has moved up a level from the OS and file storage being something they have to think about regularly, to now apps mostly just handling storage and files for you and presenting the data through their interface (i.e. The concept of a file being separate from the app that uses it is going away somewhat).

The people that were dealing with folders and file extensions may seem now in retrospect to be more low level, but they weren't. That was just the interface/abstraction available to them at the time. I don't think they had a better model of what was going on underneath than someone today who just taps app icons etc.

I think language is not the best indicator, because I think one should obey the masses to keep communication efficiently, even if it hurts a bit sometimes. (drone = quadcopter, autonomous quadcopter = autonomous drone or something, app = mobile app, AI = ML/DL/if)

In my house, Mom and Dad are scientists, and quite tech savvy in our respective fields, including digital technology supporting our work. I also happen to have taken up programming and electronics as hobbies starting around 1981.

So I'm a tech savvy parent. Yet I've noticed some age differences. My kids are "quicker" at picking things up. They can notice a tiny detail on a big screen, and are more likely to recognize and remember the meaning of an icon, whereas I have to hover over it with my mouse pointer and hope for a tool tip to pop up.

So things like GUIs will seem more intuitive to them, when the real advantage is their ability to quickly distinguish a bunch of tiny abstract symbols.

The same kids will run rings around most parents no matter how tech savvy when it cames to using social media. I know way more about computers and technology than my parents at the same time my dad knows more about wiring and plumbing where I sometimes draw a blank though YouTube helps. As my dad had to interact with bad plumbing and wiring in his life I haven't.

What exactly requires tech savviness about social media? The interfaces are designed to be simple and intuitively usable by the lowest common denominator. The platforms' front-ends expose almost nothing about they actually work, and there is almost no way for an average user to fix any problems should they occur, or to customize the closed-source app released in the walled garden. Does Instagram teach you about image codecs? Does the average user have any idea how the computer vision in Snapchat filters works? When YouTube suffers an outage, what can they do but shrug and wait until the people working there fix it?

That's exactly what the article above is saying. The kids aren't learning any problem solving skills. They may be better at following social media trends, knowing the latest memes, and finding the latest hot new app, but that has nothing to do with technical aptitude.

It's more akin to the fact that I'm woefully unaware of most new pop music coming out these days as well as many TV shows/films/video channels that cater to a younger audience. Given that I'm at least reasonably connected on social media I'm probably not as completely in the dark as some my age, but I'm certainly not pop culture savvy.

What is "pop culture" even? Its just a measure of targeted advertising towards the most ill equipped to respond to it productively or healthily. There was pop culture targeting your parents, yourself, your kids, and there will be something targeting your kids kids.

The fact you show no interest in it is more a reflection that you got through the dredge of surface level vapid entertainment all kids are subject to, come out on the other side, and realize "hey look, theres stuff thats a lot better / more interesting than that" and unsurprisingly gravitate towards that over the next iteration of entry level disposable culture targeting kids.

Exactly this. We think we are tech savvy because we are better than them at our tech. That tech was plumbing for your dad, and it’s something 90s-00s for me. My kids do stuff better than me that I don’t even consider tech but it probably is.

That’s how you become an old person that know nothing about tech - you keep being good at tech and don’t consider the stuff you aren’t good as to be tech. Eventually that other tech is all there is and you are now your dad.

Tech savvy is a misnomer a lot of the time. Because it is not technology that is hard to learn as such, but the flaws. It always annoyed me when I was younger that people would think you are smart because you could brute force a printer setup. When in reality it is because I probably had nothing else to do so I could "learn" by banging my head against the wall.

Consumer tech has been refined and dumbed down to the point where everything just sort of magically works, and since it's "magic" you never have to dive into the nuts and bolts. By making it so easy to use, we are depriving people of their opportunities to organically learn like people in my generation had to.

Exceptions exist.

* Here's What Happens When an 18 Year Old Buys a Mainframe - YouTube || https://www.youtube.com/watch?v=45X4VP8CGtk

Regarding computer literacy, there are two glaring difference between the current generation and the one who grew with computers in the 90s: one is the one you mention; in the 90s we were our own tech support, so to speak, and when DOS didn't want to run that shiny game that you just got, it was up to you to figure out the problem and hopefully to find a solution. We learned a lot because we had to.

The other is that most devices are increasingly more geared towards conmsumption and less towards experimentation and creation. On one hand, I used to do crazy things with assembler, regarding direct access to ports and interrupts, that no current OS would allow. On the other, the shift towards phones has greatly changed (and IMHO, reduced, mostly) what we do with our computers.

The good news is that the info is out there for the ones who do want to learn; we didn't have that privilege. Still, these are a minority, and in my experience, the average 18yo person preparing right now to start a degree in CS (or whichever career centered around programming) knows way less about computer than what we used to know at their age.

The bad news is that you can't do any of that on modern computer systems anymore.

I started out learning how to program in Windows 95 to make games. I learned to use inline assembly to set the video mode, and then directly write to video memory at 0xA0000000.

You can't do that anymore on modern Windows even if you knew how. Today if you wanted to start game programming, you'd probably read a bunch of articles recommending Unity, which doesn't even easily support C++ FFS.

In what way were people able to introspect into their computing devices for learning? By being able to poke around OS details or the filesystem?

Doesn't it sound more important to have an IDE + fluid building so people don't have to care about the details?

There's no such thing as "don't have to care about the details."

This is the biggest difference between then and now. In the 70s and 80s computing was all about details, all the way down to the hardware, which most developers understood at the register level.

8-bit amateurs grew up with simple toy machines. They learned enough detail to allow a natural transition to professional development on mainframes and minis - far more detail and more complexity, more of an OS to deal with, but with a recognisably similar outline.

Now most development is more like LEGO - clip moving parts to other moving parts in a slightly precarious way and hope nothing breaks.

It's a completely different way of thinking about computing - kit and cookbook based, with less space for original creation and problem solving. This is partly because the details are hidden and can't be changed, but also because the ethic of experimentation and creativity based on deep domain knowledge driven by curiosity isn't the same.

> There's no such thing as "don't have to care about the details."

The whole point of the many abstractions between the user and the hardware is so they don’t have to care about the details.

Not caring about the details leaves us with people who can't fix simple issues and with applications that use way too much cpu, memory or energy than they really should. Sure, a lot of people don't care and just want to do the thing, but if you at all care that your computer that is 1000x as powerful as the one you had years ago, but doesn't really do a lot more, then you have to care. If you care about the users of your application and don't simply pass your lower development effort on to them in terms of performance cost, then you have to care. If you want to be able to fix your own issues, then you have to care.

Yes, the abstractions mean people can do more without caring, which in turn means more people can use them, but it comes at a cost too.

Performance is a business decision.

It doesn’t come for free and ultimately other things might be more important.

If any performance gains from Moore's Law get canceled out by inefficient software due to Wirth's Law, then what's the point of all the work that we technologists are doing?

You can call it a business decision, but that basically means the tech people are doing the work and making our execs rich without actually creating anything that's more beneficial to humanity compared to the computer systems of 10 or 20 years ago.

Every user application doesn't have to be written in C.

Of course not, but from reading HN, I’m not the only one frustrated with the performance state of many applications. They don’t have to be written in C to perform well. For example, I quite like using Qutebrowser, a minimalistic keyboard-centric browser that’s more lightweight than Chrome or Firefox, yet its written in Python (well, I guess the actual browser engine is C++/Qt)

I'm reading this (late) in qutebrowser! Mine has so many tabs open but doesn't hang (until it does), which is a fresh change from luakit (and Chrome but not Firefox, alas mine has many many more tabs open so that I don't open it anymore.) And I'm using because it's written in Python (and so easily scriptable from my own Python program.)

Abstractions are, almost by definition, always imperfect. A perfect abstraction sort of ceases to be an abstraction and is simply "the way things are".

It’s often useful to be able to know what goes on behind the scenes, but the hardware/software of today makes this increasingly difficult to ascertain.

Whether you are talking about old or new, it depends upon what you are trying to accomplish as well as how you go about it.

Think back to the computers of the early 1980's. It was quite easy for someone to pick up BASIC and create simple programs. Their understanding of programming will be basic and their understanding of the machine will reflect that. That is quite similar to today.

Someone who whetted their appetite will move on to more advanced concepts. With early computers, that typically meant learning about the hardware or learning about algorithms. You either had to squeeze more performance out of your software or you needed to extend your reach beyond the language (and libraries). Today's programmer is, more likely than not, going to dive more deeply into libraries or learn more about their programming language. Yes, there will be exceptions based upon the domain that interests them or what they wish to gain from their learning.

Let's say that they decide to dive deeper into how the computer works. In the case of an early personal computer, the task was relatively easy. From a programmer's perspective, almost everything can be viewed sequentially and shuffling data across a bus. If they were more interested in electronics, it was relatively easy to see what was going on by looking at a circuit diagram or the board itself coupled with reading (admittedly more difficult to obtain) datasheets. With that knowledge, it was possible to modify the existing hardware and practical to build new hardware.

The notion that we are abstracting our understanding further and further from the workings of the machine while letting that limited understanding decide how what we can do with it isn't exactly a new one. My first real encounter with that idea was from one of the pioneers of digital computers, who described the machine as fundamentally physical and analog. In other words, making the physical world digital is in some sense and abstraction in its own right.

Granted, the article's author had relatively little to say on the fronts of programming and electronics design. It was more of a critique about younger people using software with very little understanding of its features or how it works, the sort of thing that can get you into trouble when things are not working as expected. While I disagree that this problem is specific to this generation, it is a solid reminder that the stereotype that younger people are better with technology is just plain wrong.

There's definitely a false equivalency being made in being "more connected" as meaning "superior."

Certainly younger generations will always be more accustomed to interfacing with technology (this will never change). But that doesn't mean they understand it.

Get a raspberry pi and a couple of how-tos and you can watch your kid become addicted to making things sing with code.

It has nothing to do with generation. About 5% of the population has the neurological wiring that makes a good programmer. The rest are just passive users of technology, just as clueless politicians and educators seem to think teaching Excel (a useful skill) somehow constitutes Computer Science.

Do you have a source for that 5% figure?

I mean, I suspect as much from my own experience, but I'm curious to know if there's actual research out there.

From my own personal experience, I believe that most people can learn most things, but they need the motivation to do it. I find that most learning material for programming (especially courses/lectures) don't do a very good job at providing motivation. I also believe that most teachers are simply not that good at teaching, sadly, which makes learning hard. For example, often you're given an example, but not enough information to get from a blank page to the example by yourself. I do believe that its mostly nurture and only a tiny bit nature (the nature is mostly in our tolerance for certain things, especially problems we face, rather than in our ability to tackle them).

I think the exact number comes out of thin air but from observation I agree that only a minority of people are cut out for this work. Most will find it boring and tedious.

Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact