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)

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

Тем что d - не с и не с++. makefile это описание процесса сборки - какой файл собрать, с какис слинковать - гигантская простыня. И все потому что с и кресты не умеют в модульность.

В D - это нахер не уперлось, тут не нужно делать «gcc file1.c file2.c -o out». И суть - просто описать зависимости и их версии, авторов, ресурсы, библиотеки - декларативно.

А список файлов *.d и какой от какого зависит - не нужно.

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

Если их хвалёное взаимодействие с крестами - не утка, то сообщество ди ещё может собраться, сделать биндинги к Qt

Еще раз - в ди есть биндинги к Qt. И дохрена других биндингов, от gtk до прочей фигни, типо жабьего swt.

Проблема в том, что Qt для ди - инороден. Qt это не гуи-библиотека, а фреймворк, который реализует кучу своих вещей - сеть, потоки, xml, json, файлы - да даже указатели с контейнерами и строками.

В ди все это не нужно, все это есть в стандартной библиотеке, и qt - инородно. Нужно скорее скопировать дизайн qt и содрать только gui-часть, а все остальное использовать родное.

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

Еще раз - в ди есть биндинги к Qt.

ГдЭ?

Qt это не гуи-библиотека, а фреймворк, который реализует кучу своих вещей

Ещё раз - ничего не мешает забыть про это и использовать его просто как гуи-бибилиотеку.

Нужно скорее скопировать дизайн qt

Надорвутся.

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

Шустрее и не требуют ВМ/интерпретатора.

Ну это да, только в контексте «кроссплатформенного десктопного софта» это на одном из последних мест по значимости.

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

это на одном из последних мест по значимости.

Нет. Я писал проги, в которых тормоза питона были заметны.

А насчёт отсутствия ВМ - это тоже удобно, можно делать portable applications.

Учитывая, что у жабы я вообще не вижу преимуществ перед Ди, а у питона не хватает производительности, выбор был бы очевиден.

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

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

Ты на плюсах-то пишешь? Да в каждом отдельном проекте свой «билд процесс».

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

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

https://github.com/ethcore/parity есть, maidsafe есть, на самом деле, уже много чего есть.
У же D есть только компилятор и пакетный манагер.

quantum-troll ★★★★★
()

Зачем нужно это говно?

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

О том и речь. Новые проекты гораздо удобнее писать на D.

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

Все остальные новые проекты на C++ не начинают, т.к. это неудобно. А в чем именно будет состоять удобство D в сравнении с другими статически-типизируемыми языками с GC?

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

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

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

anonymous
()

Козырно. А что там с ARM? gdc уже научился делать не говно вместо бинарей? а то 2 года назад печально было.

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

А что было за говно вместо бинарей?

Ставил gdc в ubuntu touch на планшетике полгода назад, хелловорлд скомпилял и бросил. Вроде ничего некошерного незаметил.

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

Есть vibe.d, есть несколько ААА игрушек на нём (пруфы сам можешь найти на dconf.org) от Remedy, он используется в проде большими компаниями вроде социомантика.

Хотя зачем я отвечаю человеку с таким ником?

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

У него всё весьма печально с развитием - комунити предпочитает пилить LDC (к которому кстати присобачили последний фронтенд и он поддерживает последний стандарт языка, не как раньше), а не копаться в кишках говнолегаси из GCC.

Форков LDC на моб. плафтормы достаточно.

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

4.2 про социомантик, причем дважды.

Во-первых, их нельзя назвать большой компанией.

Во-вторых, они используют D1 с кучей своих патчей для стдлиб и тулчейна, а не D2, который здесь обсуждается.

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

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

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

Да у них ещё и рантайм свой, с конкурентым GC и прочим, что портировать на D2 просто «патамушта» никому не всралось, и они не начнут переезд пока этого всего там не будет из коробки (хотя как «начнут» - разве что максимум отделят старый код от нового).

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

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

А что, из D уже можно использовать такие C++ные библиотеки, активно использующие все вышесказанное, как Eigen, fmtlib или Hana?

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

и они не начнут переезд пока этого всего там не будет из коробки (хотя как «начнут» - разве что максимум отделят старый код от нового).

Да тут, на LOR-е, где-то с год назад один из разработчиков из социоматика говорил, что процесс переезда начался, но идет он сильно неспешно, а затянется очень надолго.

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

быстрый, удобный, безопасный и простой язык, дающий нативный код

Кто сказал Паскаль? Но да, надо ведь поносить паскалистов, смотреть на Паскаль как на какое-то говно мамонта, хотя C ещё большее говно мамонта, продолжать плакать и колоться об C и пытаться раскрутить очередной велосипед, потому что C говно, а Паскаль нинужн, мда.

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

Начнём с того, что более менее полные компиляторы плюсов (особенно с последними стандартами) есть только под мейнстримовые платформы

С11 даже мейнстримные полностью не поддерживают, и никто не страдает. Так и тут - никто ни у кого не отбирает С++03.

Во-вторых библиотеки из си (как и сишные интерфейсы ос), внезапно, легко использовать абсолютно везде (по мере поддержки указателей, конечно)

А это просто вранье. Не путай свои хеллоу-ворлды и полноценную и плотную работу со сложной библиотекой.

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

А это дилетанство или врожденная глупость. Библиотека, реализованная на С++, без особых усилий может предоставлять сишный интерфейс. Смотри, например, ICU.

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

1) Сравнивать 03-и плюсы с D – как скалу с го (по тупости сравнения). 2) Тут не я что-то путаю. Можно какой-то пример где сишный интерфейсбыло бы сложно прикрутить? 3) Может то может, до первой шаблонной ф-ции. А потом «пиши функцию на плюсах с сишным интерфейсом и юзай как третий бинарник посередине».

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

Да, причём можно делать это даже абсолютно без какого либо интерфейсинга – в треде уже скидывали Calypso.

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

Да, причём можно делать это даже абсолютно без какого либо интерфейсинга – в треде уже скидывали Calypso.

Так это какой-то экспериментальный форк LDC. К тому D, который большинство программистов используют через DMD, этот форк имеет косвенное отношение.

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

Eigen, fmtlib или Hana

В списке не хватает sobjectizer. Алсо проиграл с предложения использовать Hana из D. Нафейхоа? Может еще MPL надо? И еще функционал fmtlib поражает воображение, на D такого точно нет.

anonymous
()

Ура! D стал еще более кучерявый. У меня товарищ старинный в биоинформатике сейчас трудится, они все проекты с явы и плюсов сейчас на D переносят ударными темпами. Молвит, де, профит просто офигенный как в разработке, так и производительности. Мы, на него насмотревшись, тоже в своей финской деревне начали эксперименты. Разумеется не кинулись все сразу переписывать, но некоторые мелкие сервисы уже заменили. После писанины на D как-то не тянет больше на плюсы. Всем D и коскенкорвы, посоны.

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

Конкретно у него нужно как минимум писать те же заголовки (с шаблонами и тд из самого D, без костылей).

Последний раз когда я пробовал на линуксе был какой-то баг с манглингом, но судя по тому что снова началась возня над core.stdcpp всё исправили.

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

А что там с ARM? gdc

Да норм. Небольшую хренульку собирал, крутится щас на малине. Иногда правда gdc некоторые вещи не может скомпилять, а ldc норм.

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

на D такого точно нет.

Если D настолько крут, то зачем ему возможность переиспользовать С++ные разработки?

Ну а вопрос, собственно, состоял в том, что если настолько крутому D нужно зависеть от C++ного кода, то что он будет делать, если в этом C++ коде будут и Eigen, и fmtlib, и Hana, и Boost.Spirit и еще чего-нибудь?

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

Конкретно у него нужно как минимум писать те же заголовки (с шаблонами и тд из самого D, без костылей).

В свое время был сделал некий транслятор из Java в D. Т.е. исходники из Java преобразовывались в исходники D. И на этом трансляторе был сделан порт SWT в D под названием DWT. Серьезная веха, как тогда казалось. Только, насколько помню, не взлетело.

Так же может быть и с этим Calypso. Так что пока нет в DMD, можно сказать, что нет и в D.

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

vibe.d

Это даже не приложение.

пруфы сам можешь найти на dconf.org

Лень искать.

он используется в проде большими компаниями вроде социомантика

Хаскель тоже используется большими компаниями.

Хотя зачем я отвечаю человеку с таким ником?

Единственная причина, почему этот ник вообще существует — отгороженность ЛОРа от анонимуса.

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

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

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

Ты сам должен понимать, что без плюсового компилера (как в Calypso) это дело не переносится

Так зачем этот цирк вообще нужен?

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

Чтобы переносить что-то вменяемое, а не писавшееся на костылях ради костылей.

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

А что есть на расте?

ну можно например виндовые драйвера писать. или под микроведро L4

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

ну, если хочется поупарываться наотличненько: берёшь Nt Native Shell, переводишь с сишки на ржавчину и рисуешь свой gui руками через nt native api

либо берёшь биндинги и смотришь примеры. либо через FFI

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

В чем проблема-то вообще?

я тебе щаз скажу, в чём тут проблема. вот например, долбаные хипстеры написали рамдиск под винду на дотнете (dimmdrive). весит он, вашу мать, 142 Мб. из них: 6 Мб гуи приблуда, ~500 кб сам драйвер

и долбаных 136 Мб инсталятор дотнета!!!

дотнета, Карл! в рамдиске, Карл!

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

Если этот зоопарк будет внутри (за пимплом например), то хуже от него не станет. Если же он на границе API библиотеки - то например можно обернуть библиотеку (или побить ее разработчика за Hana в API). Вообще С++ API - это фикция, что-нибудь да сломается (даже без D). Hourglass interfaces (то бишь C89 враппер) - наше всио.

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

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

Это отнюдь не хипстеры, обычное быдло. Хипстеры написали бы на Go.

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

NIH синдром?

Нет, просто более специализированный инструмент. У dub крайне простые конфиги потому что он не умеет работать с C и C++.

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

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

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

Сорри, но c++ и тем более раст не нужны, есть же c

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

Сорри, но OS Linux не нужна. Ибо есть Windows, OS X...

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

я тебе щаз скажу, в чём тут проблема. вот например, долбаные хипстеры написали рамдиск под винду на дотнете (dimmdrive). весит он, вашу мать, 142 Мб. из них: 6 Мб гуи приблуда, ~500 кб сам драйвер

Ну и какой процент потенциальных пользователей этого dimmdrive было остановлено от покупки размером дистрибутива?

И второй вопрос, еще более важный, чем первый: если проект, который замечательно подходит под С++, люди написали не на C++, а на .NET, то каковы шансы у D?

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

Да, с такими фанатами языку и враги не нужны.

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

cmake был написан ..., т.к. ничего принципиального перед autotools он не прелагает.

Протестую, у cmake есть принципиально новый вывод в консоль текущего процента сборки красненьким и зелененьким. Аутотулзы так не умеют.

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