And yet, people do get useful work done with spreadsheets. They build computer programs that solve problems for them. There are many programs that aren't feasible to write in a spreadsheet, but there are many useful ones that are.
I think success for this project looks more like a supercharged spreadsheet than a simplified programming language. There will be many programs that won't be feasible to write in it, but I think they could carve out an area wherein there are many useful programs that can be. If that area is large enough, that would be a big deal.
> There are many programs that aren't feasible to write in a spreadsheet
There are many programs that aren't feasible to write in a spreadsheet, and yet people have written them regardless.
In college, one course I took got groups of students to participate in a networked, multi-user business simulation that was written in Excel.
It was slow as hell, and Excel probably wasn't the best tool for the job, but it was probably just what the domain experts who created it were familiar with. Despite its lack of performance, it did its job admirably.
I think many people would be absolutely shocked at the size and scope of applications written in Excel using VBA. So in that respect, perhaps a supercharged spreadsheet would result in many more feasible applications than most of us, as developers, would first imagine.
But doing simple things with spreadsheets is a hell of a lot easier than doing simple things with python. Learning curves are important because most people will never get to the powerful things if they get frustrated and give up on the simple things.
Programming languages tend to be geared toward coercing the user to abstract data into symbols. Spreadsheets are the other way around being more focused on keeping the data in front of your face as a table.
Data can be a complex thing to understand. By forcing data to be explicitly displayed in tables, users no longer need to "read source code" as just a casual glance at a chart or a table leads to significant comprehension about what's going on.
Maybe. But the key difference is that those who "program" spreadsheets can see all of the steps involved. The hardest part about programming is constructing and executing a model of the computation in your head. Spreadsheets help with exactly that, by making a 1-to-1 association between steps of the computation, and things in front of you.
> But the key difference is that those who "program" spreadsheets can see all of the steps involved.
I would say that that's almost precisely backwards: compared to typical plain-text code, spreadsheets make intermediate results more obvious, while obscuring the steps. (Things like, e.g., scala worksheets or ipython notebooks bridge this gap in a way which makes both the steps and the results clear.)
Yes, I'll agree with that. Users have to poke at the data cell to see what the formula is there - and it's easy to not do this, and be confused why the results are coming out wrong.
I think success for this project looks more like a supercharged spreadsheet than a simplified programming language. There will be many programs that won't be feasible to write in it, but I think they could carve out an area wherein there are many useful programs that can be. If that area is large enough, that would be a big deal.