11 ms·
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?
- ofalkaed 4y agoEarly 80s computers were a niche market largely sold to people interested in computers and programming.
- anonzzzies 4y agoEveryone was talking automation of business early 80s. Home computers were for gaming and programming, but PCs were meant for non programmers. Even some of the home computers were pushed for business or at least non tech users.
- ofalkaed 4y agoSure but that market was just starting out in the early 80s, even gaming was more of something they could do not really something they were sold for, the cool kids had a 2600, geeks had computers.
- anonzzzies 4y agoNot in my town: sad kids had 2600 with expensive cartridges; cool kids had tapes they could copy to their mates. No one paid for games here.
- zabzonk 4y agoin the early 80s, all branches of wh smith, the uk's largest newsagent chain, had computers on display and available to use (or misuse, in the case of small children) - they were broadly targetted consumer goods.
- lapcat 4y agoI disagree. The "killer app" of the Apple II was VisiCalc, a spreadsheet. That's why my dad bought a computer for his home office. Computers were also used in education: I was exposed to them in junior high.
- ipaddr 4y agoI have an original VisiCalc copy for an Ace computer 1981.. beautiful leather manual.
- stuartjohnson12 4y agoWhy... why would they?
- RobotToaster 4y agoIt's more profitable to sell apps and micro-transactions through their respective walled gardens.
- danuker 4y agoI'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.
- ofalkaed 4y 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 4y agoDrag 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.
- ofalkaed 4y agoThere is no reason to use drag and drop.
- anonzzzies 4y agoHyperCard does though?
- ofalkaed 4y agoTo quote myself with emphasis added, "Something akin to hypercard could be made to work." So something like hypercard but not hypercard and reworked to the strengths of a smartphones interface.
- 7373737373 4y agoProbably because natural language will supercede progranming language soon: https://youtu.be/PgT8tPChbqc https://youtu.be/PgT8tPChbqc
- plagiarist 4y agoThis was not on the horizon when smartphones were becoming popular.
- zabzonk 4y agodo you know how long people have being saying that?
- anonzzzies 4y agoThere is a computer chronicles on archive.org where they say this. I don’t remember the year but early 80s I would say.
- zabzonk 4y agoit was a rhetorical question. actually, cobol was supposed to be easy for buisness people to create applications in a "natural language". so, considerably before the 80s, though there were other developments aimed at doing so then, all of which failed miserably.
- anonzzzies 4y agoI didn’t try to answer the question; I am agreeing with you and pointing out a concrete example that they said this already early 80s. Also it’s entertaining too (re)watch the computer chronicles. LLMs will change a lot of this though.
- leobg 4y agoIs not natural language being superseded by specialized language in pretty much every specialized, competitive niche? I mean, even with large language models, isn’t there a whole new area forming around “prompt engineering“? Natural language is just very imprecise. It relies on shared context. It’s not even working, particularly well between humans if they don’t know each other well, as you can see in all forms of politics, and actually not even that well in many marriages. Often enough, in the end, you have to call in the specialists to figure out what was actually said, and what wasn’t… So that my bank account doesn’t rely on this technology, but on computer code and math, that’s not a step backwards, in my opinion, but a step forward.
- mhd 4y agoBecause they're not equivalent to 80s computers, they're equivalent to 80s TVs.
- seydor 4y agoSmartphones were designed to do the opposite, they will never do that. The worst thing is that desktop development has been influenced by mobile and become just as restrictive.
- Ciantic 4y agoIn the 80s computer programming was done with the same device. With today's mobile phones, programming is done with another device, usually a laptop. This is of course changing, as mobile phones gain more functions. However, for it to happen it needs a change in culture. Phones have been largely seen as consumption devices, and still, a lot of people aren't comfortable writing long pieces with them. It also could be as simple as what priorities the executive class wants to give their devices. I could imagine an alternate world where Steve Wozniak still had influence at Apple and he could push their lineup towards more hackable.
- anonzzzies 4y agoMy phone is as powerful as my laptop. It’s limited by walled gardens and not enough research making them useful as production devices with such a limited screen size.
- nickdothutton 4y agoWhen I got my first computer, a Z80 based system running BASIC from ROM and able to boot CP/M 2, it came with almost no software. If you wanted to make it do something, you got out the BASIC manual or the Z80 assembler. Since most professional software was way out of my price range, and shareware was had to come-by (2400bps modem + expensive calls), you really had to be a builder. I’m grateful I didn’t have to do any soldering though.
- xaduha 4y agoI'd say Raspberry Pi 400 could ignite a similar spark, I don't think you're comparing apples to apples here. Smartphones are consumer devices. And a Raspberry Pi 400 is probably even more niche than 80s computers were in comparison. In any case I don't think it's about the devices at all, there are just better things to do even for an introvert who doesn't go out much. Just different times.
- onion2k 4y agoI often wonder how many people actually did any programming on those computers. For a very long time I assumed loads of people did - I did, my brothers and Dad did, my friends did. There were listings in magazines and books. It seemed wildly popular. But looking back now, and having met far more people from that era than I knew in my small town at the time, hardly anyone says they did too. They had computers but they used them for gaming and nothing much else. I was in a bubble, living in place where a major employer was a tech company. What reality was like outside seems to explain why programming was so appealing - it made me a bit special and opened a lot of doors back in the 90s. I suspect that, even now, including an IDE as a default app with a language compiler or interpreter would be a waste of space for most users. They wouldn't use it, and they'd complain about it taking up valuable photo and music storage.
- anonzzzies 4y agoSo just add load81; takes no space and is great fun.
- masswerk 4y agoI think, many did try themselves at code, or, at least, attempted it to some degree. But, and this is a big but, I also think that there were very few finished programs to show for all these attempts. I'm much under the impression that the era of the home computer was also the era of the unfinished project.
- pluc 4y agoFor the same reasons you can't open up a smartphone and tinker with it whereas it was and still is one of the great things about most non-Apple computers. They'd love to kill the culture that birthed them, because then there can't be another.
- ajuc 4y agoIn BASIC times there were dozens of incompatible platforms and they were competing on the available software. Programmers were very scarce (and you had to persuade them to write for your platform instead of other platforms). You couldn't expect to have most use-cases solved by the available code, so people were willing to code what they needed. 8-bit computer without BASIC was almost useless. Software was also very crude back then - it was possible for some teen to write a commercially useful piece of code in a few weeks - that code could then help you sell your hardware to other people. Nowadays we have millions of programmers worldwide writing for only a few possible platforms and the low hanging fruits are long picked. Writing successful software today usually takes millions of man-hours. So hobbyists aren't that important.
- ipaddr 4y agoThis sounds backwards. There was no way a teen in a few weeks could write a commercial useful application, nevermind distributing it or be taken seriously. Now a days teens are. There are more teens programming than ever and creating more things. The pie is bigger. There might have been thousands or ten thousands of kids programming before now it's millions. Programs don't take millions of man hours. I can point to many useful one man open source projects. Selling business software is as hard as ever and it's hard to get buyin without connections. Teens are not making those connections neither were teens in the 80s or 90s. Back than ever computer type was a different platform. Your c64 basic program couldn't run on an Mac. Things were much harder to package for others to use. Programming has less benefits now for teens
- kzrdude 4y agoEarly 80s computers were boring if you didn't code something. That's a simplified way to explain it. It reminds me of the programs people wrote on TI-83 calculators, also because they didn't have any diversions unless you created them.
- rmellow 4y agoThere are positive and negative factors presented by mobile platforms: Negative: 1. Highly abstract, hiding away internal functionality. 99% of mobile is GUI. iOS even abstracts away the filesystem. Android is more transparent. 2. Highly locked down: walled gardens increase the friction to run custom code. Terminal as an app that can be installed, but on unrooted devices it's almost useless compared to terminal on a desktop. 3. Ergonomics: smartphone keyboards and screens are not conducive for onboard development. Solutions exist but are pretty niche, and most people would prefer attaching a real keyboard. Positive: 1. Arguably mobile platforms have increased the number of coders! The app stores facilitate distribution and payment, encouraging new programmers to make an impact. Desktops are in most cases the actual development platform though.
- smitty1e 4y agoA smartphone is not an exploratory device. Its tiny form factor and lack of keyboard input are forbidding. Even a lower-end unit is a relatively sealed package. I can get a command prompt on my 'droid unit via termux, but it's not going to show much, or easily integrate with the OS, for security reasons. The kicker is that, from a risk-management perspective, I don't want to jack around with my (non-cheap) 'droid unit and risk bricking or destabilizing it.
- mg 4y agoThe C64&Co did not have a browser. Nowadays you can go to a page like this ... https://no-gravity.github.io/html_editor/ https://no-gravity.github.io/html_editor/ ... edit the code and see the result in real time.
- martyalain 4y agoThanks to browsers and wikis you can read code, edit it and see result in real time: http://lambdaway.free.fr/lambdawalks/ http://lambdaway.free.fr/lambdawalks/ , http://lambdaway.free.fr/lambdawalks/?view=janus http://lambdaway.free.fr/lambdawalks/?view=janus
- everdrive 4y agoRight 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.
- daviddever23box 4y agoIMHO a mobile handset's primary use case is availability to respond to (mobile telephony) messaging events; as a consequence, its power management domains are intentionally oriented toward short-duration events. A tablet device, on the other hand, is more likely to possess a higher-capacity battery and be usable for content generation / long-form editing.
- here4U 4y agoBec
- 13415 4y agoLack of a keyboard is not the only reason. A good ad hoc/hobby programming environment needs to offer a lot nowadays: - The IDE and language must be preinstalled or available with a one-click installer. - The programming language must be extremely simple and easy to learn. Almost no currently popular language satisfies this requirement. Even Python is too complicated, requires learning too many libraries. - Easy input and output, ideally with a GUI, but at least console style. - Simple way to run a program. Just click or type "run", for example. - Integration into the target platform. If programs are started by clicking on an icon, the deployment must provide apps with icons, of course. - Easy deployment, either by source code or by a single file that can be run everywhere with an interpreter. In addition to this, for modern phones there would need to be an interpreter for running programs on desktops, too, and an online library of extension packages and programs. Not many languages/implementations/IDEs for phones satisfy these criteria. There are not even many for desktop. How many IDE/language combos do you use that are easy to learn and allow one-click deployment to all major platforms?
- gabereiser 4y agoBecause it's not in their best interest. Smartphone makers are big tech, big tech only wants you to learn their framework to be locked into using big tech for life. No one wants you to learn to think on your own. Learn Dashly(tm) for Pear Phone or don't program at all. The reality is the time for tinkering and stuff is over (for pc workloads, you can tinker all you like with hardware/agri/space/radio/nuclear open-source). Computers, whether they are on your lap or in your pocket, are being controlled by big corporations. You might say "But, Linux isn't controlled by a big corporation" and you'd be wrong. All these big tech companies want to wall you into their garden to shake you down anytime they want more capital. The best way to get that 80s tinkering feeling again is to go get a Raspberry Pi or something and start building your own thing. Don't expect any of the consumer tech to ever cater to that kind of crowd again. They may pay homage to their roots but their bottom line depends on you forking over cash on their services and app stores.
- asddubs 4y agothere's still tech out there that does, like the pinephone. It's going to be niche, but it exists
- gabereiser 4y agonot saying they don't exist, but to penetrate that 1% market share to be relevant they have not. I did call out things like raspi and such as still viable for tinkering but not the same way that I was introduced to computers with the Apple II and later the 386/486DX revolution. Around Pentium II things got anti-tinker and ever since 2007 it's been pretty much a consumer-only market. Walled gardens and locked down OS's, complete with injected ads and tracking.
- asddubs 4y agoat least on x86 you're still able to install whatever operating system you want, even if only for legacy reasons
- 4y ago
- Pamar 4y agoAllow me to add a bit of context (my first computer was an Apple ][, Xmas 1979). Yes, computers at that time stsrted with a Basic prompt... because there was no appstore, and (at the start) very little in terms of apps. You were supposed to program it yourself (even by tediously copying listings from magazines) and, especially for the early generation products, storage was either very finicky (cassette tapes) or quite expensive (floppy). In the same years, consoles also started to become a real product, like Atari 2600, Colecovision etc. Guess what? Consoles did not start up with Basic or Assembly... because you were supposed to use cartridges to play something that had been programmed by a guy working for a company. So I would argue that personal computers were built and sold (at least at the very start) for people who had a background in electronics and/or an interest in programming. Visicalc changed this almost overnight because after that computers became "interesting" for small business... and this in turn created a market for word processors, small inventory management systems and so on. But also a big push to make "serious" computers (CP/M) that could fit the format/size/price of Apple and TSR-80. What I am trying to argue here is that PC were at the start mostly intended as educational devices, because there was very little in terms of shrinkwrapped sw to sustain other business cases. And if you just wanted something for your children to play with, you would buy an Atari at a fraction of the price of a Commodore PET or Apple. Smartphones were always sold as "communication device first" and also the business infrastructure to almost immediately create a large portfolio of apps was already in place (if you remember the original idea for iPhones was not to develop for iOS but just create webapps). TL;DR: If you bought an Apple at the end of the 70s you absolutely needed a Basic interpreter or it would have been just a very expensive paperweight. If you bought an iPhone in 2007 you wouldn't need to write your own software to get any use out of it.
- JoeDaDude 4y agoI'd add that modern PCs don't encourage programming. Sure, potential programmer could seek out ways to rode and run javascript in the browser, which is typically included with the PC, but it would still require curiosity and determination. Without that BASIC prompt, most users will never even have the concept that THEY TOO could program this thing.
- lapcat 4y agoThe only reason I'm a professional programmer today is that my Mac came with Xcode developer tools on installer disc in the box.
- corobo 4y agoBecause the UX of that would be terrible and nobody would buy the product and they would go out of business. Best case only people who wanted to learn programming would use the weird nerdy programming phone. Why aren't AAA games running on text based interactive fiction engines? Because for the target market, that's crap. Most people do not want to learn programming. I know, it's a horrible thought, but it is what it is.
- anontrot 4y agoMoney
- ergonaught 4y agoProfit motive as the only motive, combined with scale, mostly, with a side of "freedom helps bad people do bad things" variations. ex: In many respects there is vastly more effort involved in making them general purpose computing devices. Why harm profits catering to people who want that when the crushingly vast majority don't want it, when they can't be trusted to use it (directly or indirectly) without messing something up (harming profit via support costs), and when they aren't able to prevent bad actors from misusing it and harming them (again harming profits)? ex: Why do game developers skip story? Because 90% of the market doesn't care about it. Why do movie studios crank out films with garbage stories/plot? Because 90% of the market doesn't care about it. As long as people and therefore companies believe that generating revenue is the only thing that matters, this results.
- hikawaii 4y agoPushing back on the "late capitalism" vibe, the market cares about certain things over others because people have a limited amount of everything and wish to spend it on things they want - the way you make billions of dollars on a video game is by getting millions and millions to buy it. This is, nominally - a good thing! There's places where it falls down (mtx gachas, where individuals tend to all be overvaluing gambling dopamine in the same systemic way), but like - teenagers want to talk to their friends, not learn to code and if they did they have a perfectly usable computer
- masswerk 4y agoForm factor and mobile devices aside (there are already plenty of good comments on that), I simply don't see any eligible programming language for this. I.e, something that can be learned in an afternoon or two, a single loop construct, simple variable management etc. Much like JavaScript used to be in the 1990s (up to including ES3.) Modern languages are just too much tailored towards software engineering, IDEs and static analysis, have multiple redundant layers of syntax and semantic sugar, and, even if you have managed this, the core language takes you nowhere as the meat is in APIs and/or frameworks. In other words, we may need a simple language that is more on the art than on the engineering side of programming, in order to be accessible for fun activities and exploration.
- surgical_fire 4y agoPeople buy iPhones dude. I cab hardly think of something more hostile to tinkering than that. Cellphones are consumed by the vast majority of people as expensive toys and nothing else.
- ksec 4y agoI dont think it is anything about Smartphone. It is about the software / technology today, or Abstractions. In the 80s and 90s. One could still have a very high level understanding of every single part of the computer. From Hardware to Software. The whole stack. We now have a whole generation of programmers who dont understand a thing about Hardware. Not even enthusiast level. Nor do they understand anything beyond their domain within Software. The bar is also a lot higher, when basic graphics and UI luxury and command line is still acceptable. You could quickly make a script to do something you want. And then there is a whole generation of I would argue needless complexity added on top of complexity. Take Web development for example. CGI or PHP used to be Simple. It wasn't easy, but it was simple. I dont know where to begin to describe in today's web dev.
- 34679 4y agoI missed out on 80's home computing, but my 90's TI-85 calculator was definitely my first step into programming. I'd like cell phones to be more like that. It had plenty of functions built in, but I could always add more, and it was fun.
- rerdavies 4y agoThere's nothing stopping you from downloading Android development tools, and programming away to your heart's content. And nothing stopping you from pushing your app to Google Play so all your friends can download it onto their phones. Probably the major reason why early 80's computers made basic so prominent is that there wasn't much else to do with them.
- deafpolygon 4y agoiOS is stopping me.
- ElfinTrousers 4y agoEarly 80s computers were meant for hobbyists and enthusiasts, people who liked to tinker with the fancy machine they just bought. A smartphone is, as others have pointed out, a consumption device with mass appeal. They have some of the same kinds of hardware, and do some of the same things, but they are intended for very different things in the end.
- geoduck14 4y agoI would disagree. I wrote an app for a non profit I work with. Phones and tablets provide so many great sensors that my laptop doesn't. The non profit hosts a race where the participants build their own cars. My app helps track the race cars. We use GPS, 3g, wifi, a touch screen, and a 12 hr battery to: track cars and send their location live to our website. This simply wasn't possible before tablets - amd it is really cheap with a cheap tablet.
- flappyeagle 4y agoNo keyboard. Maybe with modern dictation we can figure something out
- johannes1234321 4y agoWith early computers they were made from people who enjoyed exploring the possibilities for people who liked that, combined with the fact that software, especially general purpose software was limited. Niche products for niche markets. Except from playing games there was little to do. If you wanted to use it for anything else you'd have to program your software yourself. In the nineties computers hot Excel and similar, which took over basic tasks and people built their databases for their hobby or business, there ledgers, ... on top of that. Today there is special software for most of those things and computers are mass market products, made by companies which want the user's to consume media (via iTunes, or YouTube ads etc.) and approachable for everybody. The product managers fear that just seeing a glimpse of a programmable interface drives people away and reduces the media consumption.
- aristofun 4y agoObviously because they are designed for consumers to consume. Not for producers to produce like 80s computers.
- beej71 4y agoThere's no money in it, is why. But it can be done to an extent. Grab a cheap external BT keyboard, a folding monitor stand, and Termux or a Scheme interpreter, or a BASIC interpreter (I haven't looked, but I assume they exist), and you're there. I've done a lot of programming and writing on the phone that way.
- seba_dos1 4y agoSome of them do. A lot of my programming skills come thanks to hacking on my Openmoko Neo Freerunner around 2008 when I was a teenager. A few years later I was hacking on (although definitely not as much) a Nokia N900, and these days hacking on a Librem 5 (which can even be connected to an external screen, keyboard and mouse and act as a regular GNU/Linux PC) is my job. Both Android and iOS are designed to be locked-down consumer goods owned by the manufacturer and only used by you; they're not tools that encourage you to learn and tweak. You need to look elsewhere for that.
- pdntspa 4y agoBecause 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.
- mharig 4y agoNot only the industry.
- safety1st 4y agoBefore 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 4y 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.
- Kinrany 4y agoThe civic education in USSR was clearly not good if you look at the current state of Russia.
- 4y ago
- nigamanth 4y agoEveryone nowadays is lazier than the average man in the 80s. In the 80s, you probably had to buy music in a store rather than use Spotify or Apple Music or had to look up information in the library instead of google it. The industry wants you to get everything you want through one click, nowadays though, it's not even a click, you just need to talk about it and Alexa and Google Home will pick up on it.
- nindalf 4y agoThis is just a low effort “kids these days are X, unlike when I was a kid” or “back in my day, men were men”. Your specific claim isn’t worth responding to, but maybe you’d enjoy a short history of “kids these days are spoiled” - https://twitter.com/paulisci/status/1600628195854020608?s=20 https://twitter.com/paulisci/status/1600628195854020608?s=20
- deleted 4y ago[deleted]
- pier25 4y agoPeople in this thread are complaining about smartphones not being designed for tinkering as a bad thing. As a dev I agree with the sentiment but otoh I'm very happy I don't have to tinker with my car or my fridge.
- rufus_foreman 4y agoI really miss that world, tinkering with my car.
- Alisyedali 4y ago[dead]
- kkfx 4y agoClassic systems was designed with the idea of desktop computing: having something flexible at the users fingertips. Modern mobile devices are designed as consumption and monitoring devices of someone else service. The user in the classic desktop design was intended as a powerful tools in hes/shes hands, modern mobile+cloud are designed to milk data and keep people entertained.
- throw_m239339 4y agoThe interface? you kind of need a keyboard to type code, and a touch screen doesn't make typing easier nor faster. But you could create some sort of visual programming language (with nodes for instance or bricks) that is easy to edit on mobile.
- bawolff 4y agoBecause keyboards aren't the native interface to a smartphone. And the target audience doesn't want to be a programmer or even customize their phone.
- jmclnx 4y agoThe bar of entry is much higher and Smart Phones are designed that way. It is impossible to play around with programming on Smart Phones when you need to either Jail Break the phone or pay for expensive licenses. The last thing companies want to happen with smart phones is what happened to PCs. People were able to upend many large commercial companies in the 80s and 90s due to the low bar of entry. Just to name a few: DEC, CDC, Data General, Wang. IBM almost folded due to the PC. So Smart Phones were made closed to prevent the same revolution from repeating itself.
- chris_j 4y agoYou can write apps for an Android phone without jailbreaking/rooting it. And you don't need an expensive license to use Android Studio. Point taken that the barrier to entry is higher though.
- nindalf 4y agoThe 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.
- Sharlin 4y 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 4y agoPhone made rap sounds like hot garbage though.
- polishdude20 4y agoYeah 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.
- iamdamian 4y 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?
- deleted 4y ago[deleted]
- PhilipRoman 4y agoI have very sweet memories of installing an app called "Terminal IDE". At the time I had no idea how to install (or use) Linux so this was my first time The best part was that the author had included a lovely help manual which briefly showed how to use command line tools, gdb, tmux, vim, irc, git, etc. but it was cryptic enough that I had to experiment a lot. And the environment was pretty constrained - BusyBox, a couple of pre-compiled tools but no package manager or X11. This was my gateway into "real" programming, as opposed to typing things in an IDE. But there is nothing phone-specific about this, if I had an easy way to try Linux on my computer, I would have preferred that. Obviously now WSL exists so it kind of fills that niche. I think the app is no longer available and there are better alternatives, but I still have it on an 8 year old device.
- failrate 4y agoI occasionally program on my smartphone, and the big problems are the manual interface and the lack of total control of my file systeme.
- musictubes 4y agoSpeaking 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 4y agoIT 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.
- more_corn 4y agoRaspberry pi
- bdcravens 4y agoComputers from the era were pretty much completely contained units. Smartphones require some other service to do anything useful, and those companies don't want to support devices that have been tinkered with.
- analog31 4y agoFor that matter why don't PC's do something similar? I started with the BASIC prompt in 1981. And I still feel some nostalgia for those times. I don't write "software" per se, but use programming as a problem solving tool. On the PC, when I'm creating stuff rather than consuming, I typically live inside a Jupyter notebook. I need a keyboard and a screen. We haven't come up with a better coding interface.
- 6gvONxR4sf7o 4y agoYou program computers on computers. You program phones on computers. You don’t program phones on phones. It seems as simple as that.
- blahblah1234567 4y ago[dead]
- howdysam123 4y ago[dead]
- bonestamp2 4y agoBecause most of the complexity of smartphones is hidden from the user. Meanwhile in the 80s, you had to know some command line just to run a game. If you wanted free games, you had to hand copy the code from a book. Once you learned a little bit, you were either content and kept playing the games or you wanted to learn more about how the game and the computer works. We don't have that same barrier to entry now. That's good and bad, but that's part of why computers and smartphones are so ubiquitous now.
- swader999 4y agoPhones are designed for consuming, not creating unlike the desktop.
- turmeric_root 4y agoHave you tried writing code on a smartphone?
- zumu 4y agoProgramming is a means to an end. If kids could have just instantly downloaded any program they wanted, they wouldn't have been copying programs out of the back of magazines. Personally, I came a little later, but I also learned stuff because I had to in order to do the things I wanted to do. After enough exposure I realized it was fun and interesting.
- hammyhavoc 4y agoBecause whilst more people than ever use computers, their literacy of them, i.e., understanding of how they function, it as at an all time low. Computers used to be nerds. Now they're for grandmothers. They're now idiot-proof appliances for consumption.
- BruceEel 4y agoKudos, OP. Great question and really interesting HN thread.
- HarHarVeryFunny 4y agoI grew up programming in late 1970s. Early computers were simple, simple to understand, and simple to program - whether in assembler, BASIC, or anything else. The closest modern equivalent to the early 70s/80s computers as something to learn programming on are things like the Arduino. Smartphones just don't compare - they are inherently complex, not fully open/documented anyways, and tooling doesn't help. Can't even develop for an iPhone without owning a Mac too.
- javajosh 4y agoNindalf is correct: the primary reason is lack of desire. But there are other reasons - these are the reasons that people who already like to program don't do so on their phones. Optimistically, improved interfaces (e.g. AI listening to your words and groking your system diagrams) will improve the programmability of phones perhaps even beyond the laptop. The difference between Apple IIe and the iPhone 12 is scale. 40 years of Moore's law means the phone you hold in your hand has roughly 2^10 more components at 1/100 the volume. Early computers, you could look at them with your eyes, fix (and break) them with your hands. The same was true of the experience of using a computer - it was all very "close to the metal", with small, simple abstractions (like booting into BASIC, or restarting your computer with a new floppy in it - computers were essentially stateless). It feels like a stroke of luck to have grown up alongside each iteration of PC technology because I can see how it would be overwhelming to try to understand it starting from 0.
- taffronaut 4y ago1. 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 https://news.ycombinator.com/item?id=35373052 . The 40 characters wide Basic terminal was of its time.
- deleted 4y ago[deleted]
- randcraw 4y agoEarly PCs lacked two things that made smartphones a whole new ballgame: a network, and software. When the Altair 8800, IBM PC, Apple II, Commodore PET, and Tandy TRS-80 shipped (1975-1980), there was no way to communicate with other people, nor was there much software (nor was there convenient storage for it — cassette tapes and floppies were severely limiting and a major pain to use). If the machine didn't have a Basic interpreter, it was neither useful (little software), nor engaging to the hobbiest (no way to explore the machine). By the time smartphones shipped, communication with others and availability of vast repos of apps were almost unlimited. Only a tiny fraction of owners ever thought about coding up their own apps or exploring the infrastructure of the device. And of course the makers of smartphone OSes had no intention of opening up their sealed gardens so users could compete with their near-total control of the user experience — a lesson that Microsoft's domination of the PC's OS taught to all budding monopolists.
- saltcured 4y agoIn a funny way, the app stores of the 80s were BBS and computer group meetups. People went there and came home with shareware (or cracked) apps on floppies to try on their home PC.
- never_inline 4y agoThe "why" aside, if you have an android, check out Termux. That's a UNIX-ish shell environment. I wish there was a way to use Android APIs from a scripting environment in Android phone. I tried a bit during last semester, but didn't get anywhere due to lack of time. What I wrote was a beanshell environment which lets you evaluate statements like REPL. But since Android and Java bytecode is different, it can't even pass lambdas properly.
- mrwh 4y agoLots of interesting replies here. I'd question the premise though. At least where I grew up, programming was a niche interest. Plenty of people I knew had Amigas and Atari STs; very few had any interest in programming them. It wouldn't surprise me that just as a small proportion of people back then did learn to write their own programs (or tried to), a similar proportion today are delving into XCode and Android Studio - and Unity and all the rest, and doing so for free, with a wealth of tutorials.
- alt227 4y agoNokia 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 4y agoI 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...
- b20000 4y agobecause people now have less time and expect everything to be done for them
- eimrine 4y agoHow about the attitude of businesses? They want you to run as much of non-free code as possible, especially banks. Need to run a non-free is not compatible with the idea of open filesystem which make people afraid about corrupting something. That's why people do not request a terminal and developers do not develop it.
- mdmglr 4y agoSee Shortcuts on iOS.
- Am4TIfIsER0ppos 4y agoBecause they are Read Only. Also imagine how much better the world would be if you turned on a smartphone and all you got was a BASIC prompt and had to program the rest of the system yourself.
- ornornor 4y agoWas watching videos about late 90s early naughties PDAs and things like the Psion or the Palm had ways to code directly on the device for the device. That’s quite unusual in this age, you need permission from the platform now to even hope writing any code to run on your own smartphone.
- saltcured 4y agoFrom just the headline, I expected this question was going to lament the "wasteful" coding practices of mobile apps and pine of the days of hand-tuned, low footprint software. So, I was all set to point out that smartphones with multiple cores, GBs of RAM and storage, high speed networking, and massive screen resolutions are nothing like 80s computers. These things aren't even as limited as computers from the mid-2000s! But, as others have mentioned in various posts, I think the answer to the question of BASIC REPLs has multiple angles. First, most early 80s computers did not boot straight to a programming REPL either. As soon as you had some kind of disk operating system you ended up in a shell and would have to invoke a BASIC interpreter or other programming environment if you wanted it. As far as I can tell, the feature threshold was having enough storage to make multiple programs persistently available. That was true across CP/M, MS-DOS, and Apple computers. Then, when they added GUIs, the shell became some kind of GUI menu instead of a CLI. With more storage, you get more built-in apps and less emphasis on a "blank machine" ready to take custom code. After decades of this growth of storage, a smartphone is really not marketed as a general purpose compute platform. It still has more than vestigial "communications appliance" characteristics and is morphing into "cloud appliance". There is a feedback loop where vendors are marketing an integrated experience that sets the expectation for the next round of products too. And at the mass market volumes they are reaching, economies of scale mean that this approach is targeted towards the largest consumer markets. It's almost fractal, but the cloud applications themselves are going through the same kind of shift. The commercial pressures are to create ever more integrated experiences for the mass-market user. It is a niche interest to want a general purpose platform where lots of capabilities are available, but the integrated whole is absent and waiting for a new custom program to be entered. Most consumers don't want the device or app that lacks this complete solution, and vendors don't want to provide all the infrastructure and then have some other party come in and claim all the value-add experience that is most visible to the paying customers.
- dragonwriter 4y ago> First, most early 80s computers did not boot straight to a programming REPL either. As soon as you had some kind of disk operating system you ended up in a shell and would have to invoke a BASIC interpreter or other programming environment if you wanted it. If your system booted to the DOS, which many which had one available did not; to boot the Apple II DOS when it was released, you had to use the BASIC REPL, and even once it booted it didn’t have its own REPL, it hooked into the BASIC interpreter and provided BASIC commands for interacting with the disk, making the BASIC REPL its REPL and the BASIC interpreter its batch programming environment. While the exact details may be different, having the DOS be an under-layer which didn’t have its own shell was common on other systems, too.
- joeman1000 4y agoOf course, as the current top comment mentions: because most people don’t want to make programs. Computing in the 80s was limited to nerds, business users and a school kids. All of these groups have some incentive or drive to write programs, above that of the average person from the population. Anyway, this is not an excuse for the state of operating systems today, which dissuade people towards programming. Yes, I even mean Unix-like operating systems. Why? Simply because the mental gap between ‘programs as we use them’ and ‘programs as we write them’ is so large on a modern OS. Consumers are stuck essentially playing in the sandpit and don’t really learn anything about computing while they use the computer. Unless of course they have some weird drive that helps them weather the pain of going against the tide and actually learning what’s going on in their computer. There is very little you can learn from an application (such as Firefox, telegram etc.) because they offer zero introspection and are completely alien things compared to how they are conjured. Think of the Apple II, there was very little gap between using the ‘OS’, making a program and using a program. They were nearly the same thing, or felt the same. How would you interact with the computer? Enter some text. How did you make a program? Enter some text and save it. How did you run and interact with the program? … Alan Kay talks about this a lot. If you imagine Smalltalk (now Squeak) as an OS, the gap between programming and using programs is tiny, so you learn by consuming and thus the leap to proficiency isn’t so big. Another great counter-example is emacs. It offers introspection info everything and lets you modify a lot of its behaviour in a uniform way. I thing this is why people like it so much. You learn it as you use it and you’re encouraged to modify it. It’s a far cry from how most software is made today.
- friend_and_foe 4y agoBecause you cannot be productive in that way on a smartphone alone. The smartphone is descended from simple communication devices, and adapted into a richer communication environment and a content consumption device. You need a computer to do anything hacky with a smartphone, so you're more likely to get into the details on a computer in the first place. Smartphones are mostly useful for consumption of media, an activity that isn't really condusive to tinkering and modifying.
- cannabis_sam 4y agoA BASIC prompt does not appeal to most people, a smartphone does. If you wanna make youtube videos, I’d take an iPhone over a BASIC prompt any day.
- amadeuspagel 4y agoAlso: Why don't browsers encourage programming? Browsers have amazing dev tools, but you're never going to discover them unless you know what to look for. And if you do, you won't know how to get started. Why not integrate a tutorial?
- pipeline_peak 4y agoBecause programming on phones is awkward and miserable. We need something that utilizes touch screens to implement logic. Something like Scratch but that would let you import libraries. Although I don’t think that’s imaginative enough to surpass traditional keyboard programming. The problem with visual languages thus far is that they don’t really accomplish anything beyond text languages. I find them to be more difficult to understand than say python or JS. The future of business logic app programming is going to be describing the details and having some AI implement it.
- flipcoder 4y agoBecause then Apple wouldn't get its 30% cut or force you to buy a Mac to develop for iOS
- opportune 4y agoCompletely agree. Apple allows educational programming because it doesn’t seriously jeaopardize their revenue. If they let you compile and run arbitrary code (I bet they already have this capability for debugging internally) with full system access, without jumping through major hoops, they wouldn’t be able to tax that activity.
- nubinetwork 4y ago> Why don't smartphones do something similar? The same reason google and apple try to chain you to the app store... money. If they let you easily write your own apps, then they lose out on all those app store "fees".
- 8bitsrule 4y agoThey certainly could. The CPUs are fast enough, they've plenty of memory. They could have a programming mode you could flip into and displace all the other kludges. They could have a USB port that takes a keyboard, because typing with your thumbs is simian. They could have a video-output port, because the screen is too damn small. They could have an easy-to-use filesystem ... but they don't. So they're unsuited to purpose, on purpose I'm sure. They're not trying to get to thinkers. If I wanted to program away from a desktop, it'd be something on Linux, something tablet-sized, a USB port for a roll-up keyboard, an analog audio-jack. Maybe with a RasPi. No phone, radio, bluetooth, GPS or spyware, no fat cluster of worthless junkware. I can wait. Until then, a laptop. And if the code can't run on a phone, oh well. They had their chance.
- eternityforest 4y agoBecause that's a terrible way to interact with computers for 99% of applications. Now the market is so big, we have enough customers to justify a polished, easy to use, featureful app for every task. And people want security, meaning we need lots and lots of boilerplate to deal with all the permissioned APIs, plus we want reliability, so we can't just let people peek and poke. If we let people do that the app store would fill up with apps that used it, and half of them would be unreliable, and stuff would suck. In fact, if there was a prompt at all, hackers could trick people into typing evil commands like they do to Linux newbies. Then those of us with tech experience would have to deal with it. Much better to offer equivalent capability in a way that doesn't have an easy to exploit hole on the human side. Smartphones DO encourage programming. There's like a million apps. They don't need a basic prompt, they just need to be there and really capable and make people feel its worth learning to develop for them. There are various sandboxed easy to use dev apps on Android for those who want to do old school 80s BASIC stuff. And it's a pretty cool thing, but it's best kept where it belongs, in an app, not conflicting with the primary use case of the phone. I do wish Google would support Flutter a little better and make stuff easier so we didn't need buggy third party libs though.
- timcavel 4y ago[dead]
- hotpathdev 4y agoPrior to smart phones, programming on phones was much more inaccessible due to hardware fragmentation. Mobile Apps are popular and APIs are available everywhere. Some deployed apps include implementations of BASIC, Python and other languages which you can use to develop right on the phone. The problem is, typing on a smart phone is terrible, and it's worse for programming. You need a keyboard and by then you might as well use a laptop.
- kaffeeringe 4y agoCompanies want you to consume and not to create to become a competitor.
- herbst 4y agoWhen Smartphones came out I couldn't think of anything else than creating apps for it. Naturally I learned Java and android as soon as I could. I published my first app soon after. Well it didn't work so well on all devices. It worked on all my test Devices so I was stuck and the app was removed from the store. Years later I released a game. It was taken offline several times before I didn't care anymore. Half of the time I didn't know why, I just submitted a new build on the current SDK it got approved and a few weeks later taken offline. The whole ecosystem sucks. You build really temporary apps that likely won't work on future phones without rebuilding several times for new SDKs. Java is not a language that encourages fun in coding and Android makes the Java experience just worse.
- sadpolishdev 4y agoBecause smartphones give access to lot of distractions and content out of the box, and when you got your Atari XE or similar machine, you had 10 floppies with games and INTRODUCTION to basic - at some point you'd start writing it from pure boredom. Now you can infinitely scroll social media and never had a glimpse of thought about doing something by yourself.
- EVa5I7bHFq9mnYK 4y agoSmartphones allow such things. In fact, I wrote an app with an interpreter, ide, debugger and even its own app store, that was intended to build small programs (a few lines of js can do wonders). There wasn't a word of discouragement from Google. But very few people used it. I guess too much trouble.
- simne 4y agoBecause just about 10% of people could enjoy mathematics with current education technologies, and I think, people who enjoy programming are subset of who enjoy mathematics. This is natural limitation, unfortunately. This is not to say, some people better then others, just every human have some strong sides from possible set, but very rare people strong at all. For simplicity, there are three main classes - math, arts, psychology (as example, Betazoids in Star Trek are not totally fictitious, exists people who are so strong in sensing others, so it could appear, like they read your thoughts). This is good correlated with number of graduated in Germany - ~35% (I think ~10% math, ~10% art, ~10% psychology). Some people are physically strong. Programming is mostly math. So, early 80s computers, gives great tools into hands of math people, and this duet gives lot of fruits. After computers penetration become much more than 10%, it become impossible for education system, to educate more math people, so for others computer becomes just entertainment. I believe, with AI teachers, private highly-custom education will become more affordable, so larger percent of math-capable will appear, but I can't predict exact number, may it become twice bigger, the same with others (arts, psychology), so 70% will be with diploma.