Being nit picky but:
> I still can't get Gmail to do even simple tasks like schedule an email to be sent later or batch up all incoming emails containing a certain phrase into a weekly digest!
You can do the latter with labels in gmail.
Being nit picky but:
> I still can't get Gmail to do even simple tasks like schedule an email to be sent later or batch up all incoming emails containing a certain phrase into a weekly digest!
You can do the latter with labels in gmail.
There is a fair amount of accidental complexity with programming, but there is even more inherent complexity. Thinking about problems using strict formal logic is hard. It's not something that everyone has the time, patience or inclination to do. I am 100% in Bob's camp in that argument; I think it's utterly and completely unrealistic to expect the average person to know how to patch together APIs in order to deliver functionality. Moreover, I don't even think it's a bad thing. Most people call a plumber when their pipe springs a leak. Most people call a mechanic when their car starts spewing smoke. I think it's fair that most people would call a programmer when they need an application made.
At this point it's clear that the average programmer, let alone the average user, actually likes getting paid to write mindless glue code and copy data from one spreadsheet cell to another. I've been teaching physics and maths for years, long enough to learn that normal people have a strong aversion to the sort of abstract thinking that these systems demand of them.
Agreed. This is the point I was trying to make, but I think you said it better than I did.
So why not be hopeful that the modern laziness of the human who wishes to scroll through a twitter stream of Facebook feed slowly dissolves and is replaced by people who wish to make computation more useful to them? More personal to their needs, and more able to help them accomplish their goals of obtaining amd organizing knowledge and their life?
I agree with the premise, not that, currently, all of us are ready for such an implementation. It'll require a reboot of our education system, and what we think is important to teach in schools.
> Most people call a mechanic when their car starts spewing smoke. I think it's fair that most people would call a programmer when they need an application made.
The major difference between the mechanics world and programmers world is that one is 100% symbolic, the parts are (potentially) free, reusable, and non-degradable. Given someone knows functional math, and is provided with these free, reusable and non degradable parts, surely, itd be a much easier task than learning everything about cars and the ways they can fail.
This futuristic building block programming world still maintains professional programmers who create abstractions that are easily composed. After all, thats the hard part, right? (Beyond scaling and centralizing, which as the article points out, may be a problem caused by the need for centralization in the first place)
> I think it's utterly and completely unrealistic to expect the average person to know how to patch together APIs in order to deliver functionality.
I feel like you are making this sound harder than it really is. Again, its the easiest part of programming, and yes non programmers dont know how to do it, but is it any different (or difficult) than forcing or suggesting them to learn calculus (or pre-calculus) in high school?
Visual Basic 6 is the exception to your list. A LOT of laypeople used VB6 to create really useful programs. It is hard for people who weren't alive then to understand just how gigantic VB6 was (partially because VB6 predates the web).
Unfortunately, Microsoft killed VB6 with the transition to VB.net.
It's called Excel.
Yes, people use Excel to make complex applications. But it's the same as people jerry-rigging their own wiring, or attempting to use heavy machinery without the proper qualifications. It can work, but a lot of the time, it leads to collapse, disaster, and thousands of dollars in damage.