Programming language for all
If you want to create a simpler language than Basic or Julia, the solution takes place through reactive programming and even through... spreadsheet!
In an article published in 2009 titled Spreadsheet Programming, three authors working for Microsoft and the University of Oregon explained how to use the spreadsheet, it's actually programming...
- The cells to which you enter values are inputs.
- Cells displaying the result without other references are outputs.
- Those that contain formulas that reference other cells and are themselves mentioned in the formulas are program instructions.
- There are even iterations: if a formula references a row or column, it is reapplied to each of its cells.
Then the authors draw surprising conclusions...
Spreadsheets are the most used programming systems in the world...
A programmer in a spreadsheet, 11 million Americans do, while there are only 2.75 million programmers using procedural or functional language (figures at the time).
The first idea that comes to mind is that this is good, but a spreadsheet, it serves for financial calculations, and programming is much more general, it applies to all areas of existence...
But it really isn't. Using a spreadsheet, you can implement many interactive applications in any area.
There are free versions of spreadsheets in JavaScript, and even one that is held in thirty lines of code (used to create the image above, with an arbitrary style sheet).
The Wijmo site, which offers one of these widgets, presents us with a list of applications.

- Dashboard for analyzing geographic data.
- Store with inventory and purchase management.
- Color picker.
- Activity Portfolio Dashboard.
- Schedule combined with calendar.
- Recipe collection (image right). The number of calories is provided by the formula and depends on the ingredients and their quantity. Preparation is placed block into chamber and is both input and output.
- Various forms. And
- so on...
These applications are created by combining a spreadsheet with other widgets, for example, by inserting a text editor into a cell or by displaying a graph in a cell with a graphic frame.
Such mashups are possible due to the fact that the spreadsheet is in JavaScript and uses HTML as an interface.
It can be seen that by choosing HTML 5 for the interface, you get an additional programming tool - a spreadsheet. You can reduce the effort required for the user by giving him the task of filling in the entered cells, while all the formulas are predefined in the application (which actually makes most of the preset style sheets offered to the public).
How the spreadsheet works is translated into the programming language through the reactive programming paradigm. The latter asks the programmer to describe the problem in formulas and leaves the computational work to the interpreter. In contrast, classical imperative programming requires the programmer to describe step by step what processing needs to be done to solve the problem.
Reactive programming is often used in databases: indeed, a BDD table consists of rows and columns, such as a spreadsheet, and it is possible to perform global operations in a row.
The conclusion is that if you want to increase the number of programmers, and create the most accessible programming language, the solution is to create a spreadsheet.
You can create your own JavaScript table by following the instructions in this tutorial. Another site offers you all the functions of Excel, in JS. But instead of including all mathematical functions, replace them with graphic widgets. There are few mathematical or financial users.
Denis Suro February 28, 2014. Updated 2/3/2015.