this post was submitted on 20 Jan 2025
159 points (94.9% liked)
Programming
17862 readers
257 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 [email protected]
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
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.
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.It also has to be said that mobile operating systems are terrible platforms for getting into programming. The gateway drug for programming is scripting and that's pretty much impossible there, at least without doing it in some existing automation app, which isn't going to be a transferable skill.
Even if you do have a PC to try to develop a full-fledged app, that's an incredibly daunting endeavor. I could probably code out ten CLIs in a shorter time frame than one simple app.
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.
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
Hypercard was free for a while.
Windows 3 shipped with Toolbook (hypercard clone) 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
Hmm. Sounds like the interaction was more-complicated than just that.