Что? Это два разных человека. Конечно, рекламировать борщелисповца и автора Яр это такое себе, но имеет право — может, ему действительно нравится, что делает den73.
ну, эти чудеса не такие уж и чудесатые. хот релоад используют только в очень специфичных местах. часто слышу эту фичу как одну из знаковых в ерланге, но в реальной жизни она приносит очень много боли. современные подходы стремятся к стейтлес системам, а стейты хранят в каких-нибудь внешних БД, что снимает какую бы то ни было потребность в хот релоаде кода. хотя, в свое время это была прикольная игрушка, особенно во всяком телеком железе, когда обновляли прошивку без остановки коммутатора.
а стейты хранят в каких-нибудь внешних БД, что снимает какую бы то ни было потребность в хот релоаде кода
Редактор, который по каждому нажатию кнопки пишет в БД, будет изрядно тормозить. Всё равно часть состояния хранится в клиенте. И часто бывает потребность обновлять интерфейс клиента без прекращения его работы. Для HTTP/CGI или Erlang это почти тривиально. Для AJAX и Common Lisp чуть сложнее. Для приложения на большинстве языков: перезапускайся и теряй введённые данные.
хот релоад - штука крайне сложная именно из-за стейта. даже для клиента к БД никто на беке не будет заморачиваться с хот релоадом. разве что у кого-то очень много свободного времени для такой мелкой моторики. если добавить скорость разработки софта - то этот энтузиаст быстрее застрелится после пары таких приседаний с трансфером стейта от одной версии к другой. и это не тревиально для эрланга, как может показаться на первый взгляд (конечно, все зависит от сложности стейта, но все же). в дикой природе не встречал хот релоада. любые попытки узнать, может у кого-то был шанс лицезреть вживую - никто. зачастую народ просто встречал статьи, где какие-то умельцы упражнялись с этой фичей, но все едины во мнении, что сие чудо ерланга лучше избегать, дабы избежать бессонные ночи, головную боль, ранней седины и множество других побочных явлений на теле организма как «бонус» от хот релоада.
В Common Lisp с передачей состояния тоже не заморачиваются.
Система позволяет без перезагрузки подменять функции и расширять типы структур (а для объектов вообще произвольную трансляцию данных делать). То есть всё на уровне SQL. Никто же ради ALTER TABLE или ALTER PROCEDURE сервер СУБД не перезапускает.
Но вот если сервер приложений на Java, то расширить класс без перезапуска сервера очень проблематично. А на Си++ так вообще практически невозможно.