25.09.2014, 13:38 | #101 |
Участник
|
Цитата:
Цитата:
А для информационных систем лишь один язык мне известен - Scala, но проблема в том, что и у этого языка есть болезнь с детства - он вырос как и X++ на Java, и мало того требует наличия и работает на инфраструктуре JRE (видимо для сохранения совместимости с имеющимися системами написанными на Java).
(про операции с коллекциями, которые вы показали, мы уже обсудили в C# есть) Про C# 6 в курсе? |
|
25.09.2014, 15:15 | #102 |
Разработчик
|
Цитата:
Сообщение от 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 А кому не нравятся VS && C#6 - добро пожаловать в unix-cli && scala. Последний раз редактировалось perestoronin; 25.09.2014 в 15:25. |
|
25.09.2014, 15:36 | #103 |
Banned
|
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 |
Разработчик
|
|
|
|
За это сообщение автора поблагодарили: Diman (1). |
25.09.2014, 17:40 | #105 |
Участник
|
http://www.nestor.minsk.by/sr/2003/07/30710.html
Когда наш гипотетический Блаб-программист смотрит вниз на континуум мощности языков, он знает, что смотрит вниз. Менее мощные, чем Блаб, языки явно менее мощны, так как в них нет некой особенности, к которой привык программист. Но когда он смотрит в другом направлении, вверх, он не осознает, что смотрит вверх. То, что он видит, — это просто "странные" языки. Возможно, он считает их одинаковыми с Блабом по мощности, но со всяческими сложными штучками. Блаба для нашего программиста вполне достаточно, так как он думает на Блабе. |
|
|
За это сообщение автора поблагодарили: AlexeyS (1). |
25.09.2014, 17:58 | #106 |
Разработчик
|
Цитата:
Если требовались программисты на Perl или Python, это уже было слегка пугающе — это значило, что компанией или, по крайней мере, ее технической частью заправляли настоящие хакеры. Если бы я когда-нибудь увидел объявление о найме на работу Lisp-хакеров, я бы обеспокоился не на шутку.
Если элементы ФП пригодны и для написания корпоративных приложений: http://habrahabr.ru/post/212121/ то почему бы их не использовать и в X++ ? Например - для продления привлекательности X++, хотя конечно можно жить хорошо пользуясь всего лишь языком более низкого уровня, как у 1С-ки к примеру. Последний раз редактировалось perestoronin; 25.09.2014 в 18:10. |
|
25.09.2014, 18:43 | #107 |
Гость
|
Цитата:
Сообщение от 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 |
Участник
|
Цитата:
Сообщение от Кирилл
Тот, кто решает задачу с помощью более мощного языка, как правило даже не догадывается, сколько всего происходит за кулисами. Он отделен от происходящего толстой стеной из абстракций. И когда происходит нечто, выходящее за рамки этих абстракций, такой программист ничего не может сделать.
Кстати, Джоэл почему-то предпочел сделать свой более мощный язык: 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 |
Гость
|
Цитата:
А так-то все эти косяки производителя и дают мне работу. И так все и задумано скорее всего. Если выпускать неломающиеся машины, автоотрасль разорится и не будет работы у механиков. Так и тут. |
|
25.09.2014, 19:48 | #110 |
Гость
|
Цитата:
А по-хорошему надо сравнивать действующие языки. C++ и C# к примеру. С# программист не напишет более быстрое вычисление чего-либо, чем C++ программист. |
|
25.09.2014, 19:58 | #111 |
Разработчик
|
Достигается в плане реализации не на языках C# или C++.
PS. Скорее это удел многоядерного программирования на ассемблере, или на Fortran , а также надстройки над С++ и C в виде технологии от Nvidia CUDA. Речь не о том, что scala (как и все языки ФП) имеет поддержку параллельной обработки данных, а о том, чтобы программисту было комфортно быстро писать надежный более легкий в понимании и чтении код. Почему бы не достичь такого же результата и в X++ немного усовершенствовав его (в плане краткости, возможности беглого чтения кода, надежности) ? Последний раз редактировалось perestoronin; 25.09.2014 в 20:12. |
|
25.09.2014, 20:02 | #112 |
Гость
|
Цитата:
Еще час назад наш пробел отлично работал, что же делать? Наверно стоит отправить запрос разработчикам компилятора. |
|
25.09.2014, 20:11 | #113 |
Участник
|
Цитата:
OK давайте C++ и Plain C. Подсказка: - Язык X может включать все возможости языка Y + еще высокоуровневые возможности - На языке X можно написать eDSL с кодогенерацией как у Y (например Forth Assembler, WebSharper и т.д.) - Программист на Языке X может так же знать и Y и использовать его по мере надобности |
|
25.09.2014, 20:11 | #114 |
Гость
|
Цитата:
Сообщение от belugin
Кстати, Джоэл почему-то предпочел сделать свой более мощный язык:
А тот, кто сел сразу за более мощный, о многом происходящем не догадываются. |
|
25.09.2014, 20:17 | #115 |
Гость
|
Цитата:
Сообщение от belugin
Подсказка:
- Язык X может включать все возможости языка Y + еще высокоуровневые возможности - На языке X можно написать eDSL с кодогенерацией как у Y (например Forth Assembler, WebSharper и т.д.) - Программист на Языке X может так же знать и Y и использовать его по мере надобности Я же веду речь о тех знатоках языка X, которым все возможности языка Y уже разжевали и положили в рот, и у них просто не возникает необходимости изучать низкоуровневые возможности. |
|
25.09.2014, 20:27 | #116 |
Гость
|
Я веду к тому, что появление языков все более высокого уровня в итоге порождает программистов все более низкого уровня.
Хорошо, если программист - это бородатый дяденька, который развивался вместе с развитием языков, он знает, что стоит за новой абстракцией и как конкретно эта абстракция облегчила его жизнь и он помнит как можно жить без нее. А что делать школьнику? Проходить за пару лет жизненный путь бородатого дяденьки или взять учебник по c# ? И это не только к языкам программирования относится, а к технологиям вообще. Выключите электричество и современная цивилизация умрет. Последний раз редактировалось Кирилл; 25.09.2014 в 20:29. |
|
26.09.2014, 02:29 | #117 |
Banned
|
Цитата:
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 |
Banned
|
Цитата:
Кто то пишет программы для микроконтроллеров или системные библиотеки. Вот они как раз и программисты низкого уровня А образование штука такая - то что вчера в вузе месяцами рассказывали сегодня в 10 минутном мультике ребенок смотрит при том же понимании вопроса |
|
26.09.2014, 04:21 | #119 |
NavAx
|
В кои то веки согласен с ax_mct
Можно много и умно рассуждать о красоте и мощи языков. Но дело ведь не в скромненьком X++, а в MorphX. Замена наглядного "программирования мышкой" на нечитаемых кадавров автогенерированного кода из VS это откровенная деградация продукта. Точно так гипер-нормализация привела к нечитаемости базы данных и диким гемороем с сопровождением настроек. Лучше бы вместо "архитекутрных усовершенствований" привинтили контроль версий для настроек. Или изолировали конфигурации и настройки в одтельной базе данных. Ведь ERP это, в первую очередь, "программирование галочками".
__________________
Isn't it nice when things just work? |
|
26.09.2014, 06:05 | #120 |
Участник
|
Цитата:
Кстати, как правило, абстракции более низкоуровневых языков можно выразить как частные случае высокоуровневых абстракций (грубо говоря "набор регистров процессоров это такой класс с N целочисленными свойствами, память - это массив байтов"). Тогда можно брать код, который пользуется ограниченным набором абстракций высокоуровневого языка и транслировать его на низкоуровневый вот, например, широко известное описание того, как делали смолток на Смолтоке. Таким образом для высокоуровневого программиста мы берем и объясняем низкоуровневые абстракции как разновидность того, что он уже знает. |
|
Теги |
.net, aot, cil, layer, morphx, x++, компилятор, слои |
|
Похожие темы | ||||
Тема | Ответов | |||
Прощай, CITP-AT / Software-Vertriebsfirma Columbus IT Partner programmiert Pleite | 3 |
|