When I'm in a pessimistic mood, I can see a day where we return to $4000+ "developer" machines. I think Doctorow wrote about the war on General Purpose Computing. It turns out that developers and power users were casualties in the race to protect users from themselves.
But if you needed to (and had lots of patience…), you could get your whole development stack on a $250 notebook, because there's $250 notebooks with Windows, or where you can install Linux etc.
Granted, it's not as productive (trackpoint or riot!), but it works.
But with the increasing tivoization of computing? Once below-1000€-laptops/desktops disappear in favour of oversized tablets, how are children going to learn coding? People in developing countries? Poor people in developed countries? Not everyone can afford a 1000€ price tag. Should these people really be excluded from everything that isn't mindless passive consumption?
> Once below-1000€-laptops/desktops disappear in favour of oversized tablets, how are children going to learn coding?
Simple enough; they'll code on tablets.
I'm actually currently working on a prototype for how a simple, useful development environment might look on a phone or tablet. It's a stack-based concatenative array language with a zoomable user interface. Instead of representing code as lines of text, it takes a more Smalltalk-like approach of a live environment. The benefit of being a concatenative language is that it naturally lends itself to a tree-like format where each word can be viewed and edited on a phone screen. Since semantically it's closer to a weird mashup of J and Perl(!), it can be concise (hopefully still readable) and the vector aspect makes drawing graphics pretty straightforward.
The downside, of course, is that it can be quite hard to reason in. Truthfully, I'm not really sure how to work around that—and I don't think most children will easily think in a function composition/matrix manipulation way. That said, I'd like to find something since I'm fairly sold on the idea that tacit programming with arrays is key to making coding on a tablet work (I think it's fairly clear that imperative or even conventional function languages would be a royal pain to use in such an environment). Maybe something Lisp-like where the user zooms around the AST would be an alternative.
> Poor people in developed countries?
Much cheaper phones and tablets are already vastly more popular than laptops or desktops among poor people. The solution is to move coding forward on mobile, not simply keep rather trashy cheap laptops around.
That's what I was thinking. Off the top of my head (not 100% checking compatability, but with current Newegg prices), to replace my current machine, not counting the 24 inch 1080p monitor (which in my experience last a long time as long as a tornado doesn't throw rocks into them (really)) and keyboard, mouse, etc.:
Supermicro XnSAE workstation motherboard: 215
3.3GHz 4 core Xeon E3-1226 CPU w/HDMI out: 217
32 GiB DDR3 1600 ECC Kingston memory: 240
Low end 1/3 w/year for 5 years data center 80GB Intel SATA SSD: 100
Seagate "enterprise" <550/TB/year 4 TB hard disk: 210
982 USD plus shipping plus whatever enclosure, power supply, high quality fans etc. you put into it, which ought not go over $200 new. E.g. after discovering a Lian-Li enclosure I love I bought 3 more and cycle through them.
Plus backup, however you do that (make sure critical stuff is offsite!). And, say, a man-week of your time to configure, order, build, install and configure Linux. The result will be very fast and rock solid (well, if put behind a good UPS) workstation class machine with a 5 year design life.
I think it's just a matter of time for that trend of exclusively mobile/dumb devices to start reversing especially as phones/tablets increase in processing power. Canonical already showed us it is possible to run both Android and a full desktop OS on the Android kernel years ago[1], MS Surface tablets are basically laptops without a fixed hinge between the keyboard and screen.
I see at least one clear profit motive for the industry here, let's say you have a "Desktop enabled, smart" smartphone, you'll probably want to buy a dock, screen, keyboard, mouse, productivity software, etc.
While maybe this won't always be the case, the current chromeOS structure allows for arbitrary code, you just have to enable a development mode. The process for doing that is well documented. I don't have a problem with a computer that comes restricted as long as there is a documented process for un-restricting it. Same reason I don't find SIP in OS X or Secure Boot a problem. Security features are good as long as they are configurable.
Right, that's a problem. I fully agree with you on that. I just think it's important that fight for the right thing. Secure Boot isn't the problem. In fact, most people probably should leave it on because it's a good security feature. It is absolutely critical that these features work for users and not against them though.
Funny you should mention Microsoft Windows. As I understand it, the phone OS is now unified with tablet and desktop - but you still can't run anything but windows on a windows phone. I don't expect them to offer up the driver source code (all though that would be nice) - but an open boot loader would be a start.
I suppose it's no surprise. It goes something like this: a) underwrite the device (not necessarily lose money on every sale, just lower the margins), b) introduce an app store, c) take a cut of every transaction.
As long as users and developers need your OS, your device - your appstore - you will make money.
> Once below-1000€-laptops/desktops disappear in favour of oversized tablets, how are children going to learn coding?
There's plenty of free, on-device code editor, compiler/interpreter, etc. apps for Android, including ones that will allow you to run code in the app, or build, package, and install (given that you've enable non-Store installation) Android apps right on the device.
I think there is a difference in not wanting to buy a cheap laptop because of build/hardware quality, and not being able to buy a cheap laptop because it won't let you run arbitrary code. One's a choice you make because you have the money to afford a nicer laptop. The other makes it even harder for the less fortunate to understand computers.
How is a locked down tablet/laptop in any way similar to a computer with a built-in compiler/interpreter and a full hw schematic available in the manual?
I don't remember getting any compiler or interpreter for Amiga, Atari or Apple Mac. You had to pay for them and the schematics were part of the OS SDK, also commercial.
Also going besides the ROM BASIC or Forth meant buying a compiler/interpreter.
I know the Amiga manuals (Amiga 2000) was very well documented, a friend fixed ours by measuring the various documented points on the main board, finding a poorly soldered component or fried transistor (I forget the details).
AFAIK Arexx was part of Worbench? But yes, you did need to get a compiler/interpreter for that. I thought you were talking about stuff like the C64 generation of computers.
I remember there were GNU tools available for the Amiga, and some magazines came with various development tools -- eg: Blitz Basic. But most were certainly commercial (including Blitz Basic) - but one must consider that even with aminet - there was nothing like the essentially free distribution of today (eg: push to github).
According to this site, Amiga Basic was actually bundled with the machine (note-section: "bundled basic language interpreter (free with machine)"):