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.
Best for thinking is actually walking around, while not being distracted by anything else.
Fwiw my best ideas were born in a bathroom.
Compared to mouse and keyboard it is.
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.
Neither is a calculator.
I tried ssh-ing from my phone once, and it was an absolutely terrible experience.
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.
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.
Pythonista is probably one of the better ones. http://omz-software.com/pythonista/
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.
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.