Readit News logoReadit News
Posted by u/amichail 3 years ago
Ask HN: Why don't smartphones encourage programming like early 80s computers?
Early 80s computers start up with a BASIC prompt and hence encourage you to learn programming right away.

Why don't smartphones do something similar?

nindalf · 3 years ago
The answer is obvious - most people don’t want to do this. They want to text or call a friend, look up the weather or sports, stream some entertainment or read the news. They’re experts in their own domains and don’t have the time or inclination to learn programming.

There’s some heavy condescension in this thread, claiming that not programming “keeps people stupid”. As if creating can only happen in an IDE and not in ProCreate or iMovie. It would help if programmers like us eased up on everyone else. Not everyone needs to be exactly like us.

Also, you have to be living under a literal rock if you’ve missed the potential impact of LLMs, specifically chatGPT plugins. Once that’s generally available, everyone can tell the LLM what they want in their native language and have it done. Everyone can build custom recipes that combine multiple apps and APIs in novel ways to get stuff done. That’s a revolution waiting to happen - where everyone will be limited only by their imagination, not by their knowledge of programming. And it’ll happen without having to show every smartphone user a BASIC terminal.

throwaway4aday · 3 years ago
I think your obvious answer is wrong. The fact is that modern smartphones are walled gardens with very large, powerful gatekeepers who want to protect their duopoly. The original impetus behind locking down the operating systems on smartphones was security but it evolved into a perfect way to ensure control over their market. There are no generic PC clones in the cellphone market, only small hobbyist or niche products that barely work. A+G encourage programming for their OSs only in so far as the output of such an activity can be sold on their app stores where they can take their cut and still retain absolute control over what gets installed.

In regards to plugins, someone has to write them. Even if the people writing those plugins use LLM tools to assist them they still need to know how to put software together and how to manage all of the services that those APIs talk to and how to scale their infrastructure along with user growth.

lozenge · 3 years ago
The speed you can input data into a smartphone just isn't conducive to creating anything. It isn't a grand conspiracy. On my computer I've never created something with the same screen size as the intended viewer.
mardifoufs · 3 years ago
I'm not sure that's true. AFAIK even Apple allows bundled interpreters for educational purposes on the App Store. There are tons of ways to program on both mobile platforms.

Here's just a random example, a full python environment for iPhone/iPad:

https://pyto.app/

literallyroy · 3 years ago
Just to clarify when you say:

> I think your obvious answer is wrong

You are saying this is wrong:

> The answer is obvious - most people don’t want to do this.

You are saying you believe the majority of people *do* want to learn to program?

I’m my eyes the BASIC prompts at startup we’re there because that’s how you had to interact with computers at the time. Seems like the vast majority of people want to use their phones not program them.

diego_moita · 3 years ago
It is more than obvious if you look at the broad picture: computers on the 80s were sold to a few million people, most of them with, at least, high school degree and math inclinations (a.k.a. "nerds"). Smartphones, o.t.o.h. are sold to billions of people.

The scale is just immense and is a completely different audience.

masklinn · 3 years ago
An other component is that computers in the 80s largely did not have the power to hide their workings from users. In fact the cheaper ones required basic knowledge of operations in order to just use otherwise they were glorified heaters.
zamnos · 3 years ago
The other thing about computers in the 80's is that Internet access back then was a rarity. So the question, as asked (and answered by most of the comments), includes an implicity purity test - that only on-device programming is "real" programming and that programming on the Internet "doesn't count" for some reason. Yet between glitch.com, jsfiddle, etc, there's a whole slew of accessible programming environments available. I can low-code up some Zapier zaps and a Stripe checkout page, which is enough to get an MVP if you've found your niche customers.

Yeah, it's a different world than on-device compilers on back in the 80's but we're not programming in the 80's any more either. Hell, Stack Overflow didn't come about until 2008. Try telling people you learned to program before Stack Overflow (and Google, for that matter).

DerekL · 3 years ago
But even then, most of the time computers were used to run programs written by others, such as spreadsheets, word processors, and games. (Though a spreadsheet can be thought of as a specialized type of program.)
Sharlin · 3 years ago
> and not in ProCreate or iMovie.

Or – gasp – Instagram or TikTok!

I just listened to a radio show where they talked about how easy it is to create (rap music and music videos in this case) these days, as all you need is your phone rather than expensive devices and desktop applications.

ungamedplayer · 3 years ago
Phone made rap sounds like hot garbage though.
amelius · 3 years ago
> The answer is obvious - most people don’t want to do this.

There are still millions of people who want to do this.

The question is more: why do phone companies actively discourage it?

great_psy · 3 years ago
Have you played around with the shortcuts app on the iPhone ? It is pretty powerful for something that is highly constrained to a few select operations.

It’s not full out programming but it is a good entry way once you are done with scratch.

tdeck · 3 years ago
By "phone companies" you really mean Apple. You can do this easily in Android, there are even full-blown IDEs for various languages in the Play store. Google created App Inventor as an entry-level way of doing this. None of this seems to be particularly popular but it's an option.
paulryanrogers · 3 years ago
Because they're selling to the least common denominator, not to a niche of power users. With time the power will be more evenly distributed. But that will probably require new methods and tooling that haven't even been invented yet.
cellularmitosis · 3 years ago
What do you mean by actively discourage? There are many interpreter and REPL apps, there are swift playgrounds, etc, and there is nothing stopping you from submitting yet another programming app to the AppStore.
dehrmann · 3 years ago
I work in tech as a software engineer and I (mostly) don't want to do this. I want my phone to work out of the box.

The other thing I'd add is that even when I want to write a mobile app, doing it on the device itself would be a nightmare. Composing emails is already hard enough.

wruza · 3 years ago
I (mostly) don't want to do this. I want my phone to work out of the box.

Software working out of the box and programming aren’t mutually exclusive.

dTal · 3 years ago
This kinda begs the question. Yeah, writing a smartphone app is already painful, and doing it that way on the device would be ridiculously more painful. Is that an inherent property of the form factor, or the result of systematically orienting the system towards consumption?

I say the latter. I used to program with great facility in BASIC on my calculator in high school. I was not even the only one who could do this. The input methods available were much less rich than what a smartphone can provide, not to mention the display. Now, in 2023, the easiest way to write simple programs on my phone is by emulating that calculator. Come on!

acomjean · 3 years ago
If I wanted to write a mobile app for an apple device I really can’t do a native one as I run Linux on my computers.

Yeah there’s flutter or react for app development. But it’s just different.

Samsung has a thing called “dex” that allows your smartphone to hook up to an external monitor, as does the steam deck. These machines are powerful enough to develop on, they’re just locked down enough

easrng · 3 years ago
ehh i do dev on my phone sometimes (Termux and sometimes in-browser editors) and it's an ok experience imo
aswanson · 3 years ago
Facts. I like retro computing and have dozens of old processors I want to kit up and build tools for. But that's just me. To expect most people to want to do stuff like that would not make sense.
polishdude20 · 3 years ago
Yeah and to add to this: People, in general, want to connect with other people. Programming is a means to that end. Only for a small part of the population is programming in itself an end.
wruza · 3 years ago
Idk, I just want to set two timers at the same time by tapping a custom button, and also make an “app” to open a gate for a delivery guy. And other simple stuff that doesn’t require a CS degree.

I believe that when someone’s idea of what people want equals to the status quo, they just talk out of their Stockholm’s.

iamdamian · 3 years ago
> Only for a small part of the population is programming in itself an end.

What about in absolute terms? How many millions of developers would write or run code on their phone / tablet if they could?

eimrine · 3 years ago
> As if creating can only happen in an IDE and not in ProCreate or iMovie.

Short answer is yes. Don't you see how much video environment sucks to text environment? You can not do science in ProCreate or iMovie.

KyeRussell · 3 years ago
Nobody that “does science” says “do science”. This just feels like you’re advocating for some nebulous form of “real work”. Check your priors.
cudgy · 3 years ago
“you have to be living under a literal rock if you’ve missed the potential impact of LLMs”

Isn’t this statement condescending, which you criticize the article of doing?

shrimp_emoji · 3 years ago
The devices also inherently bar you from doing this even if you wanted.

Mobile text editors play ads before opening a new tab or loading a file.

They're devices for consoomer cattle. (To paraphrase Terry Davis.)

Dead Comment

Deleted Comment

danuker · 3 years ago
I'd argue that a mobile phone is not an adequate platform for coding. The touchscreen and keyboard layouts make it difficult to type needed symbols, distracting from the problem at hand.

Coding requires deep thought, but phones are optimized for moving around rather than sitting in one place and thinking. As such, use cases like maps, calendars, communication and alarms get priority.

The reason people buy a phone is to communicate and get around. And manufacturers cater to those needs.

saurik · 3 years ago
As someone who has done a non-trivial amount of coding work directly on my phone, I'll say you just get good at being able to type the symbols you need (though I agree it isn't great; but like, that's what BASIC is for, and I certainly spent a ton of time coding BASIC on my old TI calculators ;P). I also frankly find my phone to be an extremely pleasant device to "sit in one place and think", and given how many games and media consumption apps exist for phones I'm surprised that isn't more obvious ;P. Like, often when I want to seriously think about something, I'll go pick up my phone and lie down in bed, pulling up the notes app--or ssh'ing to a server and using vim--to work on stuff without all of the worldly distractions of having to sit at my desk.
still_grokking · 3 years ago
I've seen the youth doing this nowadays.

But just watching it causes severe physical pain in me. Everything is awkward, and painful slow. In the time you would have written a page of code on a desktop in an IDE you hardly manage to write a few lines of working code on a phone. Alone the fact that you can't use keyboard shortcuts efficiently is more than crippling! Not to mention the extremely tiny screen on a phone. On a desktop you have for serous work 2, or better 3 screens (or some big wide one), for a reason.

And regarding deep thinking: The best setting for that is imho not the desktop, nor the bed. Best for thinking is actually walking around, while not being distracted by anything else.

Thomashuet · 3 years ago
I started programming on a Ti-89 calculator and I loved it and it made me want to continue on this path. Modern smartphones would be much better for programming than my old Ti: better performance, better screen, better programming language.
ofalkaed · 3 years ago
>I'd argue that a mobile phone is not an adequate platform for coding. The touchscreen and keyboard layouts make it difficult to type needed symbols, distracting from the problem at hand.

Something akin to hypercard could be made to work very well on a smartphone, or possibly a dataflow environment like PureData but more general purpose. But yeah, 99% of people just want to use their phone and development for phones is much simpler on a proper computer.

anonzzzies · 3 years ago
Drag and drop ‘stuff’ is the worst on phones. You need screen space for it. It works on tablets, but on phones it’s mostly awful. I cannot think of an example where it is smooth and usable, especially on the move.
hugginn · 3 years ago
I would like to challenge you a little. Most programming languages are all designed around an environment where typing is relatively easy and quick. Keyboards allow you to input so much quicker than phone screens.

However, the phone has the pro that you can have any arbitrary keyboard layout. In that case I think that perhaps APL might be pretty well suited. Perhaps we should design languages around the idea that they should be used on phonescreens, where we don't need to restrict the character set to ASCI?

I have an APL program and I like using it basically like a calculator, but I imagine one could write full programs on a phone, if we did some tweaking to the interface.

seba_dos1 · 3 years ago
A teenage me regularly debugging hard programming problems many years ago on a Neo Freerunner with a small resistive touchscreen in a tram while traveling to/from school using nothing but a slightly pointy fingernail would disagree. It's not as convenient as a PC with full keyboard, sure, but it still works fine given the right software.
HarHarVeryFunny · 3 years ago
Sure, but you shouldn't need to develop on the phone itself. Where's an Arduino-like IDE that I can run on Windows or Linux to develop for iPhone? Should just be able to connect a USB cable and go. Where's the Python support?

Of course smartphones are mainstream so most owners are users not potential developers.. unlike the late 70s/early 80's computer scene which grew out of the hobby electronics scene where the early users were much more technical. My first computer came as a kit - bag of components and a motherboard - had to get out the soldering iron to build it.

pavlov · 3 years ago
> “The touchscreen and keyboard layouts make it difficult to type needed symbols”

The key layout on a touchscreen is entirely adaptable though. A language with a custom symbol set designed for small touchscreen entry could perform well.

I’ve long thought that an APL-derived language might be great for phone coding. The custom symbols aren’t a problem on a touchscreen, and the extreme code density means you could fit a lot of meaningful program on a small screen.

zby · 3 years ago
Input is one thing - but also how much of a program can you see on a smartphone screen?
ihatepython · 3 years ago
> I'd argue that a mobile phone is not an adequate platform for coding.

Neither is a calculator.

fulafel · 3 years ago
Most mobile games are about manipulating symbols, and there is a significant body of work on visual programming. So this part should not be a blocker.
aswanson · 3 years ago
I dunno. Python on the phone might be kinda cool.
zamnos · 3 years ago
There are a few Python environments for iOS, and I'm sure Android also has some.

Pythonista is probably one of the better ones. http://omz-software.com/pythonista/

bluedino · 3 years ago
We wrote tons of games on 80's computers with crappy keyboards and 40x25 text on poor quality TV's
bawolff · 3 years ago
I feel like the crapiest of keyboards is still better than an on screen keyboard for long text entry.

I tried ssh-ing from my phone once, and it was an absolutely terrible experience.

bluescrn · 3 years ago
Even the rubber keys of a ZX Spectrum were better than trying to type on a small touchscreen, though.
pdntspa · 3 years ago
Because smartphones are designed to keep you stupid. Computer literacy means you are able to poke holes in their shitty abstractions. The industry does not want you programming or creating, the industry wants you to be consuming. Preferably with your credit card.
safety1st · 3 years ago
Before people dismiss this as a conspiracy theory, it's 100% correct. It's not even a radical view.

* Authoritarian governments don't give their subjects a good civic education because an educated population tends to start demanding more freedoms.

* Industrial barons never wanted their factory workers to learn about unions because once they did, sure enough they wanted to unionize.

* To desire and defend your digital rights you need to understand how the digital world works, and what's at stake. Big tech doesn't want you thinking about uncomfortable things like that. They want you to pay your monthly fees, watch the ads they put in front of you, go to bed and do it all again tomorrow.

Virtually everyone with power, since the beginning of civilization, has preferred for their subjects to be poorly informed about anything that threatens their power.

gilmore606 · 3 years ago
> Authoritarian governments don't give their subjects a good civic education

This seems to have been untrue in the USSR, and it seems currently untrue in China, the first two big authoritarian governments that came to my mind. Also "because" is doing the heavy lifting in your sentence, I do wonder how you arrived at that causality.

wongarsu · 3 years ago
> The industry does not want you [...] creating

Twitter, Instagram and TikTok would like to differ. User created content is still a major thing, even if we stopped calling it web 2.0. Most of that just happens in other domains than programming (though Roblox exists, so programming does happen too).

throwaway4aday · 3 years ago
Poor, sweet summer child. Their exploitation of your effort isn't creative freedom. For a poignant dramatization see https://en.wikipedia.org/wiki/Fifteen_Million_Merits and then when you feel like reading a lot of sad history just start reading books and articles about the recording industry.
rhaway84773 · 3 years ago
I know the term creator has its genesis from the word create.

But no, most creators are not doing anything creative. One way to see this is to notice there are movies made a 100 years ago that people will still watch today. There are books written half a millennium ago people read today. There are pieces of music written 100s of years ago people listen to today.

There’s almost nothing created on Instagram or TikTok that people will want to watch even a few days after it is created.

To be fair Twitter might have some posts of value but that’s because of the idea that almost certainly came independently of Twitter. Twitter is just the avenue by which it’s spread.

I think YouTube still does encourage the generation of quality new content to some extent that people may want to watch years and maybe even decades down the line. But that’s pretty much the only “creator” app that does that. And that’s probably a result of the fact that YT was created well before social media and mobile phones came around, so the content standard set on YouTube was fairly high quality. Newer “creator” apps encourage short throwaway content that can go viral. Not quality, creative content that can stand the rest of time.

bbwbsb · 3 years ago
These platforms do not want creators qua creators, they want creators as unpaid content producers, dependent on them to such a degree they cannot function as a creator otherwise, so that they may exploit the traditionally sacred relationship between audience and artist in perpetuity. These creators are only as such in the most degenerate sense, as the form, venue, and limits of their art are wrested from them by network effects. Recall that 'the medium is the message'.

Smartphones don't encourage programming because programming is power, in so far as it facilitates the ability of the individual to bring about actions manifesting their plans and desires. Apple, Google, et al. want obedient, docile serfs who pay tribute unto Caesar, tempt more serfs into their domain, and maintain their aesthetic preferences and dominion.

The productive question is: What can be done about it? How can the user be liberated from subservience and helplessness, which they are taught to desire with such fervor by well-funded and highly sophisticated propaganda/PR machines?

pdntspa · 3 years ago
Only because they get to monetize the consumption of your content. In fact it is you who is building their product for them. Way cheaper than hiring writers or a video production team!
hammyhavoc · 3 years ago
There's a world of difference in the creativity that goes into a photo of lunch or a selfie versus producing something of substance.
arrosenberg · 3 years ago
Not sure that's true considering all 3 of those platforms make their money through advertising. Like, yeah users are making content, but that's hardly the point.
antifa · 3 years ago
Those platforms are dominated by cookie cutter content.
mixmastamyk · 3 years ago
I do remember that Apple keynotes always bragged early about how many CCs they had on file.

Would rephrase as the desire to keep you dependent is a result of the control and cashflow they desire. But yeah, we called TV the idiot box for similar reasons.

rocket_surgeron · 3 years ago
> The industry does not want you programming or creating, the industry wants you to be consuming

For this to be true, logically the tools to create smartphone programs would be fiercely protected and only available to the chosen few and smartphone OS developers would never in a million years promote learning how to program on their devices.

From my end it looks like the opposite of all of that is happening.

I went to a school in "THE GOLDEN AGE" of 8-bit micros and I was the only one out of 1,100 who used the single room of Apple IIs to type in BASIC programs.

My daughters went to a school that has classes on programming, including Android development.

Turbo Pascal used to be so expensive I couldn't afford it.

Android studio is $0.00 and the (free) resources for development that apple and google openly distribute make many of my college classes look pathetic.

dTal · 3 years ago
>For this to be true, logically the tools to create smartphone programs would be fiercely protected and only available to the chosen few

In a way, they are. They are gatekept in a way that is transparent to you because you find yourself on the correct side of the gate. Apple's gatekeeping is overt, while Google's is more covert:

1) They require a desktop computer - a powerful one at that. Apple requires a Mac. It would be trivial to release an app builder that ran on the phone, but they don't. Apple even outright forbids such apps, or any kind of interpreted environment. Apple also forbids installing things on stock iPhones without passing through Apple servers, and they require you to pay $99 and be over 18 for that privilege. This completely kneecaps the development of any kind of "demoscene".

2) They are ridiculously baroque. I mean awful. Look at this[0] Hello World - "the simplest Android app". Note the wall of perplexing XML, and complex directory tree. Note the phrase "You don't need to understand this code fully." This is not irreducible complexity, this is the result of an attitude that the only people who should be developing apps are professionals with a lot of experience and patience.

There is 0 room for casual exploration in the app ecosystem. Hell, I enjoy programming, I can knock up a fun demo in LOVE in under a minute, I carry a smartphone everywhere, and yet I've never written a smartphone app. Not once. It's too much of a pain. You wrote BASIC programs for fun in school? So did I, on my calculator, at a rate of maybe 1 a day. Show me the kid who writes smartphone apps like that.

[0] https://code.tutsplus.com/tutorials/the-simplest-android-app...

mharig · 3 years ago
Not only the industry.
everdrive · 3 years ago
Right now phones are really only consumption devices. This is mostly an intentional limitation. I'm not sure if you've ever actually hooked up a keyboard to a phone, but even with a keyboard (usually bluetooth) a phone is still far less convenient than a simple laptop. Some keyboard commands work. Focus is very spotty, and often you have to touch the screen to interact with elements so you can actually use the keyboard. There seems to be no app switching, but perhaps I'm just missing the keyboard command. Your list of applications is limited to what's available in the app store, and much of it is questionable. I could go on, but phones are basically the TV replacement in a certain sense. The user gets what's provided to them, and creativity and control are kept at a minimum.
taffronaut · 3 years ago
1. 80s computers were basically a mechanical keyboard connected to a low resolution CRT display (typically a TV). Text entry was the default. There was no GUI or pointing device. For smartphones, text entry isn't the default.

2. In the 80s seeing your choice of text on a screen was something really new to most people. Teletext would not be universal until the end of the decade. Nothing in the house had even a text display. Calculators were numeric only. These days, everything has a display.

3. There were no polished programs to compete with. A lot of early games were very simple. There was no App Store or Steam. You could write a Tic Tac Toe game never having seen a commercial implementation. Even if it was bad, your friends would be impressed.

If you want inclusive coding, Scratch is the world’s largest coding community for children - https://news.ycombinator.com/item?id=35373052 . The 40 characters wide Basic terminal was of its time.

Deleted Comment

mhd · 3 years ago
Because they're not equivalent to 80s computers, they're equivalent to 80s TVs.
alt227 · 3 years ago
Nokia tried this in 2009. They released the n900 phone which IMO was the best phone ever made.

It came with a full version of linux on it, with a hardware keyboard. Their marketing around it was that it was 'the hackers phone', and they started trying to build a community around it by launching competitions and advertising the best hacks and out of the box ideas which could be achieved on the phone.

I remember running aircrack-ng on it to crack wifi handshakes which could be captuered on the stock phone. Running nmap etc, war driving. It truly was incredible.

As expected though, it died in the water. There was such little uptake in the community that nokia stopped developing the Maemo OS it had made for it, and silently killed the brand. I sometimes like to imagine what could have been achieved if they had pressed on with that product line and the marketing which encouraged breaking the norm and creating something cool on your phone.

palata · 3 years ago
I was given one for a University (CS) class around 2010-2011. To me it was so far behind Android/iOS that I didn't want to use it.

Retrospectively, I'd like to have one running a Linux system today (maybe PostmarketOS with SXMO?), but well...

musictubes · 3 years ago
Speaking for myself, the command line prompt never inspired me to learn programming. I messed with quite a few Commadore and even Sinclair computers back in the day and the command line was only ever used to load programs from disk.

I did try programming from scratch and even typed in some of the programs published in BYTE and whatnot. Nothing I ever came up with on my own ever seemed worth the effort and certainly wasn’t how I wanted to use my time. What a pain in the ass. Typing all that crap and debugging was never as interesting as using programs.

The vast majority of people have no interest in messing with programming. Most people have no internet in making anything. You can complain that it’s a symptom of consumer culture or whatever but I think it has always been the case that more people want to use a tool than make a tool. Even back in the 80s computers were bought to use programs primarily. Only a tiny minority were interested in programming and that will always be the case.

mixmastamyk · 3 years ago
IT folks were still able to administer things or write a script to get things done. Business folks can build a sophisticated spreadsheet for example. i.e. not a binary distinction.