Привет. Я немного изучал литературное программирование, и мне нравится идея: вы в основном пишете небольшой документ о своем коде и записываете столько проектных решений, код, вероятно, окружающий модуль, внутренние рабочие модуль, допущения и выводы, вытекающие из проектных решений, потенциальное расширение, все это можно записать красивым способом с помощью tex. Конечно, первый пункт: это документация. Он должен быть обновлен, но это не должно быть так плохо, потому что ваше изменение должно иметь оправдание, и вы можете записать это.
Однако, как масштаб грамотного программирования в большей степени? В целом, грамотное программирование - это всего лишь текст. Очень понятный для человека текст, конечно, но все же текст, и, следовательно, трудно следить за большими системами. Например, я переработал большие части моего компилятора, чтобы использовать → и некоторую магию для объединения шагов сборки вместе, потому что некоторые "x.register_follower (y); y.register_follower (z); y.register_follower (a);..." стал действительно громоздким, и изменение этого на x → y → z → a сделало его немного лучше, даже несмотря на то, что это тоже самое.
Итак, как грамотное программирование масштабируется для более крупных систем? Кто-нибудь пытается это сделать?
Моя мысль заключалась бы в том, чтобы использовать LP для указания компонентов, которые обмениваются данными друг с другом с помощью потоков событий и объединяют их все вместе, используя подмножество graphviz. Это было бы довольно естественным расширением для LP, поскольку вы можете извлечь документацию - диаграмму потока данных - из сети, а также сгенерировать код из нее очень хорошо. Что ты думаешь об этом?
- Tetha.