When Dartmouth College launched the Basic language 50 years ago, it enabled ordinary users to write code. Millions did. But we've gone backwards since then, and most users now seem unable or unwilling to create so much as a simple macro
I dunno. I’ve been programming on and off since the 1980s and professionally since the early 2000s. It still always takes me forever to build anything worthwhile and even longer to maintain it. Most software these days is complicated enough that it requires many people to build and maintain. I’m not sure that “everyone should be equipped to program what they need” was realistic even back in the 1980s, let alone with today’s complexity.
Most users don’t want to be sucked down a bottomless time hole just getting their computer to do a thing it won’t do, and understandably prefer to have someone else suffer this for them, then use what was built.
So I don’t know about the goal of everyone being able to program. I still think it’s a worthwhile goal that people should have full control over their machines so that they can install and uninstall what they want, configure devices to work the best way for them, and turn off the features that don’t serve the user at all. And I think open source software is great for bringing technically inclined people together to collaborate on what’s actually useful to people.
I agree entirely, especially as modern systems massively ballooning the required knowledge and skill.
However, I do think there could’ve perhaps been a happy medium, where OS’s retained and continued to develop a simple, built in way to program easily and without setup to retain the spirit of what BASIC provided.
I guess I’m imagining a sort’ve evolved version of Hypercard, which seemed to be on the path of providing something like that.
The beauty of HyperCard is that it lets people program without having to learn how to write code — what I call “programming for the rest of us”. HyperCard has made it possible for people to do things they wouldn’t have ever thought of doing in the past without a lot of heavy-duty programming. It’s let a lot of non-programmers, like me, into that loop.
David Lingwood, APDA
There seems to be Decker as a spiritual successor, which is pretty neat.
In January, we began interviewing candidates for the software manager position.
As soon as the guy walked into the room, I knew it was going to be problematic, because he seemed extremely straight-laced and uptight, dressing more like an insurance salesman than a technologist.
I could tell that Steve was losing patience when he started to roll his eyes at the candidate’s responses. Steve began to grill him with some unconventional questions.
“How old were you when you lost your virginity?”, Steve asked
The candidate wasn’t sure if he heard correctly. “What did you say?”
Steve repeated the question, changing it slightly. “Are you a virgin?”. Burrell and I started to laugh, as the candidate became more disconcerted. He didn’t know how to respond.
Steve changed the subject. “How many times have you taken LSD?”
The poor guy was turning varying shades of red, so I tried to change the subject and asked a straight-forward technical question. But when he started to give a long-winded response, Steve got impatient again.
“Gooble, gobble, gobble, gobble”, Steve started making turkey noises. This was too much for Burrell and myself, and we all started cracking up. “Gobble, gobble, gobble”, Steve continued, laughing himself now.
At this point, the candidate stood up. “I guess I’m not the right guy for this job”, he said.
“I guess you’re not”, Steve responded. “I think this interview is over.”
I’ve felt for a long time that continuous gradients of complexity with sensible defaults all along the spectrum is a general architectural pattern necessary for wide spread empowerment. But I don’t see anyone thinking in those terms. Maybe it’s just me, but it feels obvious. As you say, but everyone is going to dive into the source code. So let them find the level at which they’re comfortable.
That’s a good way of thinking about it. Even experienced developers appreciate being able to put the bones of an application together as quickly as possible so they can focus on the bits that make it unique.
I dunno. I’ve been programming on and off since the 1980s and professionally since the early 2000s. It still always takes me forever to build anything worthwhile and even longer to maintain it. Most software these days is complicated enough that it requires many people to build and maintain. I’m not sure that “everyone should be equipped to program what they need” was realistic even back in the 1980s, let alone with today’s complexity.
Most users don’t want to be sucked down a bottomless time hole just getting their computer to do a thing it won’t do, and understandably prefer to have someone else suffer this for them, then use what was built.
So I don’t know about the goal of everyone being able to program. I still think it’s a worthwhile goal that people should have full control over their machines so that they can install and uninstall what they want, configure devices to work the best way for them, and turn off the features that don’t serve the user at all. And I think open source software is great for bringing technically inclined people together to collaborate on what’s actually useful to people.
I agree entirely, especially as modern systems massively ballooning the required knowledge and skill.
However, I do think there could’ve perhaps been a happy medium, where OS’s retained and continued to develop a simple, built in way to program easily and without setup to retain the spirit of what BASIC provided.
I guess I’m imagining a sort’ve evolved version of Hypercard, which seemed to be on the path of providing something like that.
There seems to be Decker as a spiritual successor, which is pretty neat.
🤯
Steve Jobs doing a hiring interview in Apple’s early days:
https://folklore.org/Gobble_Gobble_Gobble.html?sort=date
I’ve felt for a long time that continuous gradients of complexity with sensible defaults all along the spectrum is a general architectural pattern necessary for wide spread empowerment. But I don’t see anyone thinking in those terms. Maybe it’s just me, but it feels obvious. As you say, but everyone is going to dive into the source code. So let them find the level at which they’re comfortable.
That’s a good way of thinking about it. Even experienced developers appreciate being able to put the bones of an application together as quickly as possible so they can focus on the bits that make it unique.
Yea, and then being able to traverse the layers in a reasonable way when needed/desired without needing be stuck or live in one of those layers.