LINUX.ORG.RU

dub 1.0

 ,


1

8

Состоялся релиз dub 1.0 — пакетного менеджера и системы сборки для языка программирования D.

Основные изменения:

  • реализована поддержка однофайловых пакетов, включая поддержку скриптов с #!;
  • компилятор DMD в официальных сборках обновлен до 2.071.0;
  • удалены все устаревшие возможности из API, интерфейса командной строки и форматов данных;
  • теперь для использования на OS X необходима версия ОС 10.7 или выше;
  • dub переведен на использование std.stdio вместо std.stream;
  • исправлено множество ошибок.

>>> Подробности

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

cetjs2 ★★★★★ ()
Ответ на: комментарий от cetjs2

D - умер не родившись. Преимуществ нет, используй Rust/Go/Swift/Nim/C++14/Java в зависимости от задачи. Каждый из них для подходящей задачи будет значительно лучше чем D.

По сабжу, как это сравнимо с Cargo по поддерживаемым фичам, числу опакеченных библиотек и частоте их обновления?

anonymous ()

Ну и нафига велосипедить? Что в autotools встроить лень? В CMake? Зачем?

FeyFre ★★★★ ()
Ответ на: комментарий от FeyFre

Ну и нафига велосипедить? Что в autotools встроить лень? В CMake? Зачем?

пакетного менеджера

anonymous ()
Ответ на: комментарий от cetjs2

Вах дарагой, какой хохлосрач на ровном месте, гуглификация осуществляла спасение подобных тебе отцов русских демократий и ранее - последуй их путю.

hlamotron ()
Ответ на: комментарий от anonymous

Nim

О да. Точно. Язык который пишет полтора человека. Ты сам на нем хоть Hello Word писал? Я D использую на работе уже два года и возвращаться ни на какие Сипипи точно не буду никогда.

anonymous ()
Ответ на: комментарий от anonymous

На сипипи не надо, возвращайся на Go.

anonymous ()
Ответ на: комментарий от anonymous

на нем хоть Hello Word писал?

На github 1000 репозиториев, для сравнения D — 7250.

monk ★★★★★ ()
Ответ на: комментарий от anonymous

Я D использую на работе уже два года и возвращаться ни на какие Сипипи точно не буду никогда

Пользуясь случаем... Андрей, перепишите Современное проектирование на C++14!

anonymous ()
Ответ на: комментарий от anonymous

На сипипи не надо, возвращайся на Go.

Нафиг, на фоне Go даже Python куда более интересно смотрится.

Xroft ★★ ()
Ответ на: комментарий от anonymous

D и Nim по уровню «мейнстримовости» в одной весовой категории находятся, где-то рядом с Vala и Crystal. Rust/Go - это принципиально другая весовая категория (причем Go сейчас сильно толще, зато у Rust отличная динамика роста). C++/Java - опять же принципиально другая относительно обеих предыдущих.

anonymous ()
Ответ на: комментарий от anonymous

D - умер не родившись.

Я бы сказал по-другому: это великое дитя с оч оч трудными родами. :) Его рождением будет покупка какой-то серьёзной конторой. «Серьёзной» значит не мелкомягкими могильщиками или гуглопадальщиками, а конторой, способной чётко планировать развитие языка и околоязыковой инфраструктуры.
А вот С/С++ - вот с ним наоборот - живой труп, который насилуют, красят, трясут, но он никак не хочет танцевать джигу.

Преимуществ нет, используй Rust/Go/Swift/Nim/C++14/Java

Преимущества есть у всех, даже Рефала и Перла. Но на сегодня мэйнстриму нужен один быстрый, удобный, безопасный и простой язык, дающий нативный код. И разумеется, с основной платформой «венда». Таких кандидатов очень мало и Ди там основной.

Каждый из них для подходящей задачи

Чушь собачья от студоты. Я могу назвать как минимум 30 ЯОН, у которых нет «подходящих задач» - они решают почти ВСЕ задачи.

В 21 веке мы уже определились с основными требованиями к языкам - разгула экзотики как в 70-80-е уже не будет. И чем распалять силы на го-го-расты и некрофилить с жабосисипями, лучше помочь Ди выйти на широкий простор - у него всё для этого есть.

matumba ★★★★★ ()
Ответ на: комментарий от anonymous

у Rust отличная динамика роста

Ага целый мертворожденный Servo есть. Куда уж динамичнее. Ах да есть еще Redox которую опять таки один человек пишет. Не не взлетит, можно закапывать.

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

Все эти Go с Nim в реальных проектах вообще не практичны. Я посмотрю на наркомана который будет к примеру обработку данных на Go писать.

Xroft ★★ ()
Ответ на: комментарий от Xroft

D в отличие от Rust имеет шансы стать реальной заменой С++

D такие шансы имеет уже лет 10 как, а воз и ныне там. У Раста есть киллер-фича в виде фашистского компилятора, и она сильно интересна некоторому числу C++ разработчиков. Киллер-фича D в мгновенной сборке гораздо менее интересна C++ разрабам, так как многие привыкли жевать кактус, другие наловчились юнити-сборки и скриптоязыки привязывать, а третьи вообще илитарствуют со временем компиляции (манагер: «почему на эту фичу надо так много времени» - разрабы: «сипипи же, компилируется долго, зато работает быстро») и не хотят быть уравнены с жабаскриптерами.

anonymous ()

Не нужно, ибо перспективной убийцей C++ сейчас считается Rust.

snizovtsev ★★★ ()
Ответ на: комментарий от anonymous

У Раста есть киллер-фича в виде фашистского компилятора, и она сильно интересна некоторому числу C++ разработчиков.

Ну я и говорю, что этот некоторый процент вылился в 1 мужика который ОС на нем пишет. Очень востребованная фича.

Киллер-фича D в мгновенной сборке

Это не фича, а побочный эффект от нормального дизайна языка. По фичам и простоте D обогнал С++ навсегда.

Не нужно, ибо перспективной убийцей C++ сейчас считается Rust.

Кем считается? Школьниками который на Rust даже не могут объяснить как пример кода сложнее Hello World работает? Реальный интерпрайз на Rust никогда переходить не будет. Он не оправдано сложен и запутан. Там где решение нужно сегодня, а не через месяц он в пролете. Именно поэтому на рынке так популярен Python, а D лишь немногим сложнее его.

Xroft ★★ ()
Последнее исправление: Xroft (всего исправлений: 2)
Ответ на: комментарий от Xroft

на рынке так популярен Python, а D лишь немногим сложнее его

Ты так толсто траллируешь, или действительно не понимаешь о чем пишешь? Python то зачем сюда приплел? Ниши скриптовых и компилируемых языков практически не пересекаются (а до появления Go - так вообще не пересекались). Сравнивай питон с рубями и жабаскриптами - там будет корректным сравнение.

Про «немногим сложнее» - это уже вытекание из треда. Там наверное метапрограммирование немного сложнее, а все остальное - примерно одинаково, да?

anonymous ()
Ответ на: комментарий от anonymous

Ниши скриптовых и компилируемых языков практически не пересекаются

Вполне себе пересекаются и это мега удобно когда выросшее решение можно взять и распространить в виде одного бинарика а не таскать с собой еще всякие интерпретаторы.

Xroft ★★ ()
Ответ на: комментарий от Xroft

Можно пример проекта из этого «пересечения», в котором на этапе планирования перед командой разработчиков будет стоять выбор между Python и C++ в качестве основного языка реализации? Я затрудняюсь даже вообразить такие бизнес требования.

anonymous ()
Ответ на: комментарий от anonymous

Rust

«Он не оправдано сложен и запутан»

Go

Кастрированное ООП

Swift

Хороший язык

Nim

что это?

C++14

кактус, «Он не оправдано сложен и запутан»

Java

JVM

eReSik ★★ ()
Ответ на: комментарий от eReSik

Внезапно практически со всем согласен.

Nim может быть интересен в качестве альтернативы там, где планируется использовать суровое метапрограммирование (компайл-тайм вычисления) на D. У нима читерское метапрограммирование и автор нима неоднократно был замечен на форуме D троллящим D-юзеров убогостью метапрограммирования в D по сравнению с Nim.

JVM - это и плюс и минус, но если в проекте на D планируется использовать GC без драконовских ограничений, то очень велика вероятность, что JVM для такого проекта подойдет лучше.

anonymous ()
Ответ на: комментарий от Xroft

D в отличие от Rust имеет шансы стать реальной заменой С++

У него на это было 15 лет. И всё никак.

RazrFalcon ★★★★★ ()
Ответ на: комментарий от Xroft

Реальный интерпрайз на Rust никогда переходить не будет

От лица какого ынтырпрайза глаголите?

RazrFalcon ★★★★★ ()

Давно планировал познакомиться поближе с этим языком, но всё никак не доберусь.

Ну и да, видел сию дискуссию на одной странице, как говорится.

al_exquemelin ★★★ ()
Ответ на: комментарий от Xroft

Я посмотрю на наркомана который будет к примеру обработку данных на Go писать.

А что в SpaceX наркоманы сидят разве? у них ведь весь прием и обратка телеметрии на Go написана. И там, я думаю, дофига данных с их фалконов сыпется.

pftBest ★★★★ ()
Ответ на: комментарий от anonymous

автор нима неоднократно был замечен на форуме D троллящим D-юзеров убогостью метапрограммирования в D

Этот лошок ещё не сосал у ЛИСПеров - истинных богов «мета»! Однако, именно мощь ЛИСПа и не даёт ему стать мэйнстримом - слишком много яйцеголовых и слишком мало времени, чтобы решать их головоломки.

В моей практике C# я от силы пару раз писал generic класс, метапрог-е не касаюсь вообще - ничего, жив! Хотя каюсь, пару вещей ваял на T4. Это к тому, что не надо переоценивать фичи и тем более мозгозавихренческие (именно из-за них Хаскель навсегда останется маргиналом).

У Ди есть много чего, но главное - в нём можно сохранять простоту кода и одновременно иметь мощь библиотек (дженерики, миксины, диапазоны - современный крутяк). То есть одни могут ваять гибкие библиотеки, в то время как другие - использовать их как простые функции в простом же си-подобном коде. И всё это на фоне полной свободы от гемора с памятью. И чего все упираются от Ди??

matumba ★★★★★ ()
Ответ на: комментарий от anonymous

D такие шансы имеет уже лет 10 как

некомпетентный высер. Как следящий за судьбой Ди, поясню: Ди только последние пару лет встал на стабильные рельсы - более-менее устоялись фичи языка и бОльшая часть библиотеки переписана с их использованием. Сама библиотека тоже малу-помалу уменьшила количество изменений API и её можно смело использовать.

Стабилизация языка потребовала годы И ЭТО ХОРОШО! Потому что нельзя закрыть ЛОР и за неделю написать суперязык - слишком много идей и слишком мало инфы, насколько они взлетят. К счастью, Ди никто не подгонял (как команда C# высирает релизы каждые пол-года), поэтому спокойно обкатали все варианты и сейчас язык крайне близок к хорошей, мэйнстримовой форме.

Ди сам по себе не может «победить» на рынке - сначала он должен победить в головах. Как только кактусоеды наедятся своих плюсов и переполнений буфера, так сразу и можно браться за Ди. Чем больше людей будет вовлечено в стадию «хотя бы попробовать», тем больше шансов у языка понравиться мэйнстриму (а у него навалом фич, за которые он давно уже должен рулить рынком).

matumba ★★★★★ ()

Использую D как замену C++ для небольших рабочих проектов. По ощущениям код пишется быстрее и приятней, чем на плюсах. Если в команде 1-3 человека и скорость разработки и удобство важнее быстродействия, то по-моему хороший вариант.

anonymous ()

Новость про D - это, безусловно, интересно.

Однако что это за мода такая пошла, под каждый язык лепить свой пакетный менеджер и засорять систему? Пошло это, как я понимаю, с веб-разработки, а теперь и на ЯП общего назначения перекинулось?

hobbit ★★★★★ ()
Ответ на: комментарий от hobbit

Это не пакетный менеджер, точнее - не то, что ты себе мнишь по аналогии с каким-нибудь dpkg.

Это та хренотень, которая по dub build соберет проект и скачает все нужные зависимости без выноса мозга.

Превосходная штука.

anonymous ()

У D GC? Закапывай!

anonymous ()
Ответ на: комментарий от matumba

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

Наркоман штоле? C#. Безопасный? Да. Безопасность на уровне любого языка со сборкой мусора, плюс есть возможность ограничения доверия коду, так что D бьёт. Компиляция в нативный код поддерживается. Основная платформа - венда. По простоте и удобству опережает D на голову. Так что даже в выбранных тобой категориях D не нужен.

anonymous ()
Ответ на: комментарий от anonymous

По простоте и удобству опережает D на голову

Пруфы, или не звезди. Да, шарп как язык неплох - но он максимум сопоставим.

плюс есть возможность ограничения доверия коду

В ди есть аттрибуты @safe, @trusted и @system

Основная платформа - венда

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

anonymous ()
Ответ на: комментарий от anonymous

У D GC? Закапывай!

У С++ нет GC? Закапывайте!

Для 90% задач сейчас язык без GC нафиг не сдался. 10% можно и на Си написать.

А что в SpaceX наркоманы сидят разве? у них ведь весь прием и обратка телеметрии на Go написана

Прям таки весь? Скорее как всегда пару микросервисов по сбору и выплевыванию данных в браузер висят и все.

Xroft ★★ ()
Ответ на: комментарий от anonymous

попробуй собрать с шарпея прогу под 4-ый .NET, и запустить под голой семеркой. сюрприз тебя ожидает, хороняка ди :)

hoopoe ★★ ()

Кто-нибудь, объясните, как вообще связаны понятия «пакетный менеджер» и «язык программирования»?

Pythagoras ★★ ()
Ответ на: комментарий от matumba

Как только кактусоеды наедятся своих плюсов и переполнений буфера, так сразу и можно браться за Ди. Чем больше людей будет вовлечено в стадию «хотя бы попробовать», тем больше шансов у языка понравиться мэйнстриму (а у него навалом фич, за которые он давно уже должен рулить рынком).

А почему ты решил, что кактусоеды перейдут именно на D? Когда-то давно кактусоеды программирования на ассемблере, типа мы всё контролируем, пишем оптимальный код, бинарники маленькие. Потом, когда они решили забить на полный контроль и маленькие бинарники, они перешли не на какой-то ассемблероподобный ЯВУ, а на C, синтаксических на ассемблер не похожий, зато позволявший продолжать иногда играться с памятью напрямую. Логично предположить, что когда кактусоеду на C++ надоест долгая компиляция, ошибки доступа к памяти и выход за границы массива, он перейдет скорее на Rust, чтоб не потерять владение и RAII и не получить богомерзкий GC. Если же кактусоед решил покончить с кактусами совсем, то перед ним окажется уйма языков, включая Java, C#, go, Swift, D, Python, Scala, функциональщина, просто наивно надеяться, что D выберет существенная часть.

anonymous ()
Ответ на: комментарий от matumba

«Серьёзной» значит не мелкомягкими могильщиками или гуглопадальщиками

А кто остался-то? Оракел или Яндекс?

anonymous ()
Ответ на: комментарий от hoopoe

попробуй собрать с шарпея прогу под 4-ый .NET, и запустить под голой семеркой. сюрприз тебя ожидает, хороняка ди :)

Сюрприз в том, что она просто запустится?

anonymous ()
Ответ на: комментарий от Pythagoras

Ну давай я попробую.

Ты когда пишешь программу - только стандартной библиотекой пользуешься, и зависимостей от внешних библиотек у тебя никогда нет, да?

anonymous ()
Ответ на: комментарий от anonymous

Сюрприз в том, что она просто запустится?

Ответ не правильный.

Xroft ★★ ()
Ответ на: комментарий от anonymous

Пруфы, или не звезди. Да, шарп как язык неплох - но он максимум сопоставим.

Я не понял, тебе нужны пруфы, что c# проще D? Того самого D с возможностью ручного управления памятью, квалификаторами типа, иммутабельностью, юнионами, деструкторами в структурах, миксинами?

В ди есть аттрибуты @safe, @trusted и @system

.net следит за соблюдением всей этой пурги бинарником. D принципиально этого не может, ибо нет рантайма.

anonymous ()
Ответ на: комментарий от Xroft

У С++ нет GC? Закапывайте!

Так и происходит.

Для 90% задач сейчас язык без GC нафиг не сдался

Так оно и есть.

Поэтому спектр языков сейчас можно представить такой линейкой:

безопасные, управляемые, с GC (Java, C#, Scala, Python, Ruby, JavaScript и т.д.) -> безопасные, нативные, с GC (Haskell, OCaml, Eiffel, Go) -> более-менее безопасные, нативные, без GC (Ada, Rust) -> небезопасные, нативные, без GC (C, C++, Objective-C).

D по своим характеристикам попадает в группу «безопасные, нативные, с GC», где с одной стороны есть конкуренция с менеджед-языками, а с другой — конкуренция с более-менее безопасными, но не имеющими GC языками.

Ну и почему D-шники считают, что D является заменой C++? Ведь D нужно доказывать свое преимущество не перед C++, а перед другими языками своей же группы, в частности Haskell и Go.

eao197 ★★★★★ ()
Ответ на: комментарий от Xroft

У С++ нет GC? Закапывайте!

Для 90% задач сейчас язык без GC нафиг не сдался. 10% можно и на Си написать.

Тут логика проста. Единственное место где D мог кого-нибудь подвинуть - ниша C++. Но у D есть GC - а это в данной нише неприемлемо. Так что единственный кандидат на закрытие C++ rust. Да и то будем посмотреть.

В остальных нишах у него никаких шансов. Так что D мерт.

anonymous ()
Ответ на: комментарий от anonymous

.net следит за соблюдением всей этой пурги бинарником

А ди просто не даст скомпилироваться, если ты потянешь свои кривые лапы куда не следует

Я не понял, тебе нужны пруфы, что c# проще D? Того самого D с возможностью ручного управления памятью, квалификаторами типа, иммутабельностью, юнионами, деструкторами в структурах, миксинами?

Эээ, а что во всем этом плохого? В наличии инструментов, которые могут тебе понадобиться? Лучше создать огрызок, который нихрена не умеет, и городить фабрики фабрик фабрик фабрик, когда можно просто коротко написать, что нужно?

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.