Hacker News new | ask | show | jobs
The Computer Revolution Has yet to Happen (medium.com)
100 points by brucehauman 3796 days ago
13 comments

I'm going to say something a bit controversial here.

Most people are not creative. Its true. There isn't some horde of people who want to program but don't know it yet because they own a tablet instead of a computer. There isn't some horde of musicians that will never know it because their music comes from an mp3 instead of their own instrument. There isn't some horde of artists who will never know it because their images come from a camera instead of owning a paintbrush. Heck even on a web-forum where contributing content is as low friction as sharing links, only ~10% of users do it. And only 10% of that 10% actually make the content that's posted. 90% of people are happy to passively consume content.

I wish the author were right. I wish there was this huge hidden demand for a real computer revolution. I still think that when I buy a device I should actually own it (which entails freedom to modify). But let's face it idealistic nerd types. We lost. Most people are consumers not creators. Get over it, go to work, program for them, and wipe away your tears with a stack of money.

I disagree. Children are a good argument against this (actually, teenagers are even better - children go to play piano, but it's teenagers who make quite a big part of the content on the Internet), but you can stretch it even further - generally people have dreams and hobbies, they just don't have the time/capacity for advancing them. It's easy to paint "general population" as a bunch of mindless zombies, but think of any person you spent more than few hours interacting with in the physical world. Even the most stereotypical GenPop member. You'll discover that they have their idiosyncrasies and do lots of little creative things (and dream of doing more).

(Also note that some popular activities are creative even though we don't usually think of them this way; cooking is no less creative than web development or graphics design, and lots of people do creative side projects when e.g. baking gifts for friends, or throwing a party.)

I see having to work for a living as a biggest obstacle to creativity. For most people, their job takes most of their time and energy. After that, commute, making dinner and doing maintenance tasks, there's so little time and energy left that it's no surprise people are not very creative, and opt to watch TV or go to a bar instead. We're being forced out of creativity and into consumerism. I believe that things like Universal Basic Income are worth it because they could reverse this situation.

I disagree. As soon as it became as easy to create video as it was to draw, people created video content, not just consumed it. When sharing (youtube) was easy, the levels of creation have grown unbounded.

The amount of media in all forms that is being created today is astounding. That's digital drawing

If coding was as easy as writing we would find at least as much growth there. I know dozens of people who have ideas that would try to code, if it was as conceptually easy for them to do as is writing a memoir.

Such a revolution could definitely happen.

Is programming really harder than writing a memoir? It seems to be the other way around to me.
IMHO,

Coding a simple mainentence script is equal to writing a diary entry.

Coding a CRUD web app is as hard as writing an average short story in a college writing class.

Coding an app that uses heavily system programming principles, concurrency and networking probably equal to MFA level creative writing and so on...

Unfortunately, unless there is data to examine, this is only a platitude. When I survey the landscape, I'll tend to agree with the parent. Yes, there's been an explosion of content. But there's also been an explosion of consumers. Parent probably pulled the ratio out of thin air, but I'd say his point stands. The explosion of consumers is enough to handle the explosion of producers (and even the so-called prosumers). Honestly, you can count the number of YouTube stars out there with probably five digits, maybe even four. Compare that with annual YouTube views and passive accounts.
I'm not sure if there is any data to back it up, but I remember reading somewhere that the average American adult is less likely to casually partake in sports or music (compared to maybe 100 years ago) based on the perception that they wouldn't be good as a professional athlete or musician because of constant exposure to experts via television, MP3s, youtube, etc. Music and sports are seen as something that kids or experts do, and programming is mostly for experts. I think any important issue to resolve is how do we change the thought pattern and convince people that it is acceptable to do these activities without being an professional/expert?
I have to strongly disagree. Humans are innately creative--just watch any child play if you doubt this.

What many people lack is not creativity, but the confidence and skills to creatively express themselves. The majority of people do not have that spark they were born with nurtured, they have it squashed.

Childhood is my go-to argument in favor of 'everyone is creative'. I've not talked to a single person who wasn't highly creative as a child, and just realizing that makes me sad sometimes.
I've never been convinced by that argument. Looking back on my memories as a child, I wouldn't call myself creative -- I think that's something that I've developed as I've grown older, not something I was born with. Certainly, to a degree, children are curious, but that seems largely out of necessity (to learn e.g. language so you can express anything, not necessarily something creative).
Are you a guy?

As a girl, every girl I knew created imaginary worlds for her dolls, drew, and made things (for the dolls mostly).

Is there anything like that, that little boys create (before they get into computers and video games)?. I'm pregnant with a boy right now actually, would love to know what I can do to encourage creativity from the earliest age.

Absolutely! Boys do the same with their dolls. :) I spent countless hours crafting physical things (block forts, mostly) and fantastical backdrops for different generations of "action figures". From 9-10 my go to was an elaborate mythology developed around Micro Machines and dinosaur figurines. Something about dead race drivers reincarnating as sentient dinos in an alternate universe, IIRC.

I was never very good at drawing, but evidence shows I did scribble a lot.

My son loved to draw, and is still pretty good but seems less interested since his early teens. He, too, spent long hours with his different dolls, in addition to the video games.

I'd say so the same things as for a girl, honestly. Provide opportunities to draw/paint/sculpt/make noise. They will do so. :)

I think it's more around school ages that things change more. And puberty, or course.

Look back at your teenage memories too. Personally, I was more consciously creative then.
Most adults are consumers, but children are curious. You're looking at the wrong group if you think any kind of revolution will happen among the current generations.

When people argue that not everyone needs to learn to program, I contrast it to the idea that not everyone needs to learn to read. If you imagine the demand for competent readers before the printing press, it would be a similar situation to the demand for programming skill now. The ability for us all to read and share information is what has led to rapid progress. Imagine doing science without publishing text, but instead, all of our scientific ideas needed to be expressed in words and gestures, via conferences. Such thing just can't scale to the level it needs to be to have any progress. You simply can't do science without the ability to read and write.

It's becoming clear now that you can't do science without the ability to program too. Computers are a far more powerful medium for sharing ideas than text. When we use only text, to find anything of relevance in a big body of it, the author needs to write an "index" and map page numbers to alphabetically sorted words. He needs to manually update that index when the text is revised. (Fortunately, most papers are written with software which does this automatically now, but papers without hyperlinked contents/indexes are still abundant). In schools, children are taught the basic skills they need to do this, but little more which could accelerate their ability to share ideas.

We need to start thinking of programming ability as a core basic skill, among language, math, science and humanities. Most of it can be taught via math, language and science, and it would give children, who are naturally creative, a skill which they can use for absolutely anything. The idea that you learn to program to get a job as a programmer is a complete nonsense argument, it's like suggesting everyone learns to write so they can become authors.

Most young people don't want to become good at programming in the same way that most young people have no desire to become good at mathematics. They just don't want to shove their minds into that straightjacket of strict logical thought. It's naturally abhorrent to them.
Programming is a specialised trade like carpentry or metal working or ship building.

Of course you can build things with it. That's what specialised trades are for.

That doesn't mean everyone needs to learn how to be a carpenter or a brick layer or a mechanic or an architect. Most people just aren't interested, and even if they are, they don't have the mindset for it - never mind the time.

There may eventually be a way to get AI to the stage where people can "program" by telling an AI what they want, and leaving it to the AI to work out the details.

But that's a long way off. (Amazon's Echo is probably the closest thing for the moment.)

For now, the idea that most of the population is itching to play with build systems and scripting languages, or that their lives and/or brains would be improved by same, is pure fantasy.

>When people argue that not everyone needs to learn to program, I contrast it to the idea that not everyone needs to learn to read.

Programming is active/productive. Reading is semi-active/consumptive. The proper analogy would be the idea that everyone needs to learn to write well.

I slightly disagree. About half of the creative people with math knack can't code.

When I was in high school, the advanced math class had ~two types of people. People good at arithmetics and functions and people good at geometry and functions. People who we're good at arithmetics but weren't good at functions dropped out quickly.

Go to engineering school and you will find software people who thing about graphics as an afterthought. They remember numbers and words easily, enjoy squashing bugs. And they are good with function like ideas, that turn into programs. Like search engines, text editors, finding primes and brute forcing passwords. (I don't know really as I don't belong to their tribe.)

Then there are construction and mechanical engineering students. They won't code voluntarily, because they are crap at it. "What the fuck did I name that thing? How many steps should this while loop do?" Just doesn't compute. Yet these people can manage pretty massive concept design and 3D models and whatnot. CAD work is fun to them, unlike most CS majors. I'm one of that group. While I can do small programs in Python, I don't enjoy what I'm capable of doing. Learning more seems futile, as I will never be actually good at it.

This divide into two groups shows in later life too. Just check the prices of decent CAD tools, and compare them to decent IDEs. For some reason people who are able to enjoy both CAD and coding are incredibly rare. And that makes them very valuable.

If you could make graphic, grown up and powerful language, that would tap pretty huge resource of brain power. Currently it might happen as some sort of hydraulic simulation tool or autolisp plug to Autocad.

I'm going to take a more middle-of-the-road view - Some people are not creative.

I think the main problem with the computer revolution (if defined by everyone programming) is that many people don't like to program. Even those who could learn are really trying to accomplish something else as their primary task. Commercial and bespoke software is a faster way to get to work on their primary task.

Creativity isn't a trait, it's a skill. It can be learned like any other.
I would agree with you that most adults are not creative, as it gets knocked out of them at a certain age. We live in a failure averse society and as soon as a child feels embarrassed by a failure they went through it's pretty much game over for them for whatever that failure related to.

I would tend to agree that there is a dirth of painters, musicians, etc in the world. Of my close friends only two of us can play a musical instrument. I think I have to agree with you that easily accessible programming is never going to result in lots of people programming.

In a lot of ways universal programming has gone about as far as it will go. Learning how to program (let me be clear, I do not mean learning how to be a good software engineer) now is actually easier, IMO, than learning a musical instrument. Of my closest friends, two of us play a musical instrument, but three of us program: there's me, the SE, my friend who is an Urban Planner and knows GIS software and R really well, and my other friend who is a patho-biologist and knows Python and R.

All, we need is harmonized interfaces for users customization like https://en.wikipedia.org/wiki/ResEdit (Let users change the ressources: images, sounds, texts - for translations, improvements).
I wish I could be so confident about what 'there isn't'. There's no demand for a real computer revolution in the same way there was "no reason anyone would want a computer in their home." - Ken Olson, president, chairman and founder of DEC
> I wish there was this huge hidden demand for a real computer revolution.

When has there ever been a huge hidden demand for revolutionary technological developments?

To the author: I could not agree more. In the long term history of computing, I would hope this stage we are in now is not the height of the "revolution".

In my humble opinion, to which I am entitled, current Apple hardware is still well-designed like the Apple hardware of the past, but none of it resembles a "bicycyle for the mind".

These phones and tablets are "computers" but are programmable only by permission; they are consumption instruments that are meant to support some plan to dominate the communications, media, entertainment industries. Not my idea of a programmable, pocket-sized, networked computer.

All due respect to Apple and their wild commercial success, but looking to the future, I get more excited about my RPi or Teensy than I do about my Apple devices.

I have little interest in paying for a license to a bloated, complex, proprietary IDE (Xcode) and seeking approval from an "app store" when I can write ARM assembly from a netbook or laptop using a free and open source assembler and run it instantly on the RPi.

The revolution is yet to come. I hope. kparc.com/o.htm

You can code on iOS devices. You can code in many different programming languages on IDEs available directly on the device. The code can be executed, and so programming is not inhibited.

What you are referring to is deployment. You want to be able to deploy or distribute your programs freely through the official channels. And because that is locked down, you consider it "programmable by permission." I would argue that this is not the case.

All I care about is the logic and elegance of programming. I don't care how my program runs — whether I write ARM code that is simulated through some App Store app. Whether I write Lua code that is run through an iOS game engine, or whether I deploy it directly to the hardware. That is immaterial because I still get to enjoy the art of programming.

Apple's phones and tablets are programmable computers and they can be programmed through officially and unofficially distributed apps. Both free and paid, open and closed source. Just because the official distribution model doesn't suit your personal preference does not make these devices any less programmable computers.

Also note that Xcode is free and you can freely deploy apps from Xcode to your devices. So I am not sure I understand your criticism here. Nor do you need to even use the closed-source IDE (Xcode) when the compiler and language are open source.

The tablet point is a red herring. 8-bit micros were hardly portable. So discussions about whether or not you can code on iOS or OS X are tangential.

The real issue is how easily you can code. 8-bit micros hit the sweet spot. No system available today comes close.

You powered up the machine, and the first thing you saw was a BASIC line editor. There was nothing else to distract you. It was instant-on with no setup.

You had to write code to use the machine at all. You even had to write code - albeit one line - to load a game from a tape.

For the gifted, BASIC led naturally to machine code and to graphics made by writing bytes into memory.

No modern environment has anything like the same simplicity, directness, or sense of natural progression.

Xcode, gcc, anything with a build system (never mind a package manager) are insanely complicated in comparison. They're so complicated professionals have to write books explaining them to other professionals.

Even Python - possibly the best candidate for a successor to BASIC - has a quirky IDE and two and a half different popular versions, and a lot of other complications that a BASIC cursor doesn't.

JavaScript? You really have to learn CSS and HTML and jQuery and $(infinitely long list of frameworks goes here) and - oh look, is that the time?

There is a huge difference between encouraging programming by making access to it friction-free and trivially easy, with a learning space that's comprehensibly small but not dumbed-down and toy-like, and making programming possible for users who don't mind hurdling a lot of obstacles.

That first category is completely empty today. It shouldn't be, but it is.

I often get told that my iOS coding app takes people back to their BASIC days. Most people who use it end up telling me they are strongly reminded of the magical feeling when they first discovered programming in their youth.

Kids and schools who use my programming app seem to enjoy the same feelings, but for the first time instead.

I don't believe that it was ever easier to code than it is today. There are myriads of ways to discover the magic of programming. Coding isn't "for the gifted," it's for everyone. Just because the gifted were the only ones who got past the opaque interface of an empty BASIC editor, doesn't mean we should go back to those days.

Your reminiscence for the early days exists right now in beautiful recreations of those environments by the people who loved them [1].

I have been developing a friction-free programming environment for over three years now. And it's not dumbed-down, or toy like. It's instantly on, and you're immediately inside the most interesting place to code, and you instantly run your programs.

I code with my three year old. We do logic and programming games, play with visual programming, and so many other things that never existed when I was a kid. It will only get better from now.

You and I live at a time where every new day is the best day ever to learn to code.

[1] https://github.com/antirez/load81

Yeah, complexity and that we hide the carrots. Bear with me.

I still remember a point in my early teens when I decided I wanted to learn to program. I ran into a wall so hard I stopped for a good year or two.

The complexity is a considerable cliff unless you have a guiding hand (thanks dad for throwing me a copy of K&R and going off to watch startrek!), and if you didn't, you're not getting to Python around today.

First there's the "What language do I learn" search query that turns up so much confusing information. "Depends on what you want to do with it". Oh gee thanks, but I don't know what I want to do with it. I just see that other people are doing cool things with it, so I want to know how they do it.

So you dabble in Python, C, Java, whatever has install instructions you can follow, because the moment a terminal prompt pops out you're scared that you'll screw up the family magic box and get into a lot of trouble. At this point curltarmake sounds like a Polynesian dish to you. Ack.

But you never actually do something useful. Thank you helpful online tutorial, I now know how to print "Hello World" 100 times without copy and pasting it (though that'd have been faster). There's carrots for sure, but you never see them at that point. So you're like "eh, this tutorial is silly, let me try another of these 10 languages suggested".

And then later on, in high school you may have the considerable fortune to get to take a programming class that walks you through Java out of all of the things. All these OO concepts make little sense to you, but eh, you'll be tested on this. The code is still onerous and useless, but you signed up for the class. Towards the end, you'll slowly get an idea of useful things you can do with it (finally! after all these years!). Most of all, you'll develop a distaste of Java.

The wonders of childhood. I honestly believe Assembly is much more straightforward than trying to grasp the current programming ecosystem as an outsider or a kid. There's so much stuff to become acclimatized to.

So recently I've been working with a guy who wants go get into programming, did a bit of HTML&CSS&JS&Whatnot half a year ago, but he was stuck in that "I don't know where I'm going" stage. First thing I recommended him was "Automate the Boring Stuff with Python", which is a book I absolutely adore, because it first walks you through the basics (including setup), and then immediately gives you one library after another to string scripts together with.

Yes, the code may not be teaching the best conventions or habits, it never delves into OO or version control systems, but then it's interesting hubris to think beginners care about that before they got any utility out of the skill.

And he enjoyed it, learned a bunch of things, started writing his on scripts and is now getting into Django and reading through the python cookbook.

So yes, I think we're missing the mark on showing kids and newcomers how to program, in part because it's gotten more and more complex, and in part because we give them keys to doors they don't even know about, whilst withholding those to doors they care about. We've got a major sequencing problem here.

Don't be silly- Apple gives Xcode away for free, it is not bloated nor complex, nor particularly proprietary (who do you think made LLVM?) and you don't need to seek anyone's approval to upload your software to github or to run it on your own device. You can write Arm assembly on your laptop and run it on your iPhone even easier than you can on an rPi.

You are really wasting time hating on Apple and spinning them (i you really are an apple device owner) since Apple is the one who broke open the mobile device so you could run software with out permission (Before you had to get AT&T for Verizons permission to put code on your phone) and who made high quality development tools and platforms available for free.

Apple is the one who shipped the Apple 1 with BASIC... and they haven't stopped.

XCode is not free. It costs 1 Mac. Given the price difference between the cheapest mac and the cheapest alternatives the cost of XCode something > $0

Posted from a mac

But that argument simply books down to "more expensive computers cost more". True a Linux computer might cost $500 and got $0 more you can program on it. A Mac might cost $800 and for $0 more you can program on it. The marginal cost to develop is the same. But I could easily spec up a Linux workstation costing thousands of dollars. Macs being expensive doesn't make Linux computers more expensive, it doesn't raise he costs for anybody else. So who exactly is being harmed here? I just don't really see what useful point is being made.
If we follow your argument to the logical extreme there is no such thing as free software because the computer to run such software almost always costs money?

(Unless you receive a computer as a gift or it is freely leased; but then that applies to Macs as much as any computer.)

The GNU toolchain (or whatever) is licensed to run on any hardware that you can possibly use it on, which will often be cheaper and more accessible than a Mac. Xcode requires Mac OS, which is only licensed for use on Apple hardware.

You can buy used Apple hardware fairly cheaply, but I think that post still has a point about relative cost.

I'm not suggesting that hardware can't be cheaper.

I'm saying that if you define free software as software that must be available on free hardware, then there is not much free software at all.

The argument is that Xcode isn't free because its use requires a previous purchase of a computer from the same vendor.
Why does it matter that the money goes to the same vendor?

The argument is about whether the software is "free" or not. This only involves the cost to the end user. It is not concerned with where that money is paid.

> You are really wasting time hating on Apple and spinning them (i you really are an apple device owner) since Apple is the one who broke open the mobile device so you could run software with out permission (Before you had to get AT&T for Verizons permission to put code on your phone) and who made high quality development tools and platforms available for free.

Where on earth are you getting this nonsense from? You could install unsigned applications without anyone's permission on old systems like S60 ages before the iPhone.

PalmOS devices were touch screen mobile phone devices that were open to development long before Apple entered the market.

There were J2ME devices as well.

Apple didnt even have a mobile store at launch, it took third parties to get them out of their web only approach, you couldnt even write apps for the iphone until later patches.
> Apple is the one who broke open the mobile device so you could run software with out permission

I was writing apps for my Nokia smartphone before the iPhone was even a project.

I think minecraft fits the bill pretty well actually. Kids make all kinds of things in there, and it's not fragile in the way traditional programming is.

The article sort of gets hung up on form factor. Tablets are yet another window into the universe of computing, and there's a lot of creation happening.

I suspect that the real promised land will need VR for Lego-like construction of components and/or AI-assisted compilers enabling a sort of DWIM programming. As it is programming is just too fragile to be of interest to the "laity."

I thought of Minecraft too, and the other games that can be modded.

The ComputerCraft mod is interesting, especially a version where you can use a simple GUI inside Minecraft itself to create Lua scripts that control robots "turtles" and computers in the game world: http://computercraftedu.com/

A seven-year-old can make programs (maybe from smaller functions that they've already written) that will hopefully find the diamonds, build the houses, and manage the farms of their Minecraft life.

This seems possible because of the limited number of objects and actions in a Minecraft world, while Minecraft is still rich enough for plenty of experimentation, trial and error, and aha moments...

I grew up before the generation of kids who booted into basic-- I started programming with a soldering iron. I designed my first computer. Then I designed a video card for it. Then I had to write a BIOS for it.

Here's the reality though, Hypercard was a failure. People didn't use BASIC on the Apple II. some did, sure, but most didn't.

Most people are not programmers and not programming inclined. Apple gives away the tools you need to build software for your iPad or iPHone-- in the form of Xcode which is FREE FOR EVERYONE to use. It's one of the best tools out there-- when Microsoft was still charging thousands a year, Apple put theirs out for free (and of course, these days Linux and GCC and Ruby on Rails and the whole programming tradition of open source puts even more tools in people's hands.)

But heres the thing. Most people don't care. It's never been a better time to be a programmer.

But the vast majority of people don't want to be.

But heres the thing. Most people don't care. It's never been a better time to be a programmer.

But the vast majority of people don't want to be.

That just means the tools aren't done yet.

Hammers and screwdrivers are - I think - pretty mature tools. Still lots of people do not care for DIY and prefer to buy premade or pay someone else to take care of custom solutions.
Hammers and screwdrivers still require quite a bit of thought and planning. IMO, the tools of the "real computer revolution" won't be done until they're at least as effortless as the Star Trek holodeck ("computer, give me a table here, made out of metal").
Or that most people don't want to be...
I would agree with the overall sentiment that people don't want to be programmers, but I don't think it's just a lack of care, I think it's still an intimidation factor that bothers a lot of people. I would instead posit that most people can't even make an informed decision on the matter because they're too scared of computers/programming.

My experience is anecdotal from providing computer support and education over ~10 years, so obviously this should be taken with a grain of salt. But across all age groups and diverse backgrounds, those who aren't into computers seem to be intimidated by them. In trying to teach even the basics of the command line to the technicians I was training, often the biggest factor as to how fast they learned was "are they intimidated by computers?", and even those who fit the stereotype of PC gamer nerds would still freeze up a bit when going through the basics of command line like learning about cd and ls.

It's true that quite a few people probably aren't inclined towards programming - the skills and mindset a good programmer has are fairly unique, much like a good composer or a good artist. It's a very delicate mixture of creativity, technical skill, logical reasoning, knowledge, and of course determination. (This list describes all of the above professions, imo) The issue is whereas it's perfectly acceptable for kids and adults to pick up an instrument or dabble in painting from time to time as a hobby, hobbyist programming just really isn't as readily taken up.

It's why I scoff at articles that call the current generations of kids "tech savvy", since they're anything but. Most are still appliance users, and many can't even do everything the appliance advertises. I don't fault anyone but education systems that don't have strong support and exposure to programming and computers at young ages. It's the same reason that second language acquisition is so poor in the US, merely because people just aren't being exposed to it at an age when they don't have social inhibitions kicking in. The focus of the programs doesn't have to be to produce an army of super programmers, just a class of children that are familiar with the subject matter, as they might be able to recall some fact about ancient egypt or about agriculture.

I don't think we'll have a completely code-savvy populous for a long time; but it wouldn't be hard to have hobbyist programmers become much more common.

To be fair, Microsoft is also giving away a full featured IDE now.
In my opinion the most powerful and useful thing a computer does isn't flappy birds or finding massive primes, but allowing people to communicate more easily. Everything the computer does on top of letting people tell things to other people half way across at world at the speed of light (or close enough) is just icing on the cake.
There are many more people capable of programming their devices nowadays but I'd wager there's less programmers to each user now.
Here's my newest favorite computer http://museum.mit.edu/150/19
For the record, the title was taken from the title of AKay's 1997 OOPSLA keynote, which is well worth a watch.

https://www.youtube.com/watch?v=oKg1hTOQXoY

more than a minority of specialists?

All of the software, apps, and services out there should tell you that it's more than this.

I've seen multiple articles talking about people as young as 10 years old creating apps. This wasn't possible in the 80s and 90s.

I'm still not sure why adblock was thrown in there. It has only made it more difficult for indy sites and thw average person to make money and is helping to create an environment where only large corporations can survive.

The same revolution happened with the music industry: unless you are signed to a major label, it will not pay the bills.

I've seen multiple articles talking about people as young as 10 years old creating apps. This wasn't possible in the 80s and 90s.

Yeah it was. Some of us started programming at 5 or 6 years old in the 1980s and 1990s. That doesn't mean we're better at it than people who start at later ages, but it does show that it was possible for kids to code (and I'm sure some even made money at it) back then.

And so it was in the late 90s / early 2000s. I first touched code when I was 6-7, but otherwise started seriously programming when I was 12-13. The only thing you needed was a computer, a library in town, and parents who didn't limit your computer time very much.
I started programming in the 80s with BASIC as an 8 year old. So yes, it was very possible in the 80s for kids younger than 10 to learn to program. AdBlock is in reference to the quote from the early 70's from Alan Kay as a suggestion of one of the first "simple programs" a computer user might want to program. This was in the 70s long before ARPA net was called the internet and he had the foresight to identify ads as a nemesis to an enjoyable user experience.
Maybe people think that an 'app' has some intrinsic value whereas a basic demo is just spaghetti.

ps: any source for Alan Kay ads quote ?

I take it you aren't a programmer.

1) most everyone learns to code with a short demo.

2) short demos for learning to program and understanding concepts are essentially spaghetti free -- the problem is you can't even do the simplest "hello world" in walled app gardens that require elaborate toolkits and permissions.

3) source from the fine article: originally published in Proceedings of the ACM National Conference, Boston (August 1972)

> I take it you aren't a programmer.

that burn

If I say I won the putnam does it make a difference ?

ps: thanks for the ACM ref.

Then maybe you're a programmer that was so gifted you didn't have to learn like the rest of us (with hello world and simple number guessing games). If so, I completely understand why you would have the impression that simple demo code isn't necessary and everyone should just jump right into codin' apps. Sorry for the burn. You should be aware that basic demo code has quite a bit of intrinsic value especially when the users are free to try it out on their own.
As a programmer and tinkerer (hacker?) I cannot agree more with the sentiment of the article. And what follows is not a direct response to article, which I found surprisingly positive altogether, but more of a general rumination on my own relationship with 'computers' and what I often see happening among my peers as well.

I think it's important not to only see things as a 'computer specialist', especially if that perspective (perhaps rightfully) can lead to pessimism these days.

Throughout my childhood, the main reason why computers excited me was the promise of realizing all the sci-fi stuff I read about and saw on television: tricorders, virtual reality, video communication, voice- and touch-interfaces, zoom-in-and-enhance high-resolution maps, instant access to the knowledge of the world through some kind of AI (all voice-enabled, obviously).

And now, all these things actually exist (to a large degree), and in a device that I carry in my pocket!

The child that I was did not for the most part care about building these tools, or being about the modify and inspect them. He cared about using them. And he's excited about the immense progress in what feels like a very short time.

This adult that I am, meanwhile, has a tendency to instead mostly complain about wifi-issues, siri not picking up on my commands, inability to install flux on my phone, app crashes, the new Google Maps interface, dropped Skype calls, the state of front-end development, and so on.

However justified that may be, I've found that focusing on what that kid wants and overcoming the issues that stand in the way has been a much better motivator than focusing on that adult.

To name a specific example. Based on the articles and discussions here I sometimes feel a bit... sad that I've mostly been working in web development since coming of age. Apparently we're reinventing the wheel badly, javascript is a pretty bad or at best mediocre language, html/css are terrible because they were not intended for app development, npm is a shitty package manager, and so on. Sometimes I even start feeling nostalgic for the good old days by proxy.

But then, when I finish a little journalling/project logging tool that scratches a personal itch, and I can instantly release that to the web and let my brother play around with it, or when I write a little bookmarklet that allows me to fold/unfold/upvote HN comments using the letters on my keyboard, well, then I feel good again.

Because then I remember that not that long ago I wrote a game in Delphi. It required trying to figure out how to so something based on random computer magazines and a single Delphi for Dummies book, it required waiting days for help from some dude in Florida who thankfully was happy to assist me. It required putting the game on a floppy disk and hoping that as it was passed along to my dad and his colleagues, it would somehow get into the hands of others.

That's when I get excited again about working with computers, and the progress we've made. And that's the mindset that makes it easier for me to try and think about ways to get my younger siblings and others as excited about building and tinkering as I am.

The Computer Revolution Happens, would be a better subject to discuss. This isn't something that is going to quit happening one day. It'll never stop happening.
Indeed.

I am particularly excited about Intel/Micron's 3D xpoint technology, which will be on sale next year. Extrapolating the exponential rate of improvement in storage technologies, I wouldn't be surprised if we had persistent TB storage at SRAM speeds by 2040.

This is gibberish. The programming tools on the iPad are already quite powerful - far better than those old basic powered micros.

There is also no reason to believe that XCode or the equivalent will not come to iOS now that the devices are nearly performant enough.

As far as a completely open system like Smalltalk goes - that was a wonderful world which I wish we lived in, but we don't - not because of Apple, but because of malware, black-hats, and cyberwarfare.

Apple does not have to open up the whole system - there are some good reasons for limiting the access of applications to the system part of the filesystem and the bare hardware.

However, Apple also very much limits the ability to run e.g. Squeak as an app on IOS, you might run it, but not download source code over the internet. And if you read the Anandtech iPad Pro test you can see how much software is held back by the restrictions on exchanging data between apps.

I am writing this as an Apple user and owner of several IOS devices. IOS was a huge accomplishment in touch UI usability, now it is time to develop the computing part to similar levels.

Ipad dumbs down personal computing by doing things in this way. https://www.youtube.com/watch?v=gTAghAJcO1o (Alan Kay talk, 14-15min)
I love Alan Kay, but he's just wrong there.

And since the PC and Android are not locked down - why don't we see the magic there?

Windows 10 is a walled garden.

Android is Google's walled garden by default.

There is no magic in walled gardens.

I completely agree. I just think that Apple does too, but just isn't moving as fast as we want them to.