AXForum  
Вернуться   AXForum > Прочие обсуждения > Курилка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.09.2014, 13:38   #101  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от perestoronin Посмотреть сообщение
C# это всего лишь Visual Basic в новой упаковке (грубо но вместе с тем достаточно справедливо, иначе бы не потребовалось прикручивать к нему надстройки типа LINQ).
Вы имеете ввиду VB или VB.NET, под LINQ вы имеете ввиду спецсинтакис типа select xxx from yyy или изменения в языке и системе типов, ссылку на которые я приводил ранее.

Цитата:
А для информационных систем лишь один язык мне известен - Scala, но проблема в том, что и у этого языка есть болезнь с детства - он вырос как и X++ на Java, и мало того требует наличия и работает на инфраструктуре JRE (видимо для сохранения совместимости с имеющимися системами написанными на Java).
Не могли бы вы привести пример того, что лучше выражается в scala?
(про операции с коллекциями, которые вы показали, мы уже обсудили в C# есть)

Про C# 6 в курсе?
Старый 25.09.2014, 15:15   #102  
perestoronin is offline
perestoronin
Разработчик
Аватар для perestoronin
NavAx Club
 
129 / 18 (1) ++
Регистрация: 06.09.2005
Адрес: г. Красногорск
Цитата:
Сообщение от belugin Посмотреть сообщение
Не могли бы вы привести пример того, что лучше выражается в scala? (про операции с коллекциями, которые вы показали, мы уже обсудили в C# есть)
Про C# 6 в курсе?
Тот пример лишь малая часть чего не хватает для быстрочитаемого и при этом компактного надежного кода.

Про C#6 ничего не знал, благодарю за ссылку.
Вот порадовали цитаты по ссылке:
Цитата:
wow! c# slowly moves to scala… by the way, your post is clear and interesting! thanks!
Цитата:
Algebraic data types, Higher kinded types, curried and partial function support like scala, scala style classes with primary constructors to reduce boilerplate code, type keyword for immuatable which is type checked, type aliases would be cool, enums as generic params as with integers like C++,
Blair – December 16th, 2013
Ждем таких же перемен не только в C#6.0, но и в X++2.0, иначе действительно лучше перейти на C#6 в DAX, особенно при отказе от редактора DAX в пользу VS.
А кому не нравятся VS && C#6 - добро пожаловать в unix-cli && scala.

Последний раз редактировалось perestoronin; 25.09.2014 в 15:25.
Старый 25.09.2014, 15:36   #103  
ax_mct is offline
ax_mct
Banned
 
2,548 / 1091 (0) ++++++++
Регистрация: 10.10.2005
Адрес: Westlands
C# 6
http://damieng.com/blog/2013/12/09/p...es-illustrated

Чуть короче объявления. То есть например вместо трех строк одна.

Программирование, в том числе и на X++, это не синтаксис языка и лаконичность его конструкций, это прежде всего грамотное использование архитектуры конкретной системы и концепций ООП насколько это уместно для данной системы. То есть я могу понять разговоры про интерфейсы и паттерны, AX Best Practices, но меня просто парализуют разговоры о сокращении строчек кода.

Неужели мы, программисты AX (X++) в настолько разных реальностях?

P.S.
Цитата:
для быстрочитаемого и при этом компактного надежного кода
Сомнительно про надежность и читаемость когда код "компактен" и "красив".
P.P.S
Красивость и надежность кода никак не связана c синтаксисом языка. Как письмо на французском не делает его изысканным по причине использования данного языка.

Вот зачем уходить от X++?

Ладно там надежность/производительность в силу интерпретатора или компилятора, среды выполнения. Но тогда надо говорить не о выражениях языка а о других компонентах. А тут как я понимаю речь о листингах кода и как строчки кода могут выглядеть. Я вас просто не понимаю

Последний раз редактировалось ax_mct; 25.09.2014 в 15:57.
Старый 25.09.2014, 15:51   #104  
perestoronin is offline
perestoronin
Разработчик
Аватар для perestoronin
NavAx Club
 
129 / 18 (1) ++
Регистрация: 06.09.2005
Адрес: г. Красногорск
Цитата:
Сообщение от ax_mct Посмотреть сообщение
Сомнительно про надежность и читаемость когда хочется компактно и красиво.
Компактность и красота нужна не для сокращения объема до уровня зашифрованного текста (perl), а для легко читаемого листинга, больше похожего на набор наглядных коротких математических формул (scala).
За это сообщение автора поблагодарили: Diman (1).
Старый 25.09.2014, 17:40   #105  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
http://www.nestor.minsk.by/sr/2003/07/30710.html

Когда наш гипотетический Блаб-программист смотрит вниз на континуум мощности языков, он знает, что смотрит вниз. Менее мощные, чем Блаб, языки явно менее мощны, так как в них нет некой особенности, к которой привык программист. Но когда он смотрит в другом направлении, вверх, он не осознает, что смотрит вверх. То, что он видит, — это просто "странные" языки. Возможно, он считает их одинаковыми с Блабом по мощности, но со всяческими сложными штучками. Блаба для нашего программиста вполне достаточно, так как он думает на Блабе.
За это сообщение автора поблагодарили: AlexeyS (1).
Старый 25.09.2014, 17:58   #106  
perestoronin is offline
perestoronin
Разработчик
Аватар для perestoronin
NavAx Club
 
129 / 18 (1) ++
Регистрация: 06.09.2005
Адрес: г. Красногорск
Цитата:
Сообщение от belugin Посмотреть сообщение
Цитата:
Если требовались программисты на Perl или Python, это уже было слегка пугающе — это значило, что компанией или, по крайней мере, ее технической частью заправляли настоящие хакеры. Если бы я когда-нибудь увидел объявление о найме на работу Lisp-хакеров, я бы обеспокоился не на шутку.
На всех языках, даже таких странных как perl, clisp, guile, ocaml, есть нехватка программистов. Вопрос чем заниматься требуется и хватит ли с такой работы на хлеб.

Если элементы ФП пригодны и для написания корпоративных приложений:
http://habrahabr.ru/post/212121/
то почему бы их не использовать и в X++ ? Например - для продления привлекательности X++, хотя конечно можно жить хорошо пользуясь всего лишь языком более низкого уровня, как у 1С-ки к примеру.

Последний раз редактировалось perestoronin; 25.09.2014 в 18:10.
Старый 25.09.2014, 18:43   #107  
Кирилл
Гость
 
n/a
Цитата:
Сообщение от belugin Посмотреть сообщение
http://www.nestor.minsk.by/sr/2003/07/30710.html

Когда наш гипотетический Блаб-программист смотрит вниз на континуум мощности языков, он знает, что смотрит вниз. Менее мощные, чем Блаб, языки явно менее мощны, так как в них нет некой особенности, к которой привык программист. Но когда он смотрит в другом направлении, вверх, он не осознает, что смотрит вверх. То, что он видит, — это просто "странные" языки. Возможно, он считает их одинаковыми с Блабом по мощности, но со всяческими сложными штучками. Блаба для нашего программиста вполне достаточно, так как он думает на Блабе.
Мощность языка измеряется способностью выразить меньшими средствами ту же мысль (решить ту же задачу).

Тот кто, решает задачу с помощью менее мощного языка, вынужден прописывать в своем тексте больше подробностей (например, программисты на различных ассемблерах в этих подробностях просто тонут).
А значит он об этих подробностях осведомлен.

Тот, кто решает задачу с помощью более мощного языка, как правило даже не догадывается, сколько всего происходит за кулисами. Он отделен от происходящего толстой стеной из абстракций. И когда происходит нечто, выходящее за рамки этих абстракций, такой программист ничего не может сделать.

Есть же известная статья на эту тему
http://russian.joelonsoftware.com/Ar...tractions.html

Так что в вашей цитате верх и низ перепутаны местами.


P.S.
Самый мощный язык программирования таков, что программы на нем состоят из одного пробела и решают неограниченный круг задач.
Это серебряная пуля и красная кнопка в одном флаконе, точнее в чаше Грааля.

Но непонятно, как найти ошибку в программе из одного пробела, если вдруг она перестанет работать как от нее ожидают.
Старый 25.09.2014, 18:58   #108  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от Кирилл Посмотреть сообщение
Тот, кто решает задачу с помощью более мощного языка, как правило даже не догадывается, сколько всего происходит за кулисами. Он отделен от происходящего толстой стеной из абстракций. И когда происходит нечто, выходящее за рамки этих абстракций, такой программист ничего не может сделать.
Разберем на примере: QBasic и C#. С какой абстракцией столкнется C# программист и не сможет сделать ничего, а программист QBAsic сможет.

Кстати, Джоэл почему-то предпочел сделать свой более мощный язык:

Since we are not blub programmers, we like closures, active records, lambdas, embedded SQL a la LINQ, etc. etc. and so those are the kinds of features we put into Wasabi.

Задача причем весьма прикладная и информационная - багтрекер.

Цитата:
Но непонятно, как найти ошибку в программе из одного пробела, если вдруг она перестанет работать как от нее ожидают.
Совершенно очевидно, что если пробел не справляется со своими обязаностями, то это ошибка разрабочиков компилятора

Последний раз редактировалось belugin; 25.09.2014 в 19:07.
Старый 25.09.2014, 19:08   #109  
Кирилл
Гость
 
n/a
Цитата:
Сообщение от perestoronin Посмотреть сообщение
Как же не любят владельцы бИЗнеса программистов. Владельцы своего дела более благосклонны к своим работникам.

Производители как раз и косячат, причем в ядре системы, а программисты клиента потом с "радостью" находят самостоятельно решения как обойти болезни системы.
Я как бы и есть программист клиента, просто рассуждал с точки зрения бизнеса.
А так-то все эти косяки производителя и дают мне работу. И так все и задумано скорее всего.
Если выпускать неломающиеся машины, автоотрасль разорится и не будет работы у механиков. Так и тут.
Старый 25.09.2014, 19:48   #110  
Кирилл
Гость
 
n/a
Цитата:
Сообщение от belugin Посмотреть сообщение
Разберем на примере: QBasic и C#. С какой абстракцией столкнется C# программист и не сможет сделать ничего, а программист QBAsic сможет.
Программа программиста на QBasic будет работать на Windows без .NET Framework )

А по-хорошему надо сравнивать действующие языки. C++ и C# к примеру.

С# программист не напишет более быстрое вычисление чего-либо, чем C++ программист.
Старый 25.09.2014, 19:58   #111  
perestoronin is offline
perestoronin
Разработчик
Аватар для perestoronin
NavAx Club
 
129 / 18 (1) ++
Регистрация: 06.09.2005
Адрес: г. Красногорск
Цитата:
Сообщение от Кирилл Посмотреть сообщение
более быстрое вычисление
Достигается в плане реализации не на языках C# или C++.
PS. Скорее это удел многоядерного программирования на ассемблере, или на Fortran , а также надстройки над С++ и C в виде технологии от Nvidia CUDA.
Речь не о том, что scala (как и все языки ФП) имеет поддержку параллельной обработки данных, а о том, чтобы программисту было комфортно быстро писать надежный более легкий в понимании и чтении код.
Почему бы не достичь такого же результата и в X++ немного усовершенствовав его (в плане краткости, возможности беглого чтения кода, надежности) ?

Последний раз редактировалось perestoronin; 25.09.2014 в 20:12.
Старый 25.09.2014, 20:02   #112  
Кирилл
Гость
 
n/a
Цитата:
Сообщение от belugin Посмотреть сообщение
Совершенно очевидно, что если пробел не справляется со своими обязаностями, то это ошибка разрабочиков компилятора
Вот вот, но как объяснить это водилам, у которых фуры стоят, а сопроводительные документы они получить не могут

Еще час назад наш пробел отлично работал, что же делать? Наверно стоит отправить запрос разработчикам компилятора.
Старый 25.09.2014, 20:11   #113  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от Кирилл Посмотреть сообщение
Программа программиста на QBasic будет работать на Windows без .NET Framework )

А по-хорошему надо сравнивать действующие языки. C++ и C# к примеру.
Почему? Изначально ваш тезис никак не огранчивал по употребимости?

OK давайте C++ и Plain C.

Подсказка:
- Язык X может включать все возможости языка Y + еще высокоуровневые возможности
- На языке X можно написать eDSL с кодогенерацией как у Y (например Forth Assembler, WebSharper и т.д.)
- Программист на Языке X может так же знать и Y и использовать его по мере надобности
Старый 25.09.2014, 20:11   #114  
Кирилл
Гость
 
n/a
Цитата:
Сообщение от belugin Посмотреть сообщение
Кстати, Джоэл почему-то предпочел сделать свой более мощный язык:
Ну так он же все этапы от ассемблера и дальше прошел. Что скрыто от разработчика, использующего более мощный язык понимает.

А тот, кто сел сразу за более мощный, о многом происходящем не догадываются.
Старый 25.09.2014, 20:17   #115  
Кирилл
Гость
 
n/a
Цитата:
Сообщение от belugin Посмотреть сообщение
Подсказка:
- Язык X может включать все возможости языка Y + еще высокоуровневые возможности
- На языке X можно написать eDSL с кодогенерацией как у Y (например Forth Assembler, WebSharper и т.д.)
- Программист на Языке X может так же знать и Y и использовать его по мере надобности
Если программист на Языке X может так же знать и Y, то он также и программист на языке Y.
Я же веду речь о тех знатоках языка X, которым все возможности языка Y уже разжевали и положили в рот, и у них просто не возникает необходимости изучать низкоуровневые возможности.
Старый 25.09.2014, 20:27   #116  
Кирилл
Гость
 
n/a
Я веду к тому, что появление языков все более высокого уровня в итоге порождает программистов все более низкого уровня.

Хорошо, если программист - это бородатый дяденька, который развивался вместе с развитием языков, он знает, что стоит за новой абстракцией и как конкретно эта абстракция облегчила его жизнь и он помнит как можно жить без нее.
А что делать школьнику? Проходить за пару лет жизненный путь бородатого дяденьки или взять учебник по c# ?

И это не только к языкам программирования относится, а к технологиям вообще.
Выключите электричество и современная цивилизация умрет.

Последний раз редактировалось Кирилл; 25.09.2014 в 20:29.
Старый 26.09.2014, 02:29   #117  
ax_mct is offline
ax_mct
Banned
 
2,548 / 1091 (0) ++++++++
Регистрация: 10.10.2005
Адрес: Westlands
Цитата:
Сообщение от perestoronin Посмотреть сообщение
Компактность и красота нужна не для сокращения объема до уровня зашифрованного текста (perl), а для легко читаемого листинга, больше похожего на набор наглядных коротких математических формул (scala).
И этими наглядными короткими математическими формулами вы будете рисовать и работать с GUI? Или 20 минут на прекрасное наряду с парой дней на копание с
JavaFX или Swing GUI библиотеками? Там уже не до красивостей будет.

То есть я понимаю что речь лишь об обогащении X++ или С#, но мы же не рассчитываем траекторию нейронов для коллайдера, у нас все от GUI и для GUI.

Все что нужно бойцу на реальном фронте бизнес-приложений это GUI ориентированные инструменты и удобство работы с базой данной.

И боевой программист, тот который в окопе на линии огня, при всей своей любви к прекрасному С++ будет рад тому же Visual Studio и даже Visual Basic именно из-за GUI и удобства работы с данными. Потому как в окопе прекрасное только сниться.

Тому же MorthX и X++ цены нет если смотреть на разработку не как на кодинг а как на продукт вашего труда у которого основной фокус на потребителе, а не на невидимом совершенстве которого никто не оценит.

Неудовлетворение X++ и желание перейти на более "мощные" языки я понять не могу.
Меня гораздо больше волнует корректная генерация HTML5 в версии AX2015 и надежность среды выполнения в целом чем "мощность" языка выраженная в более коротких конструкциях кода.

Тот же СSS на вашу репутацию программиста окажет большее влияние чем хитрый выверт кода которым вы будете долго гордится
И возможно из-за которого система будет время от времени падать, она вообще часто любит в обморок от красивостей падать
За это сообщение автора поблагодарили: macklakov (7).
Старый 26.09.2014, 02:43   #118  
ax_mct is offline
ax_mct
Banned
 
2,548 / 1091 (0) ++++++++
Регистрация: 10.10.2005
Адрес: Westlands
Цитата:
Сообщение от Кирилл Посмотреть сообщение
Я веду к тому, что появление языков все более высокого уровня в итоге порождает программистов все более низкого уровня.
Уровень программиста бизнес-приложений определяется его пониманием бизнеса и приложения. То есть пониманием только того что на этом высоком уровне.

Кто то пишет программы для микроконтроллеров или системные библиотеки. Вот они как раз и программисты низкого уровня

А образование штука такая - то что вчера в вузе месяцами рассказывали сегодня в 10 минутном мультике ребенок смотрит при том же понимании вопроса
Старый 26.09.2014, 04:21   #119  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,263 / 982 (37) +++++++
Регистрация: 03.04.2002
В кои то веки согласен с ax_mct
Можно много и умно рассуждать о красоте и мощи языков. Но дело ведь не в скромненьком X++, а в MorphX. Замена наглядного "программирования мышкой" на нечитаемых кадавров автогенерированного кода из VS это откровенная деградация продукта. Точно так гипер-нормализация привела к нечитаемости базы данных и диким гемороем с сопровождением настроек.
Лучше бы вместо "архитекутрных усовершенствований" привинтили контроль версий для настроек. Или изолировали конфигурации и настройки в одтельной базе данных. Ведь ERP это, в первую очередь, "программирование галочками".
__________________
Isn't it nice when things just work?
Старый 26.09.2014, 06:05   #120  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Talking
Цитата:
Сообщение от Кирилл Посмотреть сообщение
у них просто не возникает необходимости изучать низкоуровневые возможности.
Тут вам надо определиться - либо у них и так все хорошо и ничего учить не надо, либо абстракции дырявые и тогда необходимость изучать есть.

Кстати, как правило, абстракции более низкоуровневых языков можно выразить как частные случае высокоуровневых абстракций (грубо говоря "набор регистров процессоров это такой класс с N целочисленными свойствами, память - это массив байтов"). Тогда можно брать код, который пользуется ограниченным набором абстракций высокоуровневого языка и транслировать его на низкоуровневый вот, например, широко известное описание того, как делали смолток на Смолтоке.

Таким образом для высокоуровневого программиста мы берем и объясняем низкоуровневые абстракции как разновидность того, что он уже знает.
Теги
.net, aot, cil, layer, morphx, x++, компилятор, слои

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Прощай, CITP-AT / Software-Vertriebsfirma Columbus IT Partner programmiert Pleite EVGL DAX auf Deutsch 3 02.10.2007 14:45

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 21:10.