80's kids started programming at an earlier age than today's millennials
thenextweb.com
thenextweb.com
The Apple ][e became an Amiga and I moved on to AMOS, then a 486 when I finally switched over to hacking around in "real" languages like C and Pascal on DOS, windows, and eventually Linux. Then came college (I knew I was going to major in Computer Science since... always).
My resume shows a little more than 10 years of 'professional' programming experience, which is all anyone cares about, but when you hire an 80s kid like me, you're getting a lot more experience than you imagine.
Yea, yea, a lot of the early stuff was undisciplined hacking and flailing without the proper theoretical grounding of a CS education. But I say it still counts for something :)
One of the local high schools bought a classroom of them and offered "Computer Math" as an evening extra-curricular for younger kids.
The difference then was that access to computers was something new and exciting. Today's kids grow up with computers from almost birth. They are commonplace items and don't strike up as much interest or curiosity.
So much cooler than rows of cabinets full of rack-mount equipment in a modern data center :)
Most of the time I asked my mom to type it in, but since I actually did it a few times by myself I tell people that I started programming when I was 8. However, I didn't really get started until a few years later.
I'm so glad for that computer though because it got me into video games which is what got me interested in building computers and then programming.
(Of course we can't restore it 1:1, but that quality is so valuable)
UPDATE: I was probably a bit, er, terse. I am really about restoring that quality, and yes, the world has moved on and is in many ways better, so we absolutely cannot "go back", and yes, it is absolutely not a trivial problem. In fact, I'd say it is very, very hard. But so worthwhile.
Components are: open source; languages, particularly for UI programming that make "open source" meaningful (giving people the ability to tinker); development/customization interfaces on devices (shame on you, Apple...and almost everyone else), languages and libraries/frameworks that collapse our incredible complexity stack for the many simple things we want to do, etc.
Most people don't care about learning how things work. Otherwise we'd all be engineers. And even among engineers there are only a few people who want to understand how things work.
And that's fine. You have your specialty, they have theirs. And when you need help with it, you don't need to be an expert in the subject because you can hire one for a short period of time.
I'll be honest, I don't know how my furnace works. It just does. And when it doesn't, I call an expert to fix it. Because that's gas and fire and a whole lot of pipes and there's an air conditioner somewhere in the mix and I think that's a humidifier attached? Doesn't matter, I have more important things to think about and I don't want to break it even more (or worse, blow up my house). I'll let the expert handle it.
That mindset, my mindset, is completely alien to people of my parents generation. I think it's the same thing for hobby programming in my generation.
Here's a qbasic program to draw a line on the screen.
10 SCREEN 13
20 LINE (X1, Y1) - (X2, Y2), COLOUR
What's the equivalent in a modern language? 1. Open Paint (or other options).
2. Click line icon on toolbar.
3. Click canvas, hold down click.
4. Move mouse.
5. Release click.
Don't need a language to do it. Don't even need a keyboard to do it.I'm not sure there's a real path to "restore" that original mindset for the vast majority of people now.
I remember getting the full Hypercard development stack with the Mac LC my parents bought when I was a kid. It just came with System 7, and given that there was no Stack Exchange or anybody around to ask I had to figure it out by reading other stacks. There aren't many languages you can learn with virtually no other programming experience from just reading the source, but Hypertalk had lots of syntactic sugar to help the young reader.
For anybody who has not seen it, Hypertalk code looked like:
ask "What is your name?"
put it into card field "yourName"
The language came with the UI builder built in, so making a button was as simple as dragging it onto the stack, then opening it up to write the callback directly into the object.When you opened the button, you would see the text editor with:
on mouseUp
end mouseUp
already populatedI mean, you can do the same on any computer, but SBCs seem to make people approach them differently. By not looking at all like a PC, people simply forget to treat them like a PC. And it's fantastic.
I don't think this actually solves the problem though. The problem is that there's no magic anymore. It's just normal. I know children who aren't quite walking yet, can't quite form the word "banana", but can operate an iPad comfortably enough. They will never, ever, approach a computer with the sense of wonder that I did my Atari.
Computing is simply so universal that today's children approach it with the same awe and wonder as you would electric lights or running water. That doesn't mean we'll have no plumbers, electricians, no-one will be fascinated by electronics, etc. But it does mean that it'll never be the same as the 80s.
> approach it with the same awe and wonder as you would
> electric lights or running water.
I think a better analog would (should?) be paper and writing, a medium not a tool (see Alan Kay). Just because pen and paper are ubiquitous and seem unremarkable (they are not, they are extremely remarkable and refined information processing/storage technologies!), doesn't mean they can't get used to create. And of course computers are used that way by a lot of people, but only in simulating old media. So in many ways "computing" is not universal. Tools built by computing and often simulating other tools are.
I started programming at roughly 7 in 1980 by sneaking away to get on the Apple ][ computers the school had. My own 5.25" disk was like a gateway into another dimension.
I've done several speeches on career days at my local elementary, middle and high schools. Kids have no interest in learning how computers work anymore in my experience. I always offer them full lists of resources and offer free mentoring. Have never had a kid follow up in 20+ years of doing this. Which I would have killed for that opportunity as a child.
I think partly it's when I describe the job of being a game programmer though. It's work, what they want to be is a game designer, which is really just a game player. And there's absolutely nothing wrong with that. I just wonder where all the curious kids went.
Knowing my luck, that will be $15 / hour in present dollars. :)
If you just typed in the line '10 PRINT "I AM THE GREATEST!"'
and then "RUN", you had a working program.
Type in a '20 GOTO 10', and you were making magic happen.
These days, kids turn on a computer or their phone and they have no clue as to what directories are, source code looks like, or how to do even basic things with a command line.
Things are just too easy for kids these days.
It reminds me of the Butterfly Struggle Story: http://instructor.mstc.edu/instructor/swallerm/Struggle%20-%...
So, programming learning methods were different.
First, you had to type in all that code, and inquiring minds would eventually wonder what each of those lines did. So you would learn something new with every month's magazine that arrived in the mail.
Second, you had to debug all that code you typed in, because no one can manually type in 1000's of lines of code copied from a magazine without errors.
it was a fun time to learn....
I remember typing in pages of hex code to add the ability for AppleSoft basic to draw in double hires mode, another program to get more sounds from basic than the simple peek command could do, shape tables so you could write text in graphics mode, etc.
At least with Basic you would get syntax errors.
I never did have a real assembler for my Apple IIe. I used the built in miniassembmer to learn 65C02 assembly. But you couldn't use that to type in the assembly version of the code in magazines.
You can either have something be really difficult to learn, or you can have mass-market adoption. I'd wager that easier-to-use computers have a benefit that far outweighs any negative that comes from hiding the underlying code and commands.
I don't know how to fix the bus I'm riding on if it breaks down, but that's okay because most of the time it doesn't break down and if it does, there are other people who know how to fix it. And if I wanted to learn how to fix the bus... it's really easy to open my laptop and go to YouTube and watch a video on how a bus works.
There's no need to force me to build my own bus before I can ride on it. People who want to build buses will learn how to build buses. And people who want to build websites that teach you how to build a bus will learn how to build a website to teach people how to build a bus.
You don't need to force them to learn it. If they want to, they will.
While I like a nice UX as much as anyone, I think that the challenge of using a computer back in the day had its beneficial outcomes.
I think it's quite the contrary. When you booted an Apple II, a C64, you get instantly inside a REPL. In order to get into any REPL on a Windows box, you need to choose a language, find a place to download it, read instructions, install it and run it. Then you need to figure out how to run it (or compile it into something you can run).
That's a huge stack of concepts even to start it. Then you may have your first contact with alien things like a "console" or, worse, have to deal with the mile-high stack of any GUI.
In all fairness, I started in my early teens and, in hours, had a program. In months I had a pretty good understanding of how my Apple II+ worked. If anyone starts in their teens now, it'll take a couple years to have command of a platform.
I'm saying that kids have it too easy in terms of being able to use their computers without having to even learn what a command line is.
The easy part is how they just turn on their computers and click the mouse at icons.
Kids were only motivated by the idea of playing, like kids today, the difference is that nowadays you can just launch League of legends
And, while one could have a reasonable expectation of being able to write some crude games in the 80's, the idea of someone being able to write a LoL is completely absurd.
I edited a QBASIC program (`gorillas.bas`) in ~1994. I was 9, and an IBM systems programmer was a foot away from me. I wrote a LOGO program to draw my initials on the screen when i was 11. I stumbled through a J2SE 1.4 course in at 16 largely by trial and error, and a c++98 class at 18.
The first time I wrote a program and understood anything about what was happening in moderate detail, i was 19 or 20. (matlab, and shortly thereafter, latex)
The first time I thought "huh, i can actually code", i was 25. (c#)
I'm 33 now, and I am finally a semi-proficient coder. (python, c#, matlab, latex, ... )
I think the author is romanticizing the past too much and could probably use a good refresher course on the history of CS and programming languages.
- opening a terminal
- `python`
- `print "mikestew"`
The friction to get over is the Terminal ("You mean I have to type to get the computer to do something? Why can't I use my mouse?", and the situation if the above fails because you were using Python 2 or 3.
“Might be”? I mean, compared to “boots to BASIC REPL” (or even “boots to DOS prompt”), discoverability of a minimal usable programming environment on modern consumer OSs is much worse.
Cory Doctorow had a great article on this 6 years ago: https://boingboing.net/2012/01/10/lockdown.html
I think it is similar to how vehicles evolved in the early 20th century. In the 1940s and 50s, car engines were designed to be serviced by the user, and the relative novelty of automobiles meant that a lot of young men made it their hobby to crack open the hood and tinker around.
Later, as repairability and novelty declined, mechanic work became professionalized for all but the most hardcore hobbyists.
But take a look at Scratch, which is commonly used to teach children programming. It's amazing, way better than anything we had in the 80s or 90s.
80s: databases, programming, administration, networks ... that's what you did with computers, and nobody did this yet. Computers were the future and parents wanted their kids to know the future, a computer. Only thing to do ? Developing, and later administration.
Today: cell phones, games and ADS ADS ADS. Distractions, ADS, LOOK HERE, ADS, ADS, ADS. Everything is a computer, and actual computers (the ones you can actually program) are the past, not the future, and they won't come back.
Oh and by the way, to develop for those ADS ADS ADS computer/"phone", you need either a $1200+ machine (ie. a macbook), or a $800+ machine (one that can reasonably run the android emulator + full IDE, which is bloody heavy, more if you want it in laptop form).
Your comments on computer prices leave me scratching my head. The Commodore 64 launched at $595 and that didn't include the disk drive. Adjust that for inflation.
Also, the tools are free today. I don't remember what I paid for Editor/Assembler on my TI-99/4A, or my first copy of Borland C for MS-DOS... but it was a lot.
No chance of that with Roblox and the like.
The lucky few nerds that had access to a computer back when (and keep in mind it was very much a luxury device with limited use for families) didn't have that much else to do with it, compared to today.
I'd argue that "today's millennials" (urgh) get to explore a lot more career and hobby opportunities than they would with computers back then. The computers back then were specialized devices for the elite and already technically inclined; today's computers (and phones, etc) are for everyone.
I relate to Woz saying he did the stuff he did to show (off) to his friends. With the BBS, it was the same thing. We had a whole community, but since it was mostly local, it was closer. We of course had trolls back then too.
Computers before modems were quite boring, especially with limited resources. You had the manual that came with your computer and maybe another book or two, or a magazine subscription. Getting a modem really opened up a much larger world of socialization with other computer people.
FWIW, I started using computers in earnest in 3rd grade. The local school got a new computer lab of TRS80s and offered after school computer classes; one for kids and one for adults. I had been fascinated with them before, but I don't remember when exactly.
Even if most people never go on to program more than that, those are the baby steps that you climb from if you do.
Back then anyone could give-it-a-go at any point. Many fewer people expected to go to university.
These days people anticipate the degree requirements of employers, a self fulfilling cycle
Today people would probably laugh at this, but it was fun for me and others in the class
Gen X kids programmed at a younger age than millennials.
10 PRINT “HELLO!”
20 GOTO 10
I’ll just leave that there for a bit more 80’s nostalgia.