03.12.2015, 18:21 | #21 |
Британский учённый
|
Добавил комментарий к статье MSDN, 1:0 в пользу Нео
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще. |
|
|
За это сообщение автора поблагодарили: macklakov (2), Logger (3), S.Kuskov (2). |
03.12.2015, 19:42 | #22 |
Участник
|
Вангую:
в АХ7 появятся сообщения BP "Ключевое слово anyType более не используется. Используйте ключевое слово var". имхо практической необходимости применения var нет лучше бы добавили поддержку foreach. полезнее было бы |
|
03.12.2015, 20:28 | #23 |
Участник
|
Цитата:
X++: // тип sales order tabke var salesOrder = SalesOrderTable::find(..) // ошибка компиляции salesOrder = InventTrans::find(...) // тип x - AnyType var x = myMap.lookup(sss); // нет ошибки компиляции x = InventTrans::find(...) Последний раз редактировалось belugin; 03.12.2015 в 20:32. |
|
|
За это сообщение автора поблагодарили: mazzy (2), S.Kuskov (2), A_BAS (2). |
03.12.2015, 20:43 | #24 |
Участник
|
Цитата:
Сделать X++ похожим на JS c вакханалией типов и отсутствие каких-либо проверок на этапе компиляции ? От этого один вред. |
|
|
За это сообщение автора поблагодарили: AP-1055D (1). |
03.12.2015, 21:29 | #25 |
Участник
|
Ну, mfp же написал, что три недели будет знакомить с новым-неизведанным)
Так что, может, дальше будет и расписано, зачем же неявная типизация в Аксапте понадобилась Глядишь, и анонимные типы появились. А там уже и рукой подать до встроенного linq'а) Если что - с семеркой дел не имел, так, фантазирую))
__________________
Axapta v.3.0 sp5 kr2 |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
03.12.2015, 21:38 | #26 |
Участник
|
По-моему, просто так удобней сишарперам, которых нагнали толпой на разработку стандартного приложения: они до этого Х++ в глаза не видели и выражают своё "фи" его ограничениям, потому что им подавай var и лямбда-функции, а тут переменные заставляют заранее объявлять, да еще и точный тип вручную указывать. Про перекрестные ссылки в Аксапте они тоже не слышали, и как эти перекрестные ссылки будут работать со всякими там var, их не волнует. Скоро большая часть перекрестных ссылок будет относиться к Common и Object
|
|
|
За это сообщение автора поблагодарили: mazzy (2), macklakov (1), trud (1), Logger (3), AP-1055D (1). |
03.12.2015, 22:17 | #27 |
Участник
|
Что ж смешного то ?
Нам с этим работать дальше. |
|
03.12.2015, 22:25 | #28 |
Участник
|
Интересно, а если вот этот код
X++: // тип x - AnyType
var x = myMap.lookup(sss); X++: // тип x - InventTable !
var x = myMap.lookup(sss) as InventTable; Т.е. придать мапам типизацию на лету. Вот здесь http://blogs.msdn.com/b/mfp/archive/....aspx#10658170 сказано Цитата:
DAP
3 Dec 2015 3:44 AM # It's basically type inferrence, so the type of variable is inferred by the compiler frm the right hand side expression. That means type safety is enforced which is not the case for Object/Common. Последний раз редактировалось Logger; 04.12.2015 в 00:16. |
|
03.12.2015, 22:38 | #29 |
Участник
|
А чем это будет отличаться от
X++: InventTable x = myMap.lookup(sss); |
|
03.12.2015, 23:06 | #30 |
Участник
|
По смыслу - ничем.
Зато будет похоже на C# и будет использоваться ключевое слово var и с перекрестными ссылками все ок. И волки целы и овцы сыты. Всем угодили. |
|
04.12.2015, 06:49 | #31 |
Administrator
|
Да, ошибся... Присвоение любого класса переменной типа Object не означает автоматическое наследование от этого типа.
__________________
Возможно сделать все. Вопрос времени |
|
04.12.2015, 06:50 | #32 |
NavAx
|
Мне казалось, что после 2012-й таких вопросов возникать уже не должно. Ты продал душу MS и попал в ад. Муки, неотъемлемая часть процесса.
__________________
Isn't it nice when things just work? |
|
04.12.2015, 07:05 | #33 |
Участник
|
Этот код в, отличие от предыдущего, свалится, если в Map будет не InventTable. Предыдущий код запихает туда null. Поэтому когда я вижу на code review использование as без проверки на null - я делаю замечание.
|
|
04.12.2015, 07:09 | #34 |
Участник
|
Цитата:
Поэтому такой же пользы от var как в c# нет. Есть набор мелких удобств, которые mfp указал в посте. |
|
|
За это сообщение автора поблагодарили: AndyD (2). |
04.12.2015, 07:10 | #35 |
Участник
|
Спасибо, belugin, акцентировал внимание на то что тип выводится всё-таки на этапе компиляции, а не в runtime. Т.е. проверки уровня компиляции будут! Не будет (пока) только проверок/подсказок уровня редактора. А если компилируются уже выведенные типы, то и перекрёстные ссылки должны работать. Перекрёстный ссылки же строятся по "байт коду" а не по тексту?
|
|
04.12.2015, 07:14 | #36 |
Участник
|
Дженериков нет, а жаль. Можно было бы полностью перейти на дотнетовские коллекции вместо убогих аксаптовских
|
|
04.12.2015, 07:17 | #37 |
Участник
|
|
|
04.12.2015, 07:20 | #38 |
Участник
|
|
|
04.12.2015, 07:22 | #39 |
Участник
|
|
|
04.12.2015, 08:50 | #40 |
Участник
|
Вообще var ввели в C# 3.0 и его использование породило множество сра... обсуждений. Например вот выжимка
|
|
|
За это сообщение автора поблагодарили: mazzy (2). |