11.09.2014, 18:45 | #41 |
Участник
|
Цитата:
в C# можно сделать как-то. X++: var isEven = (Int x) => x % 2 == 0; ... ... new []{1, 2,3,4,5}.Where(isEven); В каком-то смысле не может (этот параметр обязательный и надо что-то туда передать) Аналогично X++: bool isEven(int x) { return x % 2 == 0; } ... ... new []{1, 2,3,4,5}.Where(isEven); |
|
11.09.2014, 19:50 | #42 |
Участник
|
Цитата:
Так вот, каким образом, описанная типобезопасность позволит упростить (иначе, зачем связываться) решение тех задач, для которых и предназначен язык X++? Собственно, какую вообще задачу решает подобная типобезопасность?
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
12.09.2014, 10:23 | #43 |
Участник
|
Цитата:
Во всех этих местах компилятор не найдет ошибок если вы будете использовать не тот тип. |
|
13.09.2014, 17:57 | #44 |
Разработчик
|
|
|
17.09.2014, 03:08 | #45 |
Участник
|
Лучше бы Python вместо шарпа вкорячили.... си плюс плюсов было бы больше
|
|
17.09.2014, 10:01 | #46 |
Участник
|
|
|
17.09.2014, 10:25 | #47 |
Участник
|
Мне кажется основные проблемы в Аксапте не из-за языка программирования и его недостатков / преимуществ. Все что сейчас надо, можно сделать текущими средствами.
Вопрос в том что именно делать, как делать и как это продавать. |
|
18.09.2014, 17:18 | #48 |
Разработчик
|
А еще полезная фича от ФП - передача функции как параметра.
Недостатков в современных системах и языках быть не должно, нужно принимать все полезное новое, а не страдать от отсталости имеющихся средств. Благо выбор инструмента имеется. Конечно можно и старой ржавой лопатой траншеи копать, а можно и современной машиной. Вопрос каким инструментом быстрее и менее затратнее. |
|
|
За это сообщение автора поблагодарили: Diman (1), pitersky (-1). |
18.09.2014, 19:43 | #49 |
северный Будда
|
Цитата:
инструмент всё-таки должен соответствовать задаче копать современной машиной траншеи, конечно, быстрее, но если она копает 5% времени, а 95% простаивает, то вряд ли это эффективный инструмент
__________________
С уважением, Вячеслав |
|
|
За это сообщение автора поблагодарили: perestoronin (-1). |
19.09.2014, 08:44 | #50 |
NavAx
|
Цитата:
Сообщение от perestoronin
А еще полезная фича от ФП - передача функции как параметра.
Недостатков в современных системах и языках быть не должно, нужно принимать все полезное новое, а не страдать от отсталости имеющихся средств. Благо выбор инструмента имеется. Конечно можно и старой ржавой лопатой траншеи копать, а можно и современной машиной. Вопрос каким инструментом быстрее и менее затратнее. К примеру, те же ФП штука мощная, но читать и дебажить их почти так же трудно, как регулярные выражения.
__________________
Isn't it nice when things just work? |
|
|
За это сообщение автора поблагодарили: perestoronin (-1). |
19.09.2014, 09:01 | #51 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: perestoronin (1). |
19.09.2014, 09:51 | #52 |
NavAx
|
Ну насколько помню, там breakpoint не на что поставить. И рекурсии на каждом шагу. А еще возможность написать всю программу в одну строку. Ну и конечно же ФП чемпион по возможностям мета-программирования.
Лучше такой инструмент в руки прикладных аксапщиков не давать. Я бы и контейнеры с макросами убрал бы от шаловливых ручек подальше.
__________________
Isn't it nice when things just work? |
|
19.09.2014, 10:58 | #53 |
Участник
|
Цитата:
Сообщение от macklakov
Ну насколько помню, там breakpoint не на что поставить. И рекурсии на каждом шагу. А еще возможность написать всю программу в одну строку. Ну и конечно же ФП чемпион по возможностям мета-программирования.
Лучше такой инструмент в руки прикладных аксапщиков не давать. Я бы и контейнеры с макросами убрал бы от шаловливых ручек подальше. Нужно думать еще о том какого уровня спецы будут потом систему поддерживать. Спички детям не игрушка. |
|
|
За это сообщение автора поблагодарили: Diman (1), perestoronin (1), ax_mct (4). |
19.09.2014, 11:13 | #54 |
Участник
|
В F# можно (есть еще REPL), в C# в лямбдах нельзя.
Цитата:
И рекурсии на каждом шагу.
Цитата:
А еще возможность написать всю программу в одну строку.
Цитата:
Ну и конечно же ФП чемпион по возможностям мета-программирования.
Цитата:
Лучше такой инструмент в руки прикладных аксапщиков не давать. Я бы и контейнеры с макросами убрал бы от шаловливых ручек подальше.
|
|
|
За это сообщение автора поблагодарили: Diman (1), perestoronin (1). |
19.09.2014, 11:18 | #55 |
Участник
|
Цитата:
Сообщение от macklakov
Ну насколько помню, там breakpoint не на что поставить. И рекурсии на каждом шагу. А еще возможность написать всю программу в одну строку. Ну и конечно же ФП чемпион по возможностям мета-программирования.
Лучше такой инструмент в руки прикладных аксапщиков не давать. Я бы и контейнеры с макросами убрал бы от шаловливых ручек подальше. А вот за контейнеры, согласен, я б их вообще запретил, а еще c anytype что-то надо сделать на этапе компиляции.
__________________
Sapere aude |
|
20.09.2014, 01:48 | #56 |
Banned
|
Цитата:
Это как взять двигатель автомобиля и ужать его в размерах для "красоты" чтобы без лишнего зазора и пространства. И бог с ним с X++, какая разница на чем программировать. Но если вдруг это приведет к тому что в AX будут программировать junior .NET программисты без опыта в AX то мне жалко и клиентов и систему. Не в синтаксисе дело. |
|
21.09.2014, 07:42 | #57 |
Участник
|
Простите, но если вы даже на Х++ будете писать "код с душком", коллеги вас когда-нибудь побьют.
__________________
// no comments |
|
21.09.2014, 09:31 | #58 |
Участник
|
Цитата:
Эти вещи характерны тем, что имеют отложенный эффект ( См. понятие "технический долг". ) Проще сейчас сделать кое-как (скопипастить, не переименовать что-то название чего не отражает его роль и т.д.). Но от этого потом труднее понимать и работать. "Красота" описывается в конкретных терминах (например SOLID) нарушение каждого из которых приводит к образованию технического долга. Соблюдение тоже имеет свою цену. Если вы находитесь в "технологическом гетто" - как правило эта цена больше - для небольшой аудитории меньше желающих что-то делать, при этом сама технология менее протестирована. Например простейшие рефакторинги из Resharper (типа переименование переменной, выделить метод), которые этот инструмент делает быстро и гарантированно безопасно, в X++ часто дороги и рискованны, поэтому от них часто отказываются. Сам язык X++ не позволяет создавать неймспейсы и иметь внутренние классы и т.д. в результате много модификаций сводится к изменению существущего кода, а не к его расширению к тому же пропадает формальное разделение на модули и интерфейс модулей становится непонятным (нельзя сказать "пользуйтесь вот этими классами, а эти - детали реализации"). и т.д. В результате система превращается в одну большую кучу, которая доступна лишь только инкрементальному пониманию большими усилиями - разработчик разбирается с одним небольшим кусочком, а потом делает исходя из этого модификацию увеличивая объем кучи. |
|
|
За это сообщение автора поблагодарили: AlexeyS (1), S.Kuskov (2). |
21.09.2014, 17:34 | #59 |
Banned
|
Цитата:
- стоимости (скорость разработки) - соответствия (функциональным ожиданиям пользователей) - надежности (количество или отсутствие технических ошибок) - понятности (простота расширения и поддержки), использование только тех паттернов и того стиля которые уже есть в системе. Душок, не душок, но если нет ошибок Best Practices - значит код допустимый. Я не про свой код, а про свое отношение к нему. То есть я к тому что я искренне не понимаю когда для программистов красота кода на первом месте. На моей планете этой красоты просто никто не оценит и не увидит. Совсем другие условия работы со взглядом не со стороны программиста а со стороны клиента когда в конце этого туннеля до кода взгляд и не доходит. Так что я бы рад кого-нибудь по печени приголубить и самому получить но это просто нереально. Когда такое желание возникает то этих людей рядом нет да и кто они чаще всего неизвестно. Да и неправильное это желание если неизвестны условия работы и история изменений. Чем больше опыта тем меньше желания обвинять программистов по части кода P.S. Вот что сразу вымораживает так это использование СиШарпного стиля в X++. Прежде всего наименование переменных. Вот это я считаю проблемой и в С# и в X++ когда каждый программист со своим стилем. Последний раз редактировалось ax_mct; 21.09.2014 в 17:51. |
|
21.09.2014, 17:44 | #60 |
Banned
|
Такова суть AX - заплатки и обновления. Куча. Смена языка ничего не изменит. И строгие пространства имен и прочее ни на что не повлияют в этом плане. Это всего лишь гаечный ключ к монстру Как я понимаю смена языка и среды разработки только увеличивает время разработки. И все. Зато хорошо звучит то что можно найти больше программистов и слепить еще большего монстра
Последний раз редактировалось ax_mct; 21.09.2014 в 17:47. |
|
Теги |
.net, aot, cil, layer, morphx, x++, компилятор, слои |
|
Похожие темы | ||||
Тема | Ответов | |||
Прощай, CITP-AT / Software-Vertriebsfirma Columbus IT Partner programmiert Pleite | 3 |
|