Сообщение Re: Когда императивность переходит в декларативность... от 08.08.2023 9:25
Изменено 08.08.2023 9:26 swame
Re: Когда императивность переходит в декларативность...
Здравствуйте, Shmj, Вы писали:
S>Вот императивный способ создания GUI и это плохо:
S>
S>А если всего чуток изменить, то можно без особой переделки сделать чтобы все было декларативно. А именно:
S>
S>Т.е. делаем new не обязательным, создание объекта без него. И даем возможность задать в конструкторе свойства. И все! Теперь без переделки ядра и без создания нового языка — мы можем писать все декларативно. Не нужен XAML или еще что. Получается что все выглядит как JSON или подобие его — все просто и ясно, даже парсить можно парсером в 10 срок кода.
S>Все гениальное — просто.
Первый вариант хорош, а второй плох хотя бы тем, что по первому можно нормально пройти отладчиком, а по второму хрен.
Я в своих проектах запрещаю девелоперам использовать декларативный стиль в бизнес логике, кроме элементарных случаев,
т.к. он не поддается отладке ни дебаггером, ни логгером.
А парсить этот свой коде непонятно зачем надо.
S>Вот императивный способ создания GUI и это плохо:
S>
S>Form mainForm = new Form();
S>Button blueButton = new Button();
S>blueButton.Color = Colors.Blue;
S>mainForm.Children.Add(blueButton);
S>
S>А если всего чуток изменить, то можно без особой переделки сделать чтобы все было декларативно. А именно:
S>
S>Form(
S> Children: [
S> Button(
S> Color: Colors.Blue
S> )
S> ]
S>)
S>
S>Т.е. делаем new не обязательным, создание объекта без него. И даем возможность задать в конструкторе свойства. И все! Теперь без переделки ядра и без создания нового языка — мы можем писать все декларативно. Не нужен XAML или еще что. Получается что все выглядит как JSON или подобие его — все просто и ясно, даже парсить можно парсером в 10 срок кода.
S>Все гениальное — просто.
Первый вариант хорош, а второй плох хотя бы тем, что по первому можно нормально пройти отладчиком, а по второму хрен.
Я в своих проектах запрещаю девелоперам использовать декларативный стиль в бизнес логике, кроме элементарных случаев,
т.к. он не поддается отладке ни дебаггером, ни логгером.
А парсить этот свой коде непонятно зачем надо.
Re: Когда императивность переходит в декларативность...
Здравствуйте, Shmj, Вы писали:
S>Вот императивный способ создания GUI и это плохо:
S>
S>А если всего чуток изменить, то можно без особой переделки сделать чтобы все было декларативно. А именно:
S>
S>Т.е. делаем new не обязательным, создание объекта без него. И даем возможность задать в конструкторе свойства. И все! Теперь без переделки ядра и без создания нового языка — мы можем писать все декларативно. Не нужен XAML или еще что. Получается что все выглядит как JSON или подобие его — все просто и ясно, даже парсить можно парсером в 10 срок кода.
S>Все гениальное — просто.
Первый вариант хорош, а второй плох хотя бы тем, что по первому можно нормально пройти отладчиком, а по второму хрен.
Я в своих проектах после нескольких лет неморроя на пустом мест запретил девелоперам использовать декларативный стиль в бизнес логике, кроме элементарных случаев,
т.к. он не поддается отладке ни дебаггером, ни логгером.
А парсить этот ивой коде непонятно зачем надо.
S>Вот императивный способ создания GUI и это плохо:
S>
S>Form mainForm = new Form();
S>Button blueButton = new Button();
S>blueButton.Color = Colors.Blue;
S>mainForm.Children.Add(blueButton);
S>
S>А если всего чуток изменить, то можно без особой переделки сделать чтобы все было декларативно. А именно:
S>
S>Form(
S> Children: [
S> Button(
S> Color: Colors.Blue
S> )
S> ]
S>)
S>
S>Т.е. делаем new не обязательным, создание объекта без него. И даем возможность задать в конструкторе свойства. И все! Теперь без переделки ядра и без создания нового языка — мы можем писать все декларативно. Не нужен XAML или еще что. Получается что все выглядит как JSON или подобие его — все просто и ясно, даже парсить можно парсером в 10 срок кода.
S>Все гениальное — просто.
Первый вариант хорош, а второй плох хотя бы тем, что по первому можно нормально пройти отладчиком, а по второму хрен.
Я в своих проектах после нескольких лет неморроя на пустом мест запретил девелоперам использовать декларативный стиль в бизнес логике, кроме элементарных случаев,
т.к. он не поддается отладке ни дебаггером, ни логгером.
А парсить этот ивой коде непонятно зачем надо.