160
top 39 comments
sorted by: hot top controversial new old
[-] floofloof@lemmy.ca 67 points 2 months ago* (last edited 2 months ago)

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 2 months ago* (last edited 2 months ago)

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 12 points 2 months ago

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

🤯

[-] maegul@lemmy.ml 8 points 2 months ago

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.

[-] floofloof@lemmy.ca 5 points 2 months ago* (last edited 2 months ago)

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.

[-] maegul@lemmy.ml 4 points 2 months ago

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.

[-] HubertManne@moist.catsweat.com 41 points 2 months ago

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

[-] Travelator@thelemmy.club 10 points 2 months ago

140 years after the automobile, most drivers can't or won't design and produce new automobile products.

Isn't that a closer analogy?

[-] drspod@lemmy.ml 19 points 2 months ago

50 years after BASIC and nothing is written in BASIC.

To replicate its success from the 80s we would need a language that is simple enough for everyone to learn but actually performant and powerful enough to write an entire operating system and application stack in. Then perhaps non-programmers would feel more inclined to look under the hood, see how things work, and change their program's behavior.

The problem though, is that for any reasonably complex system or application, you need to use structured programming. This is what enabled the levels of abstraction that we use to break down programs into layers that can be understood in pieces, and it is what makes large complex software possible without ending up with a mess of spaghetti.

However it is these abstractions that turn a software's code into a Domain Specific Language, and endless APIs that need to be learnt and understood by the programmer.

For programmers it is normal to us that when we want to work on a new codebase we have to learn the idiosyncrasies of the codebase, and learn its DSL and the APIs that it uses, or exposes. But for a non-programmer, this would essentially feel like learning everything about programming from scratch. They would have to become a programmer and develop maintainer skills just to understand what they want to change. (This is why programmer is still a job).

Perhaps the real value of BASIC was that without structured programming, every program was just a pile of spaghetti that even a child could pull apart with a fork.

[-] TrickDacy@lemmy.world 17 points 2 months ago

Why would a new hypothetical language need to be able to build an OS for everyday people to take interest? I don't see how that would be the case at all

[-] qaz@lemmy.world 11 points 2 months ago

I don't see how an accessible language should also need to be able to be used for system programming. A simpler python seems like a better option.

[-] anomnom@sh.itjust.works 2 points 2 months ago

Scratch is an example of a simple programming language that could be taken pretty far, but it’s often dismissed as a kid’s game.

Or even things like IFTTT, or Apple’s Automator app (formerly called just AppleScript) that gave vaguely python like tools to less/non-programmers.

I worked on a programming tool to bring beginners from a block language like scratch up through C or Python, but we couldn’t get enough funding to finish it and google just looked at us and tried to poorly rip it off (made raising funding to compete with them even harder).

[-] AnAmericanPotato@programming.dev 2 points 2 months ago

I'd kill for a modern HyperCard.

[-] jawa21@lemmy.sdf.org 17 points 2 months ago

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.

[-] GrumpyDuckling@sh.itjust.works 13 points 2 months ago

Name all the bones in your body

[-] MothmanDelorian@lemmy.world 20 points 2 months ago

Surprisingly they're all named "Mike"

[-] Roflmasterbigpimp@lemmy.world 4 points 2 months ago
[-] MothmanDelorian@lemmy.world 3 points 2 months ago

Those are lying, they're all Mikes

[-] derpgon@programming.dev 3 points 2 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.

[-] MadhuGururajan@programming.dev 13 points 2 months ago

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

[-] urata@lemmy.world 13 points 2 months ago

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 2 months ago

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 2 months ago

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 2 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 2 months ago

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

[-] HobbitFoot@thelemmy.club 11 points 2 months ago

College computer science courses have had to go back to teaching students what computer files and folders are. A lot of computer programs have simplified themselves as ease of use overtook features as a driving factor for use.

Most people don't know how to program because they don't know the basics of computing.

[-] FizzyOrange@programming.dev 4 points 2 months ago

Nonsense. There are way more programmers now than there were in the Windows 3.1/9x era when you couldn't avoid files and folders. Ok more people are exposed to computers in general, but still... Anyone who has the interest to learn isn't going to be stopped by not knowing what file and folders are.

It's like saying people don't become car mechanics because you don't have to hand crank your engine any more.

[-] HobbitFoot@thelemmy.club 3 points 2 months ago

It's like saying people don't become car mechanics because you don't have to hand crank your engine any more.

I look at it more as most people don't need to know how to do basic car maintenance because cars and the systems surrounding cars are designed to where you don't need to know how to do basic car maintenance to drive a car.

People can learn to program, but the vast majority don't have to know the basics of how a computer works to use one. Because of that, the vast majority of users aren't going to have the drive to learn to program.

[-] FizzyOrange@programming.dev 2 points 2 months ago

Right but it isn't "the basics of how a computer works" that drives people to learn programming is it?

Nobody says "aha, now that I know what Giles and folders are I will become a programmer".

People become programmers for other reasons:

  • They want to make something (e.g. a game).
  • They are naturally interested in computers.
  • Money.
[-] HobbitFoot@thelemmy.club 2 points 2 months ago

No, but you need to know the basics of how a computer works to program. And if you are interested in computers, you are going to learn how they work.

[-] TheV2@programming.dev 10 points 2 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.

[-] chaos@beehaw.org 8 points 2 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.

[-] FourPacketsOfPeanuts@lemmy.world 7 points 2 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

[-] muhyb@programming.dev 5 points 2 months ago

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

[-] maegul@lemmy.ml 4 points 2 months ago

Working with some proprietary no code tools at the moment, and, yea, not letting people just program in a decent language is a mistake.

[-] MothmanDelorian@lemmy.world 4 points 2 months ago

Sixty years ago as this article was published in 2014

[-] RedstoneValley@sh.itjust.works 4 points 2 months ago* (last edited 2 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.

[-] JoeKrogan@lemmy.world 3 points 2 months ago

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

[-] dirtycrow@programming.dev 1 points 1 month ago* (last edited 1 month 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.

this post was submitted on 20 Jan 2025
160 points (100.0% liked)

Programming

19321 readers
44 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