LINUX.ORG.RU

История изменений

Исправление AndreyKl, (текущая версия) :

Назвал уже как минимум три широкоиспользуемые фичи. Компилирующие темплейт-движки, компилируемые динамические прокси сервисов, компилируемые динамические сериализаторы. Ну и да, вот то что умеет jrebel, умеет и Visual Studio.

Нет, не нивелируется, совершенно разного порядка вещи. Тем более, в хаскеле репл куцый. В случае когда весь «проект» - REPL, разработка совершенно по-другому идет, по сравнению с тем как если просто иногда тыкать какие-то мелочи в командной строке.

Вообще конечно ответить легко на всё, кроме темплейт-движков которые мне как веб-программисту кажутся интересной фичей на вскидку.

Да, фичи которые ты назвал иногда бывают нужны. Но это нужно сильно менее чем в 1% случаев, наверное. Так что назвать «динамический прокси для сервиса» и «компилирующийся динамический сериализатор» широко используемыми на практике как то язык не поворачивается.

Когда это (динамические изменения сервисов) предполагается, это можно сделать архитектурно - типа выбрал - они изменился. Поэтому фича вообще кажется костылём (как и всё в динамических языках, если честно). А когда не предполагается - ну придётся перезапустить сервис, что делать.

Да, иногда круто иметь возможность создать динамический прокси для сервиса. Но «сильно менее 1%» это как раз и есть то что называется «десять рад подумать прежде чем делать и плюнуть в итоге». Компилируемые динамические сериализаторы из той же серии.

Что до компилирующих темплейт-движков - звучит интересно, гипотетически. Но на практике я вот думаю -думаю как её применить и ничего особо не придумывается. Набор параметров передаваемых движку всё равно изменить нельзя (их передаёт основное приложение же, проще компильнуть). Можно только сам шаблон поменять. Так обычно шаблонизаторы в разы проще делаются, и прекрасно могут менять динамически контент и кешировать. Может я не прав, хотелось бы примера использования этого. На ум приходит что то вроде формы в бухгалтерском (или веб) приложении - поменял поля без перезапуска. Но это фича шаблонизатора - сделали, значит может. Что ещё?

По поводу нивелируется - не нивилируется, я вообще не понял. Ну загрузи в репл главный модуль (где мейн) и ещё кучу модулей. Дёргай функции. Надо - перезагрузи (один) модуль. Чего там куцего то? То ли я чего не понял, то ли я не знаю.

Исходная версия AndreyKl, :

Назвал уже как минимум три широкоиспользуемые фичи. Компилирующие темплейт-движки, компилируемые динамические прокси сервисов, компилируемые динамические сериализаторы. Ну и да, вот то что умеет jrebel, умеет и Visual Studio.

Нет, не нивелируется, совершенно разного порядка вещи. Тем более, в хаскеле репл куцый. В случае когда весь «проект» - REPL, разработка совершенно по-другому идет, по сравнению с тем как если просто иногда тыкать какие-то мелочи в командной строке.

Вообще конечно ответить легко на всё, кроме темплейт-движков которые мне как веб-программисту близки и знакомы.

Да, фичи которые ты назвал иногда бывают нужны. Но это нужно сильно менее чем в 1% случаев, наверное. Так что назвать «динамический прокси для сервиса» и «компилирующийся динамический сериализатор» широко используемыми на практике как то язык не поворачивается.

Когда это (динамические изменения сервисов) предполагается, это можно сделать архитектурно - типа выбрал - они изменился. Поэтому фича вообще кажется костылём (как и всё в динамических языках, если честно). А когда не предполагается - ну придётся перезапустить сервис, что делать.

Да, иногда круто иметь возможность создать динамический прокси для сервиса. Но «сильно менее 1%» это как раз и есть то что называется «десять рад подумать прежде чем делать и плюнуть в итоге». Компилируемые динамические сериализаторы из той же серии.

Что до компилирующих темплейт-движков - звучит интересно, гипотетически. Но на практике я вот думаю -думаю как её применить и ничего особо не придумывается. Набор параметров передаваемых движку всё равно изменить нельзя (их передаёт основное приложение же, проще компильнуть). Можно только сам шаблон поменять. Так обычно шаблонизаторы в разы проще делаются, и прекрасно могут менять динамически контент и кешировать. Может я не прав, хотелось бы примера использования этого. На ум приходит что то вроде формы в бухгалтерском (или веб) приложении - поменял поля без перезапуска. Но это фича шаблонизатора - сделали, значит может. Что ещё?

По поводу нивелируется - не нивилируется, я вообще не понял. Ну загрузи в репл главный модуль (где мейн) и ещё кучу модулей. Дёргай функции. Надо - перезагрузи (один) модуль. Чего там куцего то? То ли я чего не понял, то ли я не знаю.