|
![]() |
#1 |
NavAx
|
Цитата:
Сообщение от perestoronin
![]() А еще полезная фича от ФП - передача функции как параметра.
Недостатков в современных системах и языках быть не должно, нужно принимать все полезное новое, а не страдать от отсталости имеющихся средств. Благо выбор инструмента имеется. Конечно можно и старой ржавой лопатой траншеи копать, а можно и современной машиной. Вопрос каким инструментом быстрее и менее затратнее. К примеру, те же ФП штука мощная, но читать и дебажить их почти так же трудно, как регулярные выражения.
__________________
Isn't it nice when things just work? |
|
|
За это сообщение автора поблагодарили: perestoronin (-1). |
![]() |
#2 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: perestoronin (1). |
![]() |
#3 |
NavAx
|
Ну насколько помню, там breakpoint не на что поставить. И рекурсии на каждом шагу. А еще возможность написать всю программу в одну строку. Ну и конечно же ФП чемпион по возможностям мета-программирования.
Лучше такой инструмент в руки прикладных аксапщиков не давать. Я бы и контейнеры с макросами убрал бы от шаловливых ручек подальше.
__________________
Isn't it nice when things just work? |
|
![]() |
#4 |
Участник
|
Цитата:
Сообщение от macklakov
![]() Ну насколько помню, там breakpoint не на что поставить. И рекурсии на каждом шагу. А еще возможность написать всю программу в одну строку. Ну и конечно же ФП чемпион по возможностям мета-программирования.
Лучше такой инструмент в руки прикладных аксапщиков не давать. Я бы и контейнеры с макросами убрал бы от шаловливых ручек подальше. Нужно думать еще о том какого уровня спецы будут потом систему поддерживать. Спички детям не игрушка. |
|
|
За это сообщение автора поблагодарили: Diman (1), perestoronin (1), ax_mct (4). |
![]() |
#5 |
Banned
|
Цитата:
Это как взять двигатель автомобиля и ужать его в размерах для "красоты" чтобы без лишнего зазора и пространства. И бог с ним с X++, какая разница на чем программировать. Но если вдруг это приведет к тому что в AX будут программировать junior .NET программисты без опыта в AX то мне жалко и клиентов и систему. Не в синтаксисе дело. |
|
![]() |
#6 |
Участник
|
Цитата:
![]()
__________________
// no comments |
|
![]() |
#7 |
Banned
|
Цитата:
- стоимости (скорость разработки) - соответствия (функциональным ожиданиям пользователей) - надежности (количество или отсутствие технических ошибок) - понятности (простота расширения и поддержки), использование только тех паттернов и того стиля которые уже есть в системе. Душок, не душок, но если нет ошибок Best Practices - значит код допустимый. Я не про свой код, а про свое отношение к нему. То есть я к тому что я искренне не понимаю когда для программистов красота кода на первом месте. На моей планете этой красоты просто никто не оценит и не увидит. Совсем другие условия работы со взглядом не со стороны программиста а со стороны клиента когда в конце этого туннеля до кода взгляд и не доходит. Так что я бы рад кого-нибудь по печени приголубить и самому получить но это просто нереально. Когда такое желание возникает то этих людей рядом нет да и кто они чаще всего неизвестно. Да и неправильное это желание если неизвестны условия работы и история изменений. Чем больше опыта тем меньше желания обвинять программистов по части кода ![]() P.S. Вот что сразу вымораживает так это использование СиШарпного стиля в X++. Прежде всего наименование переменных. Вот это я считаю проблемой и в С# и в X++ когда каждый программист со своим стилем. Последний раз редактировалось ax_mct; 21.09.2014 в 17:51. |
|
![]() |
#8 |
Участник
|
Цитата:
Эти вещи характерны тем, что имеют отложенный эффект ( См. понятие "технический долг". ) Проще сейчас сделать кое-как (скопипастить, не переименовать что-то название чего не отражает его роль и т.д.). Но от этого потом труднее понимать и работать. "Красота" описывается в конкретных терминах (например SOLID) нарушение каждого из которых приводит к образованию технического долга. Соблюдение тоже имеет свою цену. Если вы находитесь в "технологическом гетто" - как правило эта цена больше - для небольшой аудитории меньше желающих что-то делать, при этом сама технология менее протестирована. Например простейшие рефакторинги из Resharper (типа переименование переменной, выделить метод), которые этот инструмент делает быстро и гарантированно безопасно, в X++ часто дороги и рискованны, поэтому от них часто отказываются. Сам язык X++ не позволяет создавать неймспейсы и иметь внутренние классы и т.д. в результате много модификаций сводится к изменению существущего кода, а не к его расширению к тому же пропадает формальное разделение на модули и интерфейс модулей становится непонятным (нельзя сказать "пользуйтесь вот этими классами, а эти - детали реализации"). и т.д. В результате система превращается в одну большую кучу, которая доступна лишь только инкрементальному пониманию большими усилиями - разработчик разбирается с одним небольшим кусочком, а потом делает исходя из этого модификацию увеличивая объем кучи. |
|
|
За это сообщение автора поблагодарили: AlexeyS (1), S.Kuskov (2). |
![]() |
#9 |
Banned
|
Цитата:
![]() ![]() Последний раз редактировалось ax_mct; 21.09.2014 в 17:47. |
|
![]() |
#10 |
Участник
|
В F# можно (есть еще REPL), в C# в лямбдах нельзя.
Цитата:
И рекурсии на каждом шагу.
Цитата:
А еще возможность написать всю программу в одну строку.
Цитата:
Ну и конечно же ФП чемпион по возможностям мета-программирования.
Цитата:
Лучше такой инструмент в руки прикладных аксапщиков не давать. Я бы и контейнеры с макросами убрал бы от шаловливых ручек подальше.
|
|
|
За это сообщение автора поблагодарили: Diman (1), perestoronin (1). |
![]() |
#11 |
Участник
|
Цитата:
Сообщение от macklakov
![]() Ну насколько помню, там breakpoint не на что поставить. И рекурсии на каждом шагу. А еще возможность написать всю программу в одну строку. Ну и конечно же ФП чемпион по возможностям мета-программирования.
Лучше такой инструмент в руки прикладных аксапщиков не давать. Я бы и контейнеры с макросами убрал бы от шаловливых ручек подальше. А вот за контейнеры, согласен, я б их вообще запретил, а еще c anytype что-то надо сделать на этапе компиляции.
__________________
Sapere aude |
|
Теги |
.net, aot, cil, layer, morphx, x++, компилятор, слои |
|
![]() |
||||
Тема | Ответов | |||
Прощай, CITP-AT / Software-Vertriebsfirma Columbus IT Partner programmiert Pleite | 3 |
|