Информация об изменениях

Сообщение Re[9]: Прыжки по коду от 15.12.2016 12:29

Изменено 15.12.2016 12:39 Evgeny.Panasyuk

Здравствуйте, licedey, Вы писали:

L>Эти проклятые формы каждый раз с нуля верстать — "одно удовольствие". Если бы можно было как-то шаблонизировать этот процесс...у меня у самого есть несколько идей своего велосипеда, могу поделится


Для шаблонизации "процессов" частенько достаточно простого кодоненератора на каком-нибудь Python, или близкого C#-истам T4.

L>Если вы считаете основной фишкой языка те же макросы например, то найдите целевую аудиторию и покажите ей что ваше решение мощное и экономит время.


Думаю изначально целевая аудитория/платформа выбрана не та, ИМХО.
Во-первых метапрограммирование даёт быстродействие по сравнению с более динамичными решениями. Например та же сериализация на макросах против сериализации на runtime-reflection — возможности примерно одинаковые, но отличается скорость. Для аудитории которая как молитву произносит всёвбазуупирается это в общем-то не интересно. А тем кому всё же иногда требуются — умеют расчехлять T4 при необходимости, и в ус не дуют.
Во-вторых даёт большую типобезопасность по сравнению с теми же динамическими аналогами. Но ради этого преимущества, да и то которое есть только в некоторых местах, вылазить из уютного, знакомого и популярного C#/Java/whatever мало кто будет. Многие вообще используют целиком динамические языки — а уж C# с динамизмом в некоторых местах вообще без проблем переживут.
В-третьих это расширения языка, но по заверениям самого VladD2 "многие воспринимают в штыки (просто потому, что не пробовали и это страшно)" — а уж программисты корпоративных опердней тем более будут воспринимать в штыки.
Здравствуйте, licedey, Вы писали:

L>Эти проклятые формы каждый раз с нуля верстать — "одно удовольствие". Если бы можно было как-то шаблонизировать этот процесс...у меня у самого есть несколько идей своего велосипеда, могу поделится


Для шаблонизации "процессов" частенько достаточно простого кодоненератора на каком-нибудь Python, или близкого C#-истам T4.

L>Если вы считаете основной фишкой языка те же макросы например, то найдите целевую аудиторию и покажите ей что ваше решение мощное и экономит время.


Думаю изначально целевая аудитория/платформа выбрана не та, ИМХО.
Во-первых метапрограммирование даёт быстродействие по сравнению с более динамичными решениями. Например та же сериализация на макросах против сериализации на runtime-reflection — возможности примерно одинаковые, но отличается скорость. Для аудитории которая как молитву произносит всёвбазуупирается это в общем-то не интересно. А тем кому всё же иногда требуются — умеют расчехлять T4 при необходимости, и в ус не дуют.
Во-вторых даёт большую типобезопасность по сравнению с теми же динамическими аналогами. Но ради этого преимущества, да и то которое есть только в некоторых местах, вылазить из уютного, знакомого и популярного C#/Java/whatever мало кто будет. Многие вообще используют целиком динамические языки — а уж C# с динамизмом в некоторых местах вообще без проблем переживут.
В-третьих это расширения языка, но по заверениям самого VladD2 "многие воспринимают в штыки (просто потому, что не пробовали и это страшно)" — а уж программисты корпоративных опердней тем более будут воспринимать в штыки.

А вот если бы был прицел на аудиторию C++, на соответствующую платформу, то это был бы отличный кандидат на пост убийцы C++. Ибо там есть огромный спрос на всякие zero-cost абстракции, метапрограммирование в почёте (даже всякая шаблонная "магия" а-ля enable_if легитимизируется переползая в стандарт), распространены встроенные доменно-специфичные и это языки несмотря на все языковые трудности и перегревы компиляторов.