The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Релиз компилятора D версии 2.068.0

10.08.2015 13:40

Вышла версия 2.068 кроссплатформенного компилятора языка программирования D: Digital Mars D (DMD). D — это компилируемый в машинный код язык из семейства си‐подобных, включающий в себя опциональный сборщик мусора, мощную систему метапрограммирования, удобные шаблоны, исполнение D-кода во время компиляции, систему модулей вместо «include». D позволяет без труда использовать библиотеки на языке C, а также имеет возможность использовать некоторые C++-библиотеки и ObjC-библиотеки. Компилятор DDMD поддерживает системы GNU/Linux, Windows, OS X, FreeBSD, и архитектуры x86, x86_64, x64.

Основные изменения и новшества версии 2.068:

  • Изменения в компиляторе:
    • Новый ключ командной строки "-profile=gc" позволяет профилировать выделение памяти.
    • Блоки юниттестов (unittest) больше не парсятся, пока не задан ключ командной строки "-unittest".
    • Сгенерированые компилятором деструкторы и постблиттеры (postblitter) теперь доступны по именам «__xdtor» и «__xpostblit».
  • Изменения в языке:
    • Добавлена директива pragma(inline), для указания компилятору на то, что некоторые функции следует инлайнить всегда «pragma(inline, true)» или использовать для них обычные правила «pragma(inline, false)».
    • Для функций, тип возвращаемого значения у которых указан как auto, компилятор теперь будет автоматически выводить атрибуты pure, @safe, nothrow, @nogc (раньше это делалось только для шаблонов).
    • Парcер теперь позволяет использовать индексированные кортежи (tuple - структура, существующая только во время компиляции и позволяющая хранить типы) как декларации типов: «T[0].S myvar;». Подробнее см. в http://dlang.org/changelog.html#index-type-followed-ident.
    • Аргументы шаблонов теперь могут быть выведены на основе аргументов функции:
      
        void previously(T=int) (T t=0) {} // раньше необходимо было так
        void now(T) (T t=0) {} // а теперь можно и так
      
    • Некоторые ошибочные приведения типов, которые раньше определялись на стадии генерации кода, теперь определяются на стадии семантического анализа. Это улучшило сообщения об ошибках и работу CTFE-движка, ответственного за исполнение D-кода во время компиляции.
  • Изменения в стандартной библиотеке:
    • Множество функций теперь работают с InputRange и OutputRange (абстракциями для получения входных данных и выдачи выходных данных) вместо массивов.
    • Модуль std.typetuple был переименован в std.meta. Для обеспечения совместимости std.typetuple сохранён в виде псевдонима std.meta.
    • Сущность TypeTuple была переименована в AliasSeq. Для обеспечения совместимости сохранён псевдоним.
    • Добавлен CTFE-шаблон hexString, который должен заменить встроенные в язык hex-строки:
      
        x"304A314B» // было
        hexString!»304A314B» // стало
      
    • Добавлена CTFE-функция hasUDA для проверки наличия у символов UDA (определяемых пользователем атрибутов времени компиляции).
    • Вызовы GC API теперь могут быть отдельно профилированы.
    • Переписана работа с синхронизированными (synchronized) объектами в druntime. Починена ошибка с гонкой во время инициализации мьютекса.
    • Сгенерированный вручную интерфейсный файл object.di больше не нужен, компилятор использует оригинальный object.d.
    • Новая реализация AA (ассоциативных массивов), с новой схемой разрешения конфликтов при совпадении хэшей. Чуть быстрее и лучше дружит с кэшем процессоров.
    • Улучшена работа встроенного инструмента code coverage.
    • Функция executeShell теперь игнорирует переменную среды SHELL и всегда использует sh.
    • Функция byLine (чтение текстового файла построчно) была переписана и значительно ускорена (до трёх раз).
    • В пакет std.algorithm добавлены предикаты ordered и strictlyOrdered для проверки, отсортирована ли последовательность значений.
    • Шаблон RefCounted использует новый атрибут return, чтобы указать компилятору, что внутренний объект шаблона не может быть использован вне лексического блока (espace checking).

Также следует отметить, что в будущем релизе 2.069 используемый сейчас фронтэнд, написанный на подмножестве языка C++, будет заменён фронтэндом, написаным на языке D. Фронтэнд на языке D делается при помощи полуавтоматической трансляции C++ кода, поэтому до версии 2.069 никаких изменений (кроме очевидных исправлений ошибок) во фронтэнде не будет. Кодовая база библиотек druntime и Phobos, тем не менее, не заморожена.

  1. Главная ссылка к новости (http://forum.dlang.org/thread/...)
  2. OpenNews: Вышла версия 2.066 компилятора языка D
  3. OpenNews: В GDC, компилятор для языка D, добавлена поддержка архитектуры ARM
  4. OpenNews: Вышли DCD 0.3.0 и DScanner 0.1.0, инструменты для разработчиков на языке D
  5. OpenNews: Для текстовых редакторов KDE и IDE KDevelop представлена поддержка языка D
Автор новости: Аноним
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/42756-dlang
Ключевые слова: dlang
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (106) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Аноним (-), 15:22, 10/08/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Интересно сравнить бы его с Go
     
     
  • 2.3, Аноним (-), 15:25, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Интересно сравнить бы его с Rust
     
     
  • 3.4, Аноним (-), 15:35, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Интересно зачем его сравнивать?
     
     
  • 4.29, Аноним (-), 17:50, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • +11 +/
    Получилось, что "D" меньше в обоих случаях.:)
    $ ghci
    GHCi, version 7.10.1: http://www.haskell.org/ghc/  :? for help
    Prelude> "D" 'compare' "Go"
    LT
    Prelude> "D" 'compare' "Rust"
    LT
    Prelude>
     
     
  • 5.85, Аноним (-), 07:54, 11/08/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Спасибо. Я как раз не знаком с Haskell.
     
  • 5.102, Crazy Alex (ok), 15:53, 11/08/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    О, а вот и матёрые функциональщики продемострировали осмысленность и практическую полезность своей деятельности :-)
     
     
  • 6.106, Kodir (ok), 13:25, 12/08/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Оба жжёте!! :)))

    А Ди - прекрасен!

     
  • 3.9, Crazy Alex (ok), 16:03, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    В рассылке (веб-морда вот здесь - http://forum.dlang.org/group/general) проскакивали сравнения, но деталей не знаю.

    А вот с Go его сравнивать смысла не имеет - это примерно как сравнивать, скажем, Markdown и TeX - простота против выразительной мощи. И применения, соответственно, совсем разные.

     
     
  • 4.43, Аноним (-), 19:42, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >В рассылке проскакивали сравнения, но деталей не знаю.

    там не сравнивали напрямую, а чесали головы и обсуждали, что сделало такой ограниченный язык как Go популярным, и что из этого опыта можно применить в D. Сошлись на том, что точно нужен хороший тулчейн (отладка, форматирование, рефакторинг, и прочий intellisense), и точно нужен информативный сайт, чтобы юзер, желающий изучить D, мог туда зайти и через N минут сказать "ого, я уже знаю как написать это на D!"

    сейчас зашел на dlang.org - нетривиальный пример кода на самом видном месте, форум с разделами "Debuggers" и "IDEs" опять же на самом видном месте. В общем, люди работают.

     
     
  • 5.54, rob pike (?), 22:17, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > чесали головы и обсуждали, что сделало такой ограниченный язык как Go популярным

    Пример Java в расчёсанные головы не пришёл?
    На нём хорошо видно что делает языки популярными.

     
     
  • 6.55, arisu (ok), 22:25, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    те, кто в курсе — те не обсуждали, а просто смотрели. и продолжали совершенствовать бронепоезд.
     
  • 5.64, Crazy Alex (ok), 00:28, 11/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Это я помню, там сравнительно недавно были разговоры о Rust, а не о Go
     
  • 5.107, Kodir (ok), 13:31, 12/08/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > сейчас зашел на dlang.org - нетривиальный пример кода на самом видном месте,

    Если вы вообще на чём-то си-подобном писали хотя бы месяц, то пример можно построчно понять. Прелесть примера - в крайней схожести с "обычным Си" и парой приятных плюшек.

    > форум с разделами "Debuggers" и "IDEs" опять же на самом видном

    Для этого есть очевидный "getting started" - там все ссылки. Пока человек вообще не решил, нужен ему язык или нет, нет смысла тыкать его в инструментарий.

    > В общем, люди работают.

    :) В меру сил. Не забывай, Ди сообщество - это не для нубов, желающих изучить программинг - он скорее для тех, кто устал от выкрутасов сипипей и готов поднять свой уровень.

     
  • 3.11, Andrey Mitrofanov (?), 16:15, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Интересно сравнить бы его с Rust

    Done, https://en.wikipedia.org/wiki/Comparison_of_programming_languages#General_comp Next!

     
     
  • 4.25, Crazy Alex (ok), 17:16, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Кхм. Это вы называете сравнением?
     
     
  • 5.31, Andrey Mitrofanov (?), 18:09, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Кхм. Это вы называете сравнением?

    WP это называет Генералом Комраризьоном. Отмотай там же вверх - там _ещё_ по категориям кучка сравнений.

    И да, на вопрос в комментарии на опеннет "хотельсь бы сравнений" -- это именно что их есть у WP.

     
     
  • 6.65, Crazy Alex (ok), 00:39, 11/08/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Тоже ерунда. во-первых, там, в общем-то, описаны полторы фичи, являющиеся хоть как-то общими. То есть все частности, которые обычно и дают основную фишку языка, туда не попали. Где там дишные ranges, контракты Eiffel, сишарповский LINQ? А во-вторых фичи - это хорошо, но главное - как они увязаны в языке. И тут тупое сравнение вообще не подходит. Поэтому единственный осмысленный путь, который я вижу - искать соответствующие дискуссии и выделять из них "за" и "против". Из дишных дискуссий - вот что-то подобное: http://forum.dlang.org/thread/ckjukjfkgrguhfhkdhhj@forum.dlang.org
     

  • 1.5, A.Stahl (ok), 15:39, 10/08/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    А кто знает что не так с языком? Раньше (буквально пару лет назад) о нём было слышно чаще, а нынче как-то совсем заглохло. Я вижу два варианта: либо язык практически завершён и добавить особо нечего (про Си новости тоже редко проскакивают), либо язык помер и используется как сейчас Форт или ещё что-то такое в стиле легаси.
    Может кто из местных использовал?
     
     
  • 2.6, Аноним (-), 15:57, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Нет спецификации, нет специалистов => никто в серьезном проекте его использовать не будет. Вообще, язык - скорее полигон для обкатки идей, которые потом попадают в другие языки.
     
     
  • 3.10, Crazy Alex (ok), 16:09, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    А это - http://dlang.org/spec.html - что? Ну и да, понятия "серьёзных проектов" и каждого свои.

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

     
     
  • 4.88, Аноним (-), 10:58, 11/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Это техническая документация Лучше чем ничего, конечно, но это не ISO IEC-14882... большой текст свёрнут, показать
     
     
  • 5.93, arisu (ok), 14:10, 11/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    ты ошибся адресом: комитет c++ заседает в другом месте. а нам ваши стандарты вместе с комитетами не нужны. как и твои советы — конечно, «спецов с разными знаниями и опытом» не бывает вне комитетов. гуляй, вася.
     
  • 5.94, Crazy Alex (ok), 14:21, 11/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Ну вот в принципе всё как бы красиво сказано А по факту - язык удобен несмотря ... большой текст свёрнут, показать
     
     
  • 6.96, arisu (ok), 14:35, 11/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну вот в принципе всё как бы красиво сказано.

    чушь там сказана. зато с умным видом и насуплеными бровями. причём сказана человеком, который вообще никогда никакие языки не разрабатывал, зато точно знает, Как Надо. единственное применение таким «знающим» — посылать их на хутор, где бабочек много.

     
     
  • 7.100, Аноним (-), 15:39, 11/08/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Зато вы-то, я смотрю, прямо светоч языкостроения. ЧСВ не жмет?
     
     
  • 8.103, arisu (ok), 15:55, 11/08/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    нет, не жмёт ещё идиотские вопросы есть ... текст свёрнут, показать
     
  • 2.7, Crazy Alex (ok), 15:59, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • +4 +/
    С ним всё более чем так. Особенно по сравнению с парой дет назад. Я, правда, так и не собрался в чём-то реальном его использовать, но послеживаю. Нарисовался нормальный процесс разработки, есть несколько книг, все свары в прошлом. Язык стабилен, крупные баги в основном вычищены, там нарисовалось вполне приличное, хоть и небольшое, колмьюнити, в том числе несколько небольших фирм, которые на D пишут. Плюс куча всего сейчас отложена до перехода на D-версию компилятора, но это скорее о разного рода оптимизациях, которые всем лень делать на плюсах.

    Единственная проблема - за D нет ни гугла, ни мозиллы с самсунгом, тольку кучка заинтересованных программистов. Так что громко кричать о нём особенно некому.

     
     
  • 3.14, йцу (?), 16:19, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Единственная проблема - за D нет ни гугла, ни мозиллы с самсунгом, тольку кучка заинтересованных программистов. Так что громко кричать о нём особенно некому.

    Facebook пару лет назад вроде заявляли, что где-то используют D.

     
     
  • 4.22, Аноним (-), 17:07, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    То заявлял Александреску, который этот язычок и пилит. Ему кое-как удалось пропихнуть пять тысяч строчек в продакшн. А вообще, люди в здравом уме и трезвой памяти вряд ли будут его использовать для чего-то серьёзнее пет-проджектов.
     
     
  • 5.34, arisu (ok), 18:25, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > А вообще, люди в здравом уме
    > и трезвой памяти вряд ли будут его использовать для чего-то серьёзнее
    > пет-проджектов.

    sociomantic очень удивлены.

     
  • 4.35, arisu (ok), 18:26, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Facebook пару лет назад вроде заявляли, что где-то используют D.

    пейцбук использует всё подряд: на чём утилита написалась — то и использует. так получилось, что Walter Bright написал для них несколько утилит на D, активно используемых в процессе разработки — теперь пейцбук и D использует. напишет кто‐нибудь что‐нибудь полезное на брэйнфаке — будут брэйнфак использовать. они там прагматики.

     
  • 2.8, Бутират (?), 15:59, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А что не заглохло кроме языков, за которыми стоят мегакорпорации (java, c#, go, rust (с натяжкой))
     
     
  • 3.13, Аноним (-), 16:17, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Python.
     
  • 3.15, Andrey Mitrofanov (?), 16:19, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > А что не заглохло кроме языков, за которыми стоят мегакорпорации (java, c#, go, rust

    Так, Си не заглох, на котором они все

    > (с натяжкой))

    и написаны.

     
     
  • 4.47, Пользователь Debian (?), 21:06, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Go 1.5 уже написан на Go.
     
     
  • 5.62, Аноним (-), 00:18, 11/08/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Go 1.5 уже написан на Go.

    Пусть теперь попробуют на нем написать себе операционку и системное окружение. Иначе замена сишечке как-то не вырисовывается...

     
  • 3.16, A.Stahl (ok), 16:22, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Си, Си++, РНР, ЯваСкрипт... тысячи их. За этими языками нет мегакорпораций. Даже самых завалящих корпорашек нет.
     
     
  • 4.18, анонимус (??), 16:34, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Ога. Особенно за жабоскриптом то ее нет. Хотя назвать Мозиллу мегакорпорацией действительно можно только с натяжкой.
     
     
  • 5.20, A.Stahl (ok), 16:53, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    И кто же оказывает основное влияние не развитие ЖС? За кем остаётся последнее слово (пусть не юридическое, а фактическое, но всё же...)?
     
     
  • 6.114, Crazy Alex (ok), 17:43, 12/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    За гуглом, вестимо
     
  • 3.44, КарМер (?), 19:52, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    FORTRAN - вечно живой,
    FORTRAN - всюду со мной
     
  • 2.21, Михрютка (ok), 17:04, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    у Arisu спроси, он на вдвшных^Wдмдшных листах тусуется и даже чего-то на ем сочиняет.
     
  • 2.33, arisu (ok), 18:23, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    всё с ним так потихоньку вошёл в фазу 171 у нас есть ещё много интересных иде... большой текст свёрнут, показать
     
     
  • 3.61, Аноним (-), 23:18, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    а есть такое что на их форумах люди сравнивают его с RUST, при этом приводя аргументы что то-то например там лучше реализовано?

     
     
  • 4.66, Crazy Alex (ok), 00:42, 11/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Конечно. Такое вообще всегда есть - на любую фичу найдётся кто-то, считающий, что она должна быть сделана по-другому, и кто-то, вообще сичтающий её антифичей.

    http://forum.dlang.org/thread/ckjukjfkgrguhfhkdhhj@forum.dlang.org - только там много

     
  • 3.83, angra (ok), 03:53, 11/08/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А как у него с производительностью и потреблением памяти в сравнении с C++? Есть какие-нибудь бенчмарки вроде http://benchmarksgame.alioth.debian.org/ ? Ну или личный опыт.
    Я не с целью покритиковать, а серьезно интересуюсь.
     
     
  • 4.84, arisu (ok), 04:14, 11/08/2015 [^] [^^] [^^^] [ответить]  
  • +3 +/
    зависит от компилятора, натурально сейчас их есть три 8226 DMD компилирует... большой текст свёрнут, показать
     
     
  • 5.87, Аноним (-), 10:37, 11/08/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Спасибо за обзор.

    Язык интересный, но лично я, пока там обязателен gc, с ним связываться не хочу. Меня C++ вполне устраивает.

     
     
  • 6.90, Crazy Alex (ok), 13:14, 11/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Если у тебя нет каких-то "странных" задач то GC там обычно к месту, особенно учитывая, что выделений памяти в силу архитектуры языка и библиотеки меньше, чем если, скажем, на Java писать. Больше того - GC может дать приличный прирост производительности, так как избавляет от выделения памяти для перестраховки (когда не знаешь, освободят оригинал после копирования или нет). Ну или move-семантику приходится использовать - но с ней всё же мороки больше. Или подсчёт ссылок - но это вообще радость, особенно в многопоточке.
     
  • 6.91, arisu (ok), 14:02, 11/08/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > пока там обязателен gc

    а этого я не писал, например. и необязателен, и поддаётся контролю — иначе мой платформер фиг бы нормально работал, в том числе по сетке.

    язык, в том числе, позиционируется как системный. поэтому gc опционален. достаточно большая часть фобоса таки использует ranges, так что она тоже на gc не подвязана уже.

    а с третьей стороны: чем тебе gc-то так не нравится? обычно эта фобия совершенно беспочвенна — в отличие от мемликов, которые очень даже да. обычно это сродни попыткам «помочь компилятору», написав обратный цикл, например: когда‐то имело смысл, а сейчас никакого.

     
  • 2.108, Kodir (ok), 13:35, 12/08/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > А кто знает что не так с языком?

    У языка нет баблоносного спонсора. Сейчас сам язык достаточно хорошо устаканился, поэтому можно смело пилить свои приблуды. Но нужен влив зелени для организации команды, способной создать хорошую среду для разработки - без IDE ни о какой популяризации речи не идёт.

     

  • 1.12, гость (?), 16:17, 10/08/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Хоть одна причина использовать его?
     
     
  • 2.26, Crazy Alex (ok), 17:24, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Есть смысл попробовать. Если его логика на вашу хорошо ложится - то это, в общем, уже хорошая причина. А одну-две фичи каких-то не выделишь, там именно что их комбинация удачной оказалась.
     
  • 2.36, arisu (ok), 18:28, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Хоть одна причина использовать его?

    нет. проходи спокойно дальше.

     

  • 1.17, Аноним (-), 16:22, 10/08/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    http://dlang.ru/Why-D-is-Better
     
     
  • 2.60, EHLO (?), 23:10, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >http://dlang.ru/Why-D-is-Better

    $ curl -I http://dlang.ru/Why-D-is-Better
    HTTP/1.1 200 OK
    Cache-Control: private
    Content-Length: 23197
    Content-Type: text/html; charset=utf-8
    Server: Microsoft-IIS/7.5
    Set-Cookie: ASP.NET_SessionId=pt5yteoyqebjilnom5hn3vxv; path=/; HttpOnly
    X-AspNetMvc-Version: 4.0
    X-AspNet-Version: 4.0.30319
    X-Powered-By: ASP.NET
    Date: Mon, 10 Aug 2015 20:09:11 GMT

    Буээ

     
     
  • 3.63, Аноним (-), 00:19, 11/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Нде, сервер у них явно не на D...
     
     
  • 4.67, arisu (ok), 00:45, 11/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Нде, сервер у них явно не на D...

    forum.dlang.org на D. можешь поинтересоваться в гугеле впечатлениями людей. (хинт: insanely fast и всё такое). а для статики — какая разница, чем её отдавать?

     

  • 1.19, Аноним (-), 16:42, 10/08/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Но на фоне Rust писать на D так же приятно как на Python после Perl.
     
     
  • 2.24, fail (?), 17:12, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Но на фоне Rust писать на D так же приятно как на
    > Python после Perl.

    Ну дык создатели Java, C# - "дыбилы", а "твapьцы" Rust "гении" - позиционируя как "убиванец С-like" - синтaксис далеко нe си-шный...

     
  • 2.27, Crazy Alex (ok), 17:28, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Хм, двусмысленно сказано, хотя писать на D и правда очень приятно и подсаживаешься слегка - уж больно неожиданно компактно получается.
     
     
  • 3.53, arisu (ok), 21:47, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Хм, двусмысленно сказано, хотя писать на D и правда очень приятно и
    > подсаживаешься слегка - уж больно неожиданно компактно получается.

    я тебе скажу, что очень нефигово подсаживаешься. настолько, что потом ц и цпп бесят отстутствием привычных приятных мелочей.

     
     
  • 4.68, Crazy Alex (ok), 00:45, 11/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Э... ну, я сейчас на жизнь зарабатываю писанием на сях - так в них по сравнению с чем угодно отсутствие приятных мелочей бесит. А насчёт плюсов... на новых ничего делать не пришлось, так что уверенности особой нет, но на вид они вполне комфортными стали.
     
     
  • 5.75, arisu (ok), 01:10, 11/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > но на вид они вполне комфортными стали.

    south park напоминает. когда Рэнди изобрёл IT — футуристическую машину с рычагом, вводящимся в задницу. и все ездили, пока кто‐то не спросил, обязательно ли рычаг вводить. вот цпп — это IT, с рычагом в, который обязателен.

    собственно, после офигенных шаблонов и метапрограммирования в D на цппшные потуги без слёз смотреть не получается. если кто слаще редьки не едал — тому, может, и нормально. а кто попробовал реализацию by humans for humans…

     
     
  • 6.76, Crazy Alex (ok), 01:56, 11/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Да я насчёт превосходства D не спорю. Но вот чтобы прям уж бесило - не сказал бы. Просто в D начинаешь всякую магию чуть ли не на автопилоте применять, а на плюсах - более "классически" пишешь, да и всё.

    auto,  for-foreach, constexpr, более удобная инициализация, лямбды, decltype - всё это, насколько я успел поиграться, избавляет от кучи мусора, который, в общем, больше всего и раздражал. а шаблоны я в плюсах всегда предпочитал оставлять спецам-авторам либ за исключением самых простых случаев - именно по причине чудовищности. Тем более, что все либы давно есть.

     
     
  • 7.78, arisu (ok), 02:04, 11/08/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Но вот чтобы прям уж бесило - не сказал бы.

    лично меня бесят как раз мелочи. точнее, отсутствие удобных мелочей. с отсутствием чего‐нибудь большого мне смириться легче, а вот мелочи неимоверно достают.

    > а шаблоны я в плюсах всегда предпочитал
    > оставлять спецам-авторам либ за исключением самых простых случаев - именно по
    > причине чудовищности.

    именно. в отличие от D, где шаблоны пишутся… сами как‐то. потому что просто и удобно.

    я не то, чтобы тебя убеждаю, что D крутой. я просто всё ещё в восторге от него, хотя уже не первый год использую.

     
  • 2.82, angra (ok), 03:45, 11/08/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Извини, но python после perl кажется слишком топорным и желание писать на нем не возникает. Может новичку читать чужой код на python и удобней, но писать на perl значительно приятней.
     

  • 1.23, хрюкотающий зелюк (?), 17:08, 10/08/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Когда будет QtD биндинги под Qt 5.5? А какая IDE чтоб держала эту связку. Я был бы счастлив появись такое.
     
     
  • 2.48, Аноним (-), 21:35, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    А также KDE Frameworks D
     
  • 2.110, Kodir (ok), 13:40, 12/08/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Когда будет QtD биндинги под Qt 5.5?

    Я бы не стал уповать на байндинги к каким-то поделиям, писаным-переписаным на непонятных идеях. Есть куча нативных Ди-ГУЁв разной степени готовности, лучше что-то с ними ваять.

     
     
  • 3.117, wWolf (?), 14:44, 13/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Какие например? Вообще то гуевых фреймворков а тем более таких развитых как таковых не так уж и дофига. А про таковые изначально на D вообще впервые слышу.
     
     
  • 4.119, arisu (ok), 16:39, 13/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > А про таковые изначально на D вообще впервые слышу.

    потому как не слушать, а читать надо было. впрочем, хозяин — барин.

     

  • 1.28, anonymous (??), 17:35, 10/08/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Хватит тявканья! Есть кто-нибудь кто использует/использовал? Может поделиться опытом (+ и -)? Для каких задач годится? И для каких не годится?
     
     
  • 2.52, arisu (ok), 21:44, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ни для чего не годится. проходи, there is nothing interesting here.
     

  • 1.32, Ури (?), 18:14, 10/08/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Туплы? Туплы?? Блять!

    В русскоязычном коммьюнити уже давно в качестве перевода термина "tuple" используется "кортеж".

    "Туплы", епрст.

     
     
  • 2.37, arisu (ok), 18:28, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > В русскоязычном коммьюнити уже давно в качестве перевода термина "tuple" используется "кортеж".

    так почини. каюсь, виноват, запамятовал слово.

     
     
  • 3.59, Аноним (-), 22:45, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > так почини. каюсь, виноват, запамятовал слово.

    Ого, ты написал новость на опеннет? :)

     
     
  • 4.81, arisu (ok), 02:21, 11/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Ого, ты написал новость на опеннет? :)

    как я уже отвечал — я иногда это делаю. просто принципиально подписываюсь анонимом.

     
  • 2.39, rmh (?), 18:40, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так сказал, будто ты никогда не дебажил легаси код по загенерейченому темплейту...
     
     
  • 3.40, arisu (ok), 18:44, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    но ведь от этого менее кривой фраза не становится.
     
     
  • 4.42, rmh (?), 19:25, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Да я не спорю, это был сарказм. Меня вообще бесит безумное использование в среде программистов английских слов при наличии адекватных русских аналогов.
    Как вам такое, например: "пушнул в девелопмент там квик фикс для паблицайзед колонки"
     
     
  • 5.50, arisu (ok), 21:39, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    для профжаргона — вполне нормально. более того, это вполне нормально бы смотрелось на профсайте. но, конечно, не на ресурсе типа опеннета, который хоть и более‐менее технической направленности, но ориентирован, всё‐таки, на более широкую ЦА.
     
  • 5.69, Ytch (ok), 00:48, 11/08/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Меня вообще бесит безумное использование в среде программистов английских слов при наличии адекватных русских аналогов.

    Бывают и обратные ситуации. Например, отсутствие устоявшихся переводов (хотя это наверное подходит под отсутствие адекватных аналогов? кэш, хеширование, коммит, аплинк, да тот же "пушнул" из вашего примера...), неоднозначность русскоязычных терминов, громоздкость и малая употребимость русскоязычного термина, отсутствие (адекватного) материала на русском языке (освоение во всем колелктиве идет сразу в английских терминах), все вышеперечисленное одновременно.
    Примеров масса: канальные интервалы, дизъюнкция, конъюнкция, сложение по модулю 2, среднеквадратичное значение, взаимоисключающая блокировка, исчезновение порядка, динамическое ОЗУ, синхронный последовательный интерфейс (сложно придумать более размытое и неоднозначное), да даже иногда невинное "обновить" (гадай update или upgrade, особенно там где и то и другое может быть)... Либо просто громоздко для повседневной речи, либо нужны постоянные дополнительные пояснения из-за неоднозначности, либо людям еще и словарик понадобится чтоб понять о чем речь. Для научной статьи может и самое оно, но не в разговоре же коллег использовать!
    А уж если так или иначе используется сленг (ах, да - жаргон )), то какой принят в коллективе такой и принят - смесь языков обычно, да и русские термины зачастую не вот уж научны)

    P. S. (немного не в тему уже, наверное) Видел в русскоязычном интерфейсе одной Ынтерпрайзной (вот еще слово-пример) программы как download и upload перевели как "загрузить" и "выгрузить" и сразу же, в отличие от оригинала, стало непонятно в какую сторону в каком случае пойдет поток данных.

     
     
  • 6.111, Kodir (ok), 13:51, 12/08/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вы оба правы, но общая тенденция должна быть в сторону адекватной русскоязычности. Скажем, НЖМД - нафик такой термин не нужен, "хард" и "винт" вполне подойдут. А "пушить в репу" допустимо только в устной речи команды.
     
     
  • 7.113, Crazy Alex (ok), 17:42, 12/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Тенденция должна быть в сторону адекватной англоязычности. Языки рпограммирования, названия программ и параметров - на базе английского, подавляющее большинство информации для разработчика - на английском... Либо на нём и говорить либо неизбежно будет смесь с нижегородским.

    Ну и да, русскоязычный аналог "пушить в репу" - в студию.

     
  • 5.77, Crazy Alex (ok), 02:00, 11/08/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Такое растёт, когда оно думается (и пишется для дела) вообще только на английском. А как на русский переводить - вспоминать приходится исключительно для декору, практического смысла никакого нет.
     
  • 4.70, Crazy Alex (ok), 00:50, 11/08/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я вот давно мечтаю, чтобы английский был официально принят чем-то подобным латыни в средние века - официальным языком инженерии и науки. Уж больно много мороки со всеми этими кальками и попытками перетащить термины в другие языки, причём профита нуль - квалифицированный специалист всё равно должен владеть английским.
     

  • 1.45, nc (ok), 20:11, 10/08/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Хорошо что язык развивается. А вот на исходники компилятора иногда без слез и желания постучаться головой о стенку смотреть невозможно... Некоторые вещи написаны в таком жестком goto-ориентированном стиле, как будто коду 20 лет и его поддерживали совершенно разные люди.
    Я конечно понимаю, иногда это вроде для оптимизации (лексер например так написан), но зачем ловить блох на такой оптимизации??? Много совершеенно бессистемного кода. Парсинг командной строки какой-то дикий, все валят в кучу argc/argv, которые еще подменяют пару раз по ходу инициализации компилятора, все это жестко прикручено к основному коду... жесть. Надеюсь что при переписывании на D это отрефакторят.
     
     
  • 2.46, Аноним (-), 20:30, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    На фиг тебе исходники компилятора?

     
     
  • 3.57, nc (ok), 22:39, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Форк делаю. Точнее совсем другой язык программирования. Исходники D оказались ближе всего к тому что я хочу.
     
     
  • 4.58, arisu (ok), 22:42, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    только не забудь, что бэкэнд у DMD проприетарный.
     
  • 4.86, Аноним (-), 09:17, 11/08/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Форк делаю. Точнее совсем другой язык программирования. Исходники D оказались ближе всего к тому что я хочу.

    SDC возьми лучше.

     
     
  • 5.89, nc (ok), 11:48, 11/08/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Cпасибо, посмотрю. Я штук 15 разных проектов рассматривал, когда выбирал что взять за основу, а этот что-то упустил...
     
     
  • 6.92, arisu (ok), 14:04, 11/08/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Cпасибо, посмотрю. Я штук 15 разных проектов рассматривал, когда выбирал что взять
    > за основу, а этот что-то упустил...

    ну, тогда и это посмотри: https://github.com/VoltLang/Volta

     
  • 4.95, Crazy Alex (ok), 14:26, 11/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    А зачем, еси не секрет? Другими словами - чем оно должно отличаться от существующих языков?
     
     
  • 5.97, arisu (ok), 14:38, 11/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > А зачем, еси не секрет? Другими словами - чем оно должно отличаться
    > от существующих языков?

    да хотя бы и просто так, например. я вон тоже постоянно порываюсь D форкнуть.

     
     
  • 6.101, Crazy Alex (ok), 15:47, 11/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Ну разве что "просто так", для экспериментов. Хотя какой-нибудь способ надругательства над syntax tree я бы туда добавил, это да. Чтобы синтаксические конструкции можно было добавлять подключением модуля, хотя бы в рамках syntax sugar. А то string templates - больно уж стрёмно. Правда, тогда оно станет слегка write-only, но это ж мелочи :-)
     
     
  • 7.104, arisu (ok), 15:57, 11/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Правда, тогда оно станет слегка write-only, но это ж мелочи :-)

    да фигня. read-only и сейчас можно сделать без особых проблем, а вот удобно генерировать код и массажировать деревья — не очень.

     
  • 2.51, arisu (ok), 21:42, 10/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    это «эволюционировавший» код. многое там тянется чуть ли не с DMC, а Уолтер имеет несколько… своеобразные привычки кодирования.

    тем не менее пока оно работает, никто не будет лезть «украсивливать»: рефакторингом ради рефакторинга devteam не страдает, чай, не мозилла. если вдруг будут что‐то в том районе чинить — тогда и наведут марафет.

     
     
  • 3.72, Crazy Alex (ok), 00:53, 11/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Там многое тянется с Zortech C. Я, помнится. нарывался в рассылке примерно на следующее: "я бы поправил, но на плюсах писать неохота, вот как на D будет - тогда". И даже не раз такое видел.
     
     
  • 4.74, arisu (ok), 01:05, 11/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Там многое тянется с Zortech C. Я, помнится. нарывался в рассылке примерно
    > на следующее: "я бы поправил, но на плюсах писать неохота, вот
    > как на D будет - тогда". И даже не раз такое
    > видел.

    да, некоторые улучшения авторами заморожены «до прихода DDMD». в частности, есть проект перетряхивания CTFE-движка, например, который в долгом ящике лежит. вот и созрели, наконец.

     
     
  • 5.79, Crazy Alex (ok), 02:04, 11/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    CTFE - это вообще отдельная песня с его нынешней прожорливостью. Я небольшой ORM на нём ляпал - оно три гига жрало :-) Ну, то есть я знаю, что там сейчас вообще никакой сборки мусора нет, так что не дёргался, но выглядело забавно.
     
     
  • 6.80, arisu (ok), 02:17, 11/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    это да, память оно жрёт гомерически. по‐моему, с новым фронтэндом это как раз целятся починить. в виде «у вас есть выбор: быстро и надо терабайт рам, или медленно, зато с GC». ;-)
     
  • 2.71, Crazy Alex (ok), 00:52, 11/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Там коду местами и побольше двадцати лет.
     

  • 1.112, Kodir (ok), 13:55, 12/08/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Функция byLine (чтение текстового файла построчно) была переписана и значительно ускорена (до трёх раз).

    Хоспыдя! Что ж за маразм там был в оригинале?! Там ускорять-то нечего, прочёл до первого newline и отдавай!

     
     
  • 2.115, Crazy Alex (ok), 17:53, 12/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Там много всего было. И откровенная тупизна, и неучёт особенностей платформы, и неожиданные тормоза в том, что тормозить не должно. И нет, оно не так просто - это обобщённая функция (шаблон из ranges еа самом деле), она должна корректно работать любыми терминаторами, в том числе уникодными.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру