Последние два года поглотил отвратительный суккуб по имени Шайни (https://shiny.rstudio.com/). Это было приоритетом в спецификации. Все должно было быть написано на R, и для этого нужно было использовать Shiny. Мучительную историю развития можно сохранить для другого раза. Достаточно сказать, что Шайни исказил мою душу до такой степени, что она прохрипела: Убей меня, как клон Рипли. В конце концов сильные мира сего (PTB) обнаружили, что Shiny (если вы не купите версию Pro) не является подходящим решением ни для чего. PTB дает добро на переделку всего этого, используя любые инструменты, которые работают лучше всего.

Я не использовал JavaScript более десяти лет. Заниматься информатикой означает использовать Python или R по принуждению. Не поймите меня неправильно; R — неплохой язык, когда дело доходит до полезности. Это может быть удивительно быстро, несмотря на его репутацию. Base R + data.table + fst = быстрее, чем Python. Это функциональный язык, который делает его кратким. Возможности метапрограммирования потрясающие. Главный недостаток R — эстетический. Круглые скобки, квадратные скобки, амперсанд, двойные кавычки, одинарные кавычки, запятые, знаки процента, знаки доллара, тире, знаки «меньше» и октоторпы сливаются вместе в простых выражениях. Это как жить с соседом по комнате, который никогда не моет посуду и разбрасывает повсюду свои отвратительные грязные носки. Теперь я могу съехать и остаться в запасной комнате JavaScript.

JavaScript стал ответственным взрослым. es6 и более поздние версии добавили синтаксис и семантику, необходимые для полезного функционального программирования. Функциональное программирование не является вершиной парадигм программирования. Это фантастика для решения математических задач. Если ваша проблема сводится к теории множеств, используйте функциональную парадигму. Если вы можете сформулировать то, что хотите, используя формальную логику, используйте функциональную парадигму. Если вы хотите, чтобы компьютер что-то делал, не связывайтесь с монадами, используйте процедурную парадигму. Он прост в использовании и прост для понимания.

Этот проект позволяет пользователю играть с сетью. Серверная часть генерирует сеть, используя в основном теорию графов. Очевидный подход: интерфейс JavaScript, серверная часть python. Мне нужно заново познакомиться с JavaScript.

— Да что ж, Джасвайс, я тебя с трудом узнал.

- Да хорошо. Сейчас я пользуюсь ECMAScript, но вы можете звать меня es9.

— es9, вы стали так-то отражать вашу основную логическую структуру.

— Ты что-то хотел?

— Эм, да, у меня есть эта штука, это приложение, и я подумал, можем ли мы вместе работать над интерфейсом. Но, я имею в виду, вау. Э-э, я собирался работать с Python на бэкенде, но вам это интересно?

— Полный стек.

- Я знаю. Многое нужно спросить. Просто ты выглядишь таким, таким, полезным.

— Почему бы нам сначала не попробовать немного бэкенда. Если все пойдет хорошо, мы можем подумать о полном стеке.

- Конечно. Мы так давно не виделись.