this post was submitted on 20 Jan 2025
150 points (95.7% liked)

Programming

20393 readers
114 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 2 years ago
MODERATORS
top 50 comments
sorted by: hot top controversial new old
[–] floofloof@lemmy.ca 62 points 4 months ago* (last edited 4 months ago) (1 children)

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.

[–] ProdigalFrog@slrpnk.net 14 points 4 months ago* (last edited 4 months ago) (1 children)

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.

[–] 0x0@lemmy.dbzer0.com 10 points 4 months ago (1 children)

HyperCard was created by Bill Atkinson following an LSD trip.[11]

🤯

[–] tal@lemmy.today 6 points 4 months ago* (last edited 4 months ago)

Steve Jobs doing a hiring interview in Apple's early days:

https://folklore.org/Gobble_Gobble_Gobble.html?sort=date

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."

[–] HubertManne@moist.catsweat.com 42 points 4 months ago (1 children)

140 years after the automobile, most drivers can't or won't repair their car!

[–] LovableSidekick@lemmy.world 9 points 4 months ago (2 children)

Car user manuals used to tell you how to refill the battery. Now they tell you not to drink what's in the battery.

[–] MothmanDelorian@lemmy.world 4 points 4 months ago (1 children)

That's because we don't need to fill our battery anymore. The warning is because of those older folks who did sip the battery acid.

[–] Aqarius@lemmy.world 3 points 4 months ago

Nah, it's because they can change you for the battery, but you could sue them for drinking the juice.

[–] derpgon@programming.dev 3 points 4 months ago

FATHER, I CRAVE THE FORBIDDEN JUICE

[–] jawa21@lemmy.sdf.org 15 points 4 months ago (6 children)

To be fair, we are at a point where most users will never need to program anything as most needs are already met by existing work. The whole "there's an app for that" marketing had a lot of truth to it.

load more comments (6 replies)
[–] urata@lemmy.world 15 points 4 months ago (2 children)

When I was a kid in the 90s I had a PC that came with Windows 3.1 and it had QBasic. I messed around with it a lot. I spent a lot of time reading the built-in documentation.

I remember making a random password generator, a text-based blackjack game, and some "screensavers" that were basically just drawing a bunch of stuff on the screen and then scrolling it off the top by printing blank lines.

It took quite a bit of time to do that pretty basic stuff, so it's really not a surprise to me that most people aren't making computer programs today. Most of anything an average person could hope to program has already been done and made available for free.

[–] ProfessorProteus@lemmy.world 5 points 4 months ago (1 children)

I did basically all those things, or very similar things, in TI-BASIC back in high school. I didn't care that they had already been done countless times; I had a blast figuring out how to make them work.

I dearly wish more people would try making basic programs that are 100% their own creation, even if it's some random string generator. It's more rewarding than they might think!

[–] YerbaYerba@lemm.ee 2 points 4 months ago (1 children)

Same here. I missed the lecture of many math classes figuring out basic on my ti84+. I mostly wrote simple games. The calculator made it easy to experiment since all the functionality could be found in menus or a button somewhere.

[–] ProfessorProteus@lemmy.world 2 points 4 months ago

Yep, same! It's probably a good thing that I didn't know the first thing about Z80 assembly or I'd have flunked hard 😂 I would have loved to make my own clone of Phoenix!

[–] FizzyOrange@programming.dev 1 points 4 months ago

nibbles.bas, a classic. I wonder if you can pay it online.

[–] MadhuGururajan@programming.dev 13 points 4 months ago

Man who celebrates the invention of the wheel laments that people won't reinvent the wheel

[–] GrumpyDuckling@sh.itjust.works 13 points 4 months ago (1 children)

Name all the bones in your body

[–] MothmanDelorian@lemmy.world 19 points 4 months ago (1 children)

Surprisingly they're all named "Mike"

[–] Roflmasterbigpimp@lemmy.world 5 points 4 months ago (1 children)
[–] MothmanDelorian@lemmy.world 4 points 4 months ago (1 children)

Those are lying, they're all Mikes

[–] derpgon@programming.dev 4 points 4 months ago

Except Jeff, everybody knows Jeff is Jeff and not Mike, but he does seem like a Mike type, so everyone just call them Mike.

[–] tal@lemmy.today 11 points 4 months ago (3 children)

Today's users have massive amounts of computer power at their disposal, thanks to sales of billions of desktop and laptop PCs, tablets and smartphones. They're all programmable. Users should be able to do just enough programming to make them work the way they want. Is that too much to ask?

Smartphones -- and to a lesser degree, tablets -- kind of are not a phenomenal programming platform. Yeah, okay, they have the compute power, but most programming environments -- and certainly the ones that I'd consider the best ones -- are text-based, and in 2025, text entry on a touchscreen still just isn't as good as with a physical keyboard. I'll believe that there is room to considerably improve on existing text-entry mechanisms, though I'm skeptical that touchscreen-based text entry is ever going to be at par with keyboard-based text entry.

You can add a Bluetooth keyboard. And it's not essential. But it is a real barrier. If I were going to author Android software, I do not believe that I'd do the authoring on an Android device.

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 don't know about this "going backwards" stuff.

I can believe that a higher proportion of personal computer users in 1990 could program to at least some degree than could the proportion of, say, users of Web-browser-capable devices today.

But not everyone in 1990 had a personal computer, and I would venture to say that the group that did probably was not a representative sample of the population. I'd give decent odds that a lower proportion of the population as a whole could program in 1990 than today.

I do think that you could make an argument that the accessibility of a programming environment somewhat-declined for a while, but I don't know about it being monotonically.

It was pretty common, for personal computers around 1980, to ship with some kind of BASIC programming environment. Boot up an Apple II, hit...I forget the key combination, but it'll drop you straight into a ROM-based BASIC programming environment.

After that generation, things got somewhat weaker for a time.

DOS had batch files. I don't recall whether QBasic was standard with the OS. checks it did for a period with MS-DOS, but was a subset of QuickBasic. I don't believe that it was still included by later in the Windows era.

The Mac did not ship with a (free) programming environment.

I think that that was probably about the low point.

GNU/Linux was a wild improvement over this situation.

And widespread Internet availability also helped, as it made it easier to distribute programming environments and tools.

Today, I think that both MacOS and Windows ship with somewhat-more sophisticated programming tools. I'm out of date on MacOS, but last I looked, it had access to the Unix stuff via brew, and probably has a set of MacOS-specific stuff out there that's downloadable. Windows ships with Powershell, and the most-basic edition of Visual Studio can be downloaded gratis.

[–] syklemil@discuss.tchncs.de 3 points 4 months ago

Smartphones – and to a lesser degree, tablets – kind of are not a phenomenal programming platform.

[…]

But not everyone in 1990 had a personal computer, and I would venture to say that the group that did probably was not a representative sample of the population. I’d give decent odds that a lower proportion of the population as a whole could program in 1990 than today.

Yeah, and these things influence each other. Today we have a networked computer in our pockets, and depending on where you live, they may or may not be required or the standard way to do tasks like get a bus ticket, login to government websites so you can do your taxes and whatnot, transfer money, and a bunch of other tasks that to a degree are really sensitive.

So as we have a bunch of barely computer-literate people functionally dependent on these devices, we also need them to be locked down and secure. MS had some grand thoughts about "code everywhere", which turns out is pretty awful security-wise, especially with gullible networked users. The users in this community have very different capabilities and needs than the users who might not even want a computer, but feel forced to get one because the government stopped using paper and bank and post offices no longer exist. (This is, essentially, what it's like in modern Norway. We might be ending home delivery of snail mail soon; mail delivery every other weekday seems to be an unnecessary expense.) Beyond the lack of a keyboard, the platform has a bunch of constraints that don't make for fun computing, but they absolutely need to be there. Unfortunately we also wind up with a split between the common restricted platforms, and the casual, customizable platforms, and not everybody gets to be exposed to the latter.

There are probably, in absolute numbers, a whole lot more people who know js or Python than people who knew BASIC in the 80s. In addition there are people who are pretty good at spreadsheet programming, and other tasks that are essentially coding, even if they're not listed as regular programming languages.

[–] TrickDacy@lemmy.world 2 points 4 months ago

I'm not sure what programming tools you are saying ship with windows, I'm not aware of any. And on Mac, brew is not from apple and must be installed by cli iirc. Xcode is the tool available for their ecosystem and it's not included with the OS but is a free albeit enormous download

[–] Blue_Morpho@lemmy.world 1 points 4 months ago (1 children)

Hypercard was free for a while.

Windows 3 shipped with Toolbook (hypercard clone) free for a while.

[–] tal@lemmy.today 0 points 4 months ago

Hypercard was free for a while.

Yeah, and I wrote some stuff in HyperTalk, but IIRC it turned into some sort of Hypercard-the-authoring-environment and Hypercard-the-player split, with the player being redistributable.

kagis

https://en.wikipedia.org/wiki/HyperCard

At the same time HyperCard 2.0 was being developed, a separate group within Apple developed and in 1991 released HyperCard IIGS, a version of HyperCard for the Apple IIGS system. Aimed mainly at the education market, HyperCard IIGS has roughly the same feature set as the 1.x versions of Macintosh HyperCard, while adding support for the color graphics abilities of the IIGS. Although stacks (HyperCard program documents) are not binary-compatible, a translator program (another HyperCard stack) allows them to be moved from one platform to the other.

Then, Apple decided that most of its application software packages, including HyperCard, would be the property of a wholly owned subsidiary called Claris. Many of the HyperCard developers chose to stay at Apple rather than move to Claris, causing the development team to be split. Claris attempted to create a business model where HyperCard could also generate revenues. At first the freely-distributed versions of HyperCard shipped with authoring disabled. Early versions of Claris HyperCard contain an Easter Egg: typing "magic" into the message box converts the player into a full HyperCard authoring environment.[15] When this trick became nearly universal, they wrote a new version, HyperCard Player, which Apple distributed with the Macintosh operating system, while Claris sold the full version commercially. Many users were upset that they had to pay to use software that had traditionally been supplied free and which many considered a basic part of the Mac.

Hmm. Sounds like the interaction was more-complicated than just that.

[–] TheV2@programming.dev 10 points 4 months ago

Why should they? Less users are programming anything, but more people have become users of computers in the first place. And we have more users of computers, precisely because the levels of abstraction do not require the ordinary user to program anything. Today's ordinary user is more "ordinary" than fifty years ago. This development of making a tool or subject more accessible to the layman, by hiding the complexities with abstractions and yet allowing more skilled users to gain advantages by peeling away the abstractions, is present in many different fields throughout the history of mankind.

If you look closely, it is not really surprising. Not even a problem at all. In fact, if you have the simple understanding that maybe somebody doesn't want to program, not because they are a stupid idiot or a lazy normie consumer, but because they simply don't give a shit about it, follow other interests and can contribute to the world with other skills, then the observation that most users are not programming anything, is insanely unproblematic.

[–] FourPacketsOfPeanuts@lemmy.world 8 points 4 months ago

In my experience it doesn't matter how accessible the language becomes, most people find the precision required to make machines behave in a desirable way is exhausting or alien to them.

This isn't any kind of failing though. I've come to see how organising modern businesses (with processes, regulations, standard etc) is a kind of "programming". And there are many who are good at that (designing human processes to automate goals) where I completely flounder, even with the help of the 'right' training, books, coaching etc

[–] LovableSidekick@lemmy.world 8 points 4 months ago* (last edited 4 months ago) (1 children)

The Tandy (i.e. Radio Shack) TRS80 was affectionately known back then as the Trash 80. My first experience at programming was in high school in 1971 or 72 on a paper-roll teletype style terminal, that was connected to a PDP-11 at OMSI (Oregon Museum of Science and Industry). It wasn't even a class, just an after-school activity run by our math teacher, Mr. Tuhy. My masterpiece was a tic-tac-toe program that could always win if it went first, and always at least tie if the human went first. I accidentally deleted it lol.

[–] Kissaki@programming.dev 2 points 4 months ago (1 children)

I accidentally deleted it lol.

Sounds like it did not win nor tie at the end.

[–] LovableSidekick@lemmy.world 2 points 4 months ago

It made a bold move, Cotton.

[–] chaos@beehaw.org 8 points 4 months ago

I see this as an accessibility problem, computers have incredible power but taking advantage of it requires a very specific way of thinking and the drive to push through adversity (the computer constantly and correctly telling you "you're doing it wrong") that a lot of people can't or don't want to do. I don't think they're wrong or lazy to feel that way, and it's a barrier to entry just like a set of stairs is to a wheelchair user.

The question is what to do about it, and there's so much we as an industry should be doing before we even start to think about getting "normies" writing code or automating their phones. Using a computer sucks ass in so many ways for regular people, you buy something cheap and it's slow as hell, it's crapped up with adware and spyware out of the box, scammers are everywhere ready to cheat you out of your money... anyone here is likely immune to all that or knows how to navigate it but most people are just muddling by.

If we got past all that, I think it'd be a question of meeting users where they are. I have a car but I couldn't replace the brakes, nor do I want to learn or try to learn, but that's okay. My car is as accessible as I want it to be, and the parts that aren't accessible, I go another route (bring it to a mechanic who can do the things I can't). We can do this with computers too, make things easy for regular people but don't try to make them all master programmers or tell them they aren't "really" using it unless they're coding. Bring the barrier down as low is it can go but don't expect everyone to be trying to jump over it all the time, because they likely care about other things more.

[–] Buelldozer@lemmy.today 7 points 4 months ago* (last edited 4 months ago)

I dunno about this; IME even when it was highly approachable most people didn't do it. I was around back then, got my first Commodore in '84, and even the Geek / Nerd circles were mostly just for people swapping copies of commercial software. It wasn't any better when I graduated High School in '91 and even in College almost no one outside of STEM was doing any programming.

It wasn't and still isn't a popular activity.

[–] Deceptichum@quokk.au 6 points 4 months ago (2 children)
[–] sirico@feddit.uk 6 points 4 months ago* (last edited 4 months ago)

BBC micro in a shop:

10 PRINT "Boobies"

20 GOTO 10

[–] azolus@slrpnk.net 4 points 4 months ago

Dijkstra wants to have a word with you

[–] mindbleach@sh.itjust.works 6 points 4 months ago (1 children)

Programming is alien. It's fundamentally hard to comprehend, because the computer will do exactly what you tell it to, regardless of what you mean. You have to think for the both of you.

[–] FizzyOrange@programming.dev 5 points 4 months ago (2 children)

I'm not sure I agree. I think most people can understand recipes or instruction lists and totally could program, if they wanted to and had to. They just don't want to and usually don't have to. They find it boring, tedious and it's also increasingly inaccessible (e.g. JavaScript tooling is the classic example).

But I think mainly people just don't find it interesting. To understand this, think about law. You absolutely have the intellect to be a lawyer (you clever clog), so why aren't you? For me, it's mind-numbingly boring. If I was really into law and enjoyed decoding their unnecessarily obtuse language then I totally would be a lawyer. But I don't.

[–] Strykker@programming.dev 4 points 4 months ago (1 children)

There was a very noticeable drop off in people at my university computer science program after the first programming class. There is an actual wall there for a lot of people in terms of comprehending how programming works, things like assigning a value to a variable where difficult concepts to some.

[–] MadhuGururajan@programming.dev 1 points 4 months ago

How much of it is them looking at the curriculum and being surprised by the amount of mathematics and theory?

[–] lemmeBe@sh.itjust.works 1 points 4 months ago

Javascript tooling ♥

[–] muhyb@programming.dev 5 points 4 months ago

I only used BASIC to open infinite windows to crash Windows 95.

[–] MothmanDelorian@lemmy.world 4 points 4 months ago

Sixty years ago as this article was published in 2014

[–] JoeKrogan@lemmy.world 3 points 4 months ago

It will only get worse with the phone and tablet generation and LLMs.

[–] RedstoneValley@sh.itjust.works 3 points 4 months ago* (last edited 4 months ago)

I can only think of one example where some simple programming skills could benefit ordinary users: Home Automation. All the more difficult stuff is already neatly packaged into ready to use modules, and the user doesn't have to worry about the ZigBee protocol or APIs or network ports to turn on a light bulb. Here some knowledge about conditionals, variables, loops can easily be used to program useful automations.

[–] dirtycrow@programming.dev 1 points 3 months ago* (last edited 3 months ago)

I fiddled with TI BASIC in school and wrote a horrifying abomination that ran Minesweeper. Complete with 3x3 clearing and flagging. Calc 1 was my free period.

load more comments
view more: next ›