LINUX.ORG.RU

dub 1.0

 , dub


1

8

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

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

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

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

★★★★★

Проверено: Falcon-peregrinus ()
Последнее исправление: cetjs2 (всего исправлений: 5)
Ответ на: комментарий от anonymous

Это не обязательно должен быть сам разработчик. Но большинство хороших библиотек таки кто-нибудь опакечивает. Если нет - подключаю сабмодулем.

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

Но на сегодня мэйнстриму нужен ... с основной платформой «венда».

LOL

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

Но большинство
хороших библиотек

Чтд. А в случае дишных - они ВСЕ подключаются одной строчкой в dependencies, типо

"gtk-d:gtkd": "~>3.3.1"

И все остальное - не твоя забота. Просто и удобно.

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

Скорее уж cmake был написан под влиянием NIH-синдрома, т.к. ничего принципиального перед autotools он не прелагает.

Справедливости ради, cmake пока единственное(известное мне) что работает и под онтопиком, и под оффтопиком.

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

premake5 же. Недавно с cmake на него перешел. Некоторые вещи дописать пришлось. Но там lua, поэтому оч все просто.

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

Есть вообще хоть один язык, где C++ интерфейсится бесшовно (и тем более без прослоек с сишным интерфейсом из плюсового), кроме D? А есть языки которые поддерживают неймспейсы, шаблоны и прочее без написания отдельного шаблонного движка для привязки этих самых плюсов, кроме опять же, D?

http://nim-lang.org/docs/manual.html#implementation-specific-pragmas-importcp...

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

Много скушной Qt-шной гуйни вокруг базы данных, например. В этом случае всё «умное» делается в потрохах Qt, всё долгое - в потрохах базы данных.

python позволяет всё это склеить без лишних заморочек, и ценой сокращения писанины раза в три или четыре.

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

Сборочная система, в которой приходится прописывать вот такое:

"task": [["gcc", "-c", "bar.c", "-o", "bar.o"]]

крутой быть не может.

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

смотреть на Паскаль как на какое-то говно мамонта, хотя C ещё большее говно мамонта

Так люди не хотя выбирать между разными сортами того самого. Ну или хотя бы, хотят что-то посвежее. И что тут может дать паскаль?

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

вот например, долбаные хипстеры написали рамдиск под винду на дотнете

И? Напиши на D/С и пользуйся. Лень/не умеешь? Ну тогда «жри что дают». Ведь не будь у них дотнета совсем не факт, что взяли бы «что-то получше», может тупо не написали бы ничего.

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

Ну и почему D-шники считают, что D является заменой C++?

Во-первых потому, что именно так он ЗАРОДИЛСЯ. Как замена костылям++ с блэкджеком и поэтессами.
Во-вторых, если взглянуть совсем издалека, в обоих есть ООП, дженерики, но при этом Ди куда более безопасный за счёт проверок массивов и GC. Синтаксис - почти 1:1, только у Ди он более лаконичный и чистый. Ну и чем он не замена-то??

Ведь D нужно доказывать...

Ему НИЧЕГО не нужно доказывать - его надо просто брать и пробовать.
Если взять любые два самых роскошных языка (ну, например, ЛИСП и Хаскель), ты ничего не сможешь вывести из их сравнения, ибо это кит и слон. И множество других языков - аналогично. Но есть _теоретически_ полезные фичи, а есть реально ускоряющие кодинг. Так вот: надо попробовать реализовать одну и ту же программу на двух языках и сравнить: скорость разработки, удобство библиотек, близость программной абстракции к решаемой задаче, сопровождаемость кода, удобство отладки и т.п. - и только тогда можно говорить, что этот язык НА ЭТОЙ ЗАДАЧЕ даёт преимущества. Абстрактные сравнения без задач - это рассуждения за пивом.

Ну и для меня интересным критерием является ЭЛЕГАНТНОСТЬ КОДА. Если я вижу чистый, интуитивно понятный код, мне и рекламы не надо - я знаю, что программировать с таким языком - песня!

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

Если взять любые два самых роскошных языка (ну, например, ЛИСП и Хаскель), ты ничего не сможешь вывести из их сравнения

Разумеется, смогу.

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

Во-первых потому, что именно так он ЗАРОДИЛСЯ. Как замена костылям++ с блэкджеком и поэтессами.

Во-первых, это было 17 лет назад и, как можно заметить, заменой C++ он так и не стал.

Во-вторых, если взглянуть совсем издалека, в обоих есть ООП, дженерики, но при этом Ди куда более безопасный за счёт проверок массивов и GC. Синтаксис - почти 1:1, только у Ди он более лаконичный и чистый. Ну и чем он не замена-то??

Как раз тем, что сейчас C++ остается там, где безопасность за счет проверок массивов и GC обходится слишком дорого. Из остальных ниш C++, к счастью, практически выжили.

Есть, правда, за C++ еще и ниша легаси, но туда D вряд ли пойдет.

Ему НИЧЕГО не нужно доказывать - его надо просто брать и пробовать.

Вас, может, удивит, но я из тех, кто брал и пробовал. И выбросил, когда увидел, что:

  • D является долгостроем, в котором о совместимости между релизами думали в последнюю очередь;
  • подавляющему большинству в D community нравилось впихивать фичи в D, но не создавать инфраструктуру вокруг языка;
  • C++ обрастает плюшками, которых раньше не было, при это не требуя полностью переписывать кодовую базу.

Так что D как раз таки нужно доказать:

  • что он заматерел настолько, что превратился из экспериментов Брайта и Александреску в пригодный для промышленного использования язык;
  • что он оброс достаточным количеством батареек;
  • что он может что-то сделать с C++ в тех нишах, где C++ еще остался и что-то противопоставить другим безопасным языкам в нишах, откуда C++ давным давно выжили.

Итак, в чем сила D?

Ну и для меня интересным критерием является ЭЛЕГАНТНОСТЬ КОДА. Если я вижу чистый, интуитивно понятный код...

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

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

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

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

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

Может я не совсем мысль понял, но на любом языке можно написать и говнокод и «элегантный код».

Именно так.

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

Скорее всего, более короткий и элегантный код будет получается на языке, который для каких-то задач лучше приспособлен, чем другой язык. Язык C позволяет просто и эффективно реализовать memcpy, а вот паттерн-матчинг по сложным структурам данных — уже нет. Тогда как в Haskell-е наоборот.

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

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

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

Какой тонкий вброс. Мусье мастер.

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

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

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

Ведь ни элегантностью, ни красотой, ни тем более понятностью они не обладают.

А в каком языке оптимизированный код, да еще написанный с оглядкой на совместимость со старыми компиляторами, будет элегантным, красивым и понятным?

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

А в каком языке оптимизированный код, да еще написанный с оглядкой на совместимость со старыми компиляторами, будет элегантным, красивым и понятным?

Ты о чем? Какая оглядка на старые компиляторы? Такое еще в паре поделок google на ява видел и больше нигде.

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

Не нашел сравнение с существующими системами сборки. Не интересно.

По примерам скорее похоже на какой-то примитивный башскрипт.

Имхо, самая удобная система сборки для плюсов - qbs. Иногда есть лишняя писанина, из-за того, что qbs система сборки чего угодно, но терпимо. Зато сборочный скрипт выгляди читабельно, в отличии от cmake, и очень быстро всё собирает.

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

Частично согласен, но с какого перепуга в этом списке делаю Rust, Swift, Nim? Укурился что ли?))

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

О Boost-е. А вот о чем вы? Пример бы кода какой-нибудь показали, который вам не нравится.

Я о «В каком языке»? Такого на других языках почти не применяют. Просто забивают на старые версии и все. Поэтому у меня вопрос и вызвал недоумение.

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

Такого на других языках почти не применяют. Просто забивают на старые версии и все.

Такого — это какого? Не пишут оптимизированный код? Не поддерживают предыдущие версии?

Чудные какие-то вещи вы рассказываете.

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

Скорее уж cmake был написан под влиянием NIH-синдрома

скорее, cmake результат желания написать удобную систему сборки, не выкидывая такой привычный, классический make

autotools он не прелагает. Оба - системы сборки общего назначения, которые могут собрать всё,

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

вообще, удивительно. время и удобство запиливания на scons < cmake << autotools. Но все (более — менее) радостно кушают cmake, под крики «там Питон! ату эту каку!» :)

PS: здорово напоминает аргументы этой дискуссии.

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

100 000 мильонный раз.

время, потребное на написание безошибочного кода T_{D} << T_{C++} << T_{RUST}. И этот код ещё и легко понимать и поддерживать.

И он компилируется нативно.

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

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

что он может что-то сделать с C++ в тех нишах, где C++ еще остался и что-то противопоставить другим безопасным языкам в нишах, откуда C++ давным давно выжили

н-да. Характерно, что всем наплевать на конечных пользователей, горько рыдающих от засилья C# (начиная с разных SDK, применение которых в своих проектах, именно из-за C#, неоправданно усложнено).

glebiao
()

Вообще, истерика в этой дискуссии и её объём --- радуют.

Значит, интерес есть.

И это здорово! могу только повториться: Вышла первая версия компилятора D, написанная на D (комментарий)

PS: Срач вокруг Питона 18 лет назад был даже менее обильным. Так что, шансы «взлететь» --- есть!

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

Чтобы запилить проект на D на dub нервов нужно ещё меньше, но тов. FeyFre этот аргумент отвергает, поэтому с его точки зрения остаётся только NIH-синдром.

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

Отлично, Хаскель и Лисп - технологии маргинальные, и на этом про них закончим, а потом страница текста с оправданием ещё более маргинальной технологии.

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

Так что, шансы «взлететь» --- есть!

Для того, чтобы язык взлетел, нужно на нем что-нибудь делать. Вот время, прошедшее с упомянутого вами срача, вы что-нибудь на D сделали и внедрили в продакшен?

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

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

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

Надо попробовать, а ещё лучше — скооперироваться с другими... пострадавшими :), и запилить нормальную статью на эту тему

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

У Раста есть киллер-фича в виде фашистского компилятора

Какого-какого компилятора, не понял юмора?

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

Не надо пытаться «пихать» его в любую дырку, это приведёт к разочарованию разработчиков и следовательно, угасанию Раста.

Бедные глупенькие разработчики, не могут сами понять надо оно им или нет.

А если серьёзно, то у D, С++ и раста ниша пересекается. Особенно, если рассматривать нишу общую для первых двух.

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

Чем мне симпатичен D

Года два назад смотрел на Linux KDE и думал, хорошо бы что нибудь написать под него. С++ - это хорошо, но муторно, Python - пробовал на нем писать, но не понравилась, что нужно что то устанавливать, какие то пакеты и опять таки муторно. Увидел D. Понравился тем, что компактный, не надо ни чего инсталировать, все на флешке помещается. Код генерирует не хуже С++, но написание программ в порядок проще.

Пример: // Прочитать целиком файл в массив байтов. Быстро и просто. byte[] = cast(byte[])read(«test.txt»);

Втянулся. Сейчас все свои программы пишу на D + QtE5 (это связка D + Qt-5 ). Изготовленные программы работают на всех основных платформах.

Небольшое видео, мои опыты с «карманной» собственной ide на D + QtE5 для Linux 64 https://www.youtube.com/watch?v=DuOl-4g117E

на Mac OSX https://www.youtube.com/watch?v=JBA4vkT5uKE

Снимки с экрана: - прога приема/сдачи экзаменов для института

http://qte.ucoz.ru/QtE_win_2.png

http://qte.ucoz.ru/QtE_linux_2.png

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

Ну, по рукам там бьёт, вот это всё.

anonymous
()
Ответ на: Чем мне симпатичен D от anonymous

А для работы с pdf, сокетами и БД используете либы от Qt? Или от D? Про плюсы/минусы языка можете подробнее написать? Нехватка библиотек, незрелость инфраструктуры, баги?

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

Делфи был очень даже неплох. Интересно, что его погубило? Платность, проприетарность и некроссплатформенность?

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

Честно скажу — не знаю. От формошлепства находился сильно в стороне (байто*бства) :)

Не удивлюсь, если Borland тупо слил свою долю рыка Microsoft-у и Sun-у, а потом и весь рынок десктоп-приложений сдулся под влиянием Web-а и мобилок.

eao197 ★★★★★
()
Ответ на: Чем мне симпатичен D от anonymous

Да, это замечательно. к сожалению, в Вашей библиотеке привязка сделана слишком в лоб, «по-хакерски», слишком привязана к конкретному компилятору. Можно ли от этого отойти?

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

ой, не надо. Опытный товарищ знает, что делает. А вот молодёжь --- реакция стандартная --- «о... это ж не старпёрский XXX, це ж круто!»

а потом сроки начинают удлиняться.... удлиняться... а отрок --- плеваться :)

Ну и результат?

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

Там нет привязки к конкретному компилятору. Там есть условная компиляция для разных компиляторов. На данный момент проверено и работает с MinGW и MSVC (windows), gcc (Linux), CLang (OSX).

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