Язык программирования для всех
Если ты хочешь создать более простой язык, чем Basic или Julia, решение происходит через реактивное программирование и даже через... электронная таблица!
В статье, опубликованной в 2009 году под названием Spreadsheet Programming, три автора, работающие на Microsoft и Университет Орегона, объяснили, как пользоваться таблицей, это на самом деле программирование ...
- Ячейки, в которые вводятся значения, являются входами.
- Ячейки, отображающие результат без ссылок других, являются выходами.
- Те, которые содержат формулы, ссылающиеся на другие ячейки и сами упоминаемые в формулах, являются инструкциями программы.
- Есть даже итерации: если формула ссылается на строку или столбец, она применяется к каждой ее ячейке повторно.
Тогда авторы делают удивительные выводы...
Электронные таблицы - самые используемые системы программирования в мире...
Программист в электронной таблице, это делают 11 миллионов американцев, в то время как программистов, использующих процедурный или функциональный язык (цифры того времени), всего 2,75 миллиона.
Первая идея, которая приходит в голову, что это хорошо, но электронная таблица, она служит для финансовых расчетов, а программирование - гораздо более общее, это относится ко всем областям существования...
Но на самом деле это не так. С помощью электронной таблицы можно реализовать множество интерактивных приложений, причем в любой области.
Существуют бесплатные версии электронных таблиц в JavaScript, и даже одна, которая держится в тридцати строках кода (используется для создания изображения выше, с произвольной таблицей стилей).
Сайт Wijmo, который предлагает один из этих виджетов, представляет нам список приложений .

- Панель управления для анализа географических данных.
- Магазин с управлением товарными запасами и покупками.
- Палитра для выбора цвета.
- Панель управления портфелем действий.
- Расписание в сочетании с календарем .
- Коллекция рецептов (изображение справа). Количество калорий обеспечивается формулой и зависит от ингредиентов и их количества. Приготовление помещается блок в камеру и является одновременно входом и выходом.
- Различные формы.
- И так далее...
Эти приложения создаются путем объединения электронной таблицы с другими виджетами, например, путем вставки текстового редактора в ячейку или путем отображения графика в ячейке с графической рамкой.
Такие mashups возможны благодаря тому, что электронная таблица находится в JavaScript и использует HTML в качестве интерфейса.
Видно, что, выбирая HTML 5 для интерфейса, ты получаешь дополнительный инструмент программирования - электронную таблицу. Можно уменьшить требуемое для пользователя усилие, предоставив ему задачу заполнения введённых ячеек, при этом все формулы заранее определены в приложении (что на самом деле делает большинство предустановленных листов стилей, предлагаемых публике).
То, как работает электронная таблица, переводится на язык программирования через парадигму реактивного программирования. Последняя просит программиста описать проблему в формулах и оставляет вычислительную работу интерпретатору. Напротив, классическое императивное программирование требует от программиста поэтапно описывать, какую обработку необходимо выполнить для решения проблемы.
Реактивное программирование часто используется в базах данных: действительно, таблица BDD состоит из строк и колонок, например, электронной таблицы, и можно выполнять глобальные операции в ряду .
Вывод заключается в том, что если ты хочешь увеличить количество программистов, а создать максимально доступный язык программирования, решение - создать электронную таблицу.
Вы можете создать собственную таблицу JavaScript, следуя инструкциям этого учебника. Другой сайт предлагает тебе все функции Excel, в JS. Но вместо включения всех математических функций замените их графическими виджетами. Математических или финансовых пользователей мало.
Денис Суро 28 февраля 2014 года. Обновлено 2/3/2015.