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

Когда-то давно кактусоеды программирования на ассемблере, типа мы всё контролируем, пишем оптимальный код, бинарники маленькие.

На самом деле это было бы не так плохо, если бы x86 была единственной архитектурой. Вон, KolibriOS маленькая и шустрая. Но увы, при наличии всяких армов привлекательность такой разработки резко падает.

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

Вон, KolibriOS маленькая и шустрая

Потому что нихрена не умеет.

Windows 95 тоже была маленькая и шустрая, но много чего умела. В век терабайтов это бесполезное качество.

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

Заняты, потому что не было альтернативы.

Это ниша.

У D нет ниши, потому что у него нет ограничений. На нем можно писать все, он может быть в любой нише.

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

и не получить богомерзкий GC

Отключается же.

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

Это еще почему? Ты сейчас можешь поставить некровинду - и у колибри не будет ни единого бонуса перед ней. Тоже маленькая и шустрая, тоже будет все молниеносно открываться и прочее. Только под винду еще и вагон софта будет.

А у колибри тем временем курсор мерцает и глаза выжигает (не починили еще)?

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

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

Перспективной - может быть, но эта перспектива может так и остаться перспективой лет на 15. Пока что Rust - хорошая замена для C. Но до тех пор, пока туда не добавят ООП (а надо ли оно расту?), он не будет убийцей C++ вообще ни как. Да, писать в ООП стиле можно там и сейчас (на C, кстати, тоже можно), но это какой-то особый вид извращения, лучше подождать поддержку языком.

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

поддерживает бесшовную интеграцю без биндингов с библиотеками С++ такими как Qt

Лозунги, лозунги. Давай конкретику - как мне запилить Qt-приложение на D?

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

А в чём проблема?

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

Ты сейчас можешь поставить некровинду

Начать с того, что даже просто запустить пощупать некровинду на современном компе сильно проблематичнее - у колибри есть нормальный LiveCD, в отличие от. А 95-я, насколько я помню, поверх доса ставилась, а уж про LiveCD в те годы вообще никто не говорил. Install CD был, да, но я уже за давностью лет не помню, был ли он загрузочным - кажется, с этим были какие-то проблемы.

А «шустрость» 95-й винды по сравнению с колибри - это адские тормоза. Можно просто сравнить время загрузки...

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

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

нет, не запустится: сборка шарпеевой программы в бинарь - это немного лукавство: для работы такой программы всё равно требуется .NET. на чистой семерке стоит .NET версии 3.5, на винде 8+ - .NET версии 4, и они не совместимы ни в одну сторону (да-да, мелкософт кинул всех с обратной совместимостью, отчего сильно поплатился популярностью платформы). можно поставить на одну и ту-же систему несколько версий .NET, это решает проблему совместимости, но, к сожалению, это не всегда возможно

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

А 95-я, насколько я помню, поверх доса ставилась, а уж про LiveCD в те годы вообще никто не говорил.

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

А по поводу liveCD - а некровинде он не был нужен. Это была мейнстримная ОС, она работала на любом оборудовании с любой периферией. Ее ставили раз и навсегда, а не «на попробовать». Потому концепция «пощупать без установки» ей была попросту не нужна, это колибри - ось для виртуалки.

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

Это ниша.

У D нет ниши, потому что у него нет ограничений. На нем можно писать все, он может быть в любой нише.

Язык без ниши - мертвый язык. Он в любой нише проигрывает.

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

Круто. А если разработчик библиотеки не опакечивает ее в 100500 разных дистров и форматов пакетов?

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

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

Зверь CD?

Кажется единственный способ сделать сейчас виртуалку это достать тот диск. Ж)

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

Зверь CD?

Нет, зверьсиди появились уже много позднее.

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

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

Опять таки - тыскозал?

Сказал тот кому я ответил. Что у D нет ниши. «Тот у кого нет ниши - мерт.» Это я даже не знаю как назвать. Это все равно что сказать, что тот, кто только что умер - уже труп.

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

поддерживает бесшовную интеграцю без биндингов с библиотеками С++

Вот если это реально будет работать в D из коробки (как я понял, сейчас это экспериментальная фича), то D можно будет серьёзно воспринимать. Без возможности прямой интеграции с библиотеками C/C++ D был малоинтересен.

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

Ди вполне себе интегрирован с с++, у него есть extern (c++), и он может дергать крестовый код. Проблема в том, что Qt в D инороден, в D нужен свой гуй-стек.

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

Ди вполне себе интегрирован с с++

Под прямой интеграцией я понимаю возможность дергать код на C/C++ напрямую, лишь подключив C/C++-заголовок. Дублирование прототипов функций - это очень неудобный костыль.

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

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

А препроцессора с инклудами в ди нет, и это правильно. Зато в нем нормальная модульность, а не сишное исчадие со вставкой кусков текста и дефайнами.

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

поддерживает бесшовную интеграцю без биндингов с библиотеками С++ такими как Qt.

Ага, вот только это поддерживает только один компилятор, так? Это не фича языка.

Ага целый мертворожденный Servo есть. Куда уж динамичнее.

Кое-какой «продакшен» всё-таки имеется. У D не сильно лучше (если не наоборот) и это с учётом форы по времени.

Все эти Go с Nim в реальных проектах вообще не практичны.

Про Go забавно. Вот уж какой язык из «новых» от низкой популярности точно не страдает.

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

Кое-какой «продакшен» всё-таки имеется.

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

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

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

Мне кажется, это тот случай, когда есть два ответа: твой и неправильный.

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

Как три перста в правильный жест сложить и какие размашистые движения совершать - знаешь?

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

В моей практике C# я от силы пару раз писал generic класс, метапрог-е не касаюсь вообще

Можно полюбопытствовать что тогда тебе не хватает от языка? Из агиток выше разве что нативности не хватает.

дженерики, миксины,

Ага, круто. Вот только по твоим же словам, не особо востребовано.

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

Ты это как недостаток что-ли расписываешь? Скачать и поставить .NET - дело 5 минут (или 4, если скачать и носить вместе с программой). В чем проблема-то вообще? Или ты и на Линуксе пользуешься только тем, что ставится с диска?

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

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

Такое в c# тоже есть, но кроме него вот та самая поддержка доверенности бинарников. Для плагинов полезно. Следовательно, c# безопасней.

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

Сильно плохого ничего, просто не надо трындеть про простой язык. D нифига не простой. Конечно, до C++ с его r-value референсами ему далеко, но c# проще D. Причём не сказать даже что многословнее, майки совершенно не парясь добавляют в язык любой сахар, который покажется им удобным.

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

Как три перста в правильный жест сложить и какие размашистые движения совершать - знаешь?

Не знаю, такой фигней не страдаю.

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

D нифига не простой

Ди не в том смысле простой, а в том - что у него нет подводных камней и пердолинга.

В ди ПРОСТО берешь и делаешь свитч по строкам. А в крестах? В ди можно просто описать алгоритм, не порождая монструозных конструкций. На ди можно писать коротко и лаконично - вот чем он хорош.

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

Да, писать в ООП стиле можно там и сейчас (на C, кстати, тоже можно), но это какой-то особый вид извращения, лучше подождать поддержку языком.

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

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

У D нет ниши, потому что у него нет ограничений. На нем можно писать все, он может быть в любой нише.

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

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

На ди можно писать коротко и лаконично - вот чем он хорош.

Отключите GC и посмотрите, во что это все превратиться.

D хорош до тех пор, пока его сравнивают с языками без GC.

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

Причём даже не важно, нативных ли. И среди них D - один из самых бестолковых.

Опять таки - тыскозал?

Но по факту у D есть конкретная ниша

Есть. И называется она - «everything». На ди можно писать все что угодно, от операционных систем, до программ в микроконтроллере и вебсайтиков.

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

Отключите GC и посмотрите, во что это все превратиться.

Эээ, а зачем мне его отключать? У меня не течет пена изо рта от GC, я считаю его хорошей и удобной фичей.

А по поводу C# - против него как языка я ничего против не имею, он тоже довольно симпатичен. Если бы он был свободен от майкрософт и нормально кроссплатформенен - был бы вин.

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

У D есть Vibe.D А что есть на расте?

Смотря что тебе нужно. Ответом может быть как «много чего», так и «ничего».

Кстати, про Vibe.D я только на лоре и слышу. Может, конечно, не в тех областях варюсь, но не похоже, что эта штука стала сильно известна за пределами мира D.

Могу я взглянуть, как на расте писать гуй?

Насколько я знаю, чего-то достаточно зрелого и своего нет. Хотя тут и для D предлагают Qt использовать, что о многом говорит.

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

Эээ, а зачем мне его отключать? У меня не течет пена изо рта от GC, я считаю его хорошей и удобной фичей.

Тогда не нужно сравнивать удобство разработки на D с удобством разработки на C++. Поскольку уже сейчас C++ остается лишь там, где много легаси-кода (и где D не светит) и там, где GC приносит лишнюю головную боль.

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

Если бы он был свободен от майкрософт...

То весьма вероятно, просто не взлетел бы.

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

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

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

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

Поскольку уже сейчас C++ остается лишь там, где много легаси-кода

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

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

Ди не в том смысле простой, а в том - что у него нет подводных камней и пердолинга.

Я понимаю «простой язык» как возможность не удивляться на чужом коде. D не сильно прост в этом смысле.

В ди ПРОСТО берешь и делаешь свитч по строкам. А в крестах?

В каких крестах? С тем, что D проще C++ никто не спорит, вопрос в том, куда уставшему кактусоеду податься. Из конкурентов D свитчнуться по строке нельзя разве что в Java, и то не факт. А в некоторых и типы-суммы с паттерн-матчингом.

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

И будет это какой-то там форк шланга, а не официальный dmd-компилятор.

Не вижу ничего плохого в том, чтобы делать обертку. Потому как есть инструмент, который автоматом по исходникам на крестах делает эту обертку (не удивлюсь, если 80% их как-то так и сделаны).

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

он может дергать крестовый код

Как?

Проблема в том, что Qt в D инороден

Конечно-конечно. В Python не инороден, а в «убийце крестов» инороден. У дишного сообщества тупо не хватило HR, чтобы запилить вменяемый биндинг.

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

А в некоторых и типы-суммы с паттерн-матчингом.

Ну, тип-суммы есть и в D если че. Разве что паттерн-матчинга нет. Я так и не понял правда, что это такое и зачем это нужно, выглядит все равно как свитч (который в D вообще продвинутый, и к примеру там можно писать диапазоны)

D не сильно прост в этом смысле.

А по мне - он очень прост и читабелен.

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

Но по факту у D есть конкретная ниша

Есть. И называется она - «everything». На ди можно писать все что угодно, от операционных систем, до программ в микроконтроллере и вебсайтиков.

Отвечал ты другому анонимосу. Но тут не поржать невозможно. :)

«Можно писать» - это не ниша. Языки без ниш были лет 15 назад. А может и больше. Сейчас таких не осталось. Все ниши заняты.

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

Как?

Тут все написано https://dlang.org/spec/cpp_interface.html

Конечно-конечно. В Python не инороден, а в «убийце крестов» инороден. У дишного сообщества тупо не хватило HR, чтобы запилить вменяемый биндинг.

При чем тут вообще питон? Qt заточен на свои велосипеды - которые были запилены, потому что кресты - шлак. QString, Json, своя сеть, свое вообще все. Свои свойства, сигналы и слоты, все эти QVariant и прочее.

А в D все это нахрен не нужно. Все это уже есть в языке, по умолчанию, в стандартной библиотеке. Тут не нужен велосипедный QString - язык по умолчанию умеет в юникод, а когда ты сделаешь по нему foreach - ты получишь буквы-символы, а не рваные байты кириллицы. И так далее.

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