LINUX.ORG.RU

Вышел компилятор языка D LDC 1.0

 ,


1

7

Данное событие является очень важным в расширении применения языка D. Благодаря компилятору LDC у D теперь появилась полная поддержка архитектуры ARM и практически полная поддержка разработки под Android (включая графические приложения на базе dlangui). Также LDC поддерживает линковку с Objective-C-кодом. На данный момент доступны готовые сборки как под Windows, так и под Linux.

Следует отметить, что LDC основан на LLVM и позволяет генерировать хорошо оптимизированный код, значительно более оптимизированный, чем при использовании референсного компилятора dmd. Данная версия LDC базируется на LLVM 3.8.0.

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

Ура! Пишу сервис на D/Vibe.d. Может кто блог/еще что-то ведет на D-тематику?

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

Самая очевидная — C++.

Сразу видно что не писал ничего серьезного под андроид. Тут даже у чистой джавы проблемы переносимости между девайсами (особенно китайских вендоров). А был бы C++, то вообще бы ничего толком не работало.

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

Про сборку мусора - ну, раз всякие node.js/native react/nw.js сейчас в моде и всё больше и больше приложений пишут на node.js/v8, значит всё там нормально со сборкой мусора и производительностью.

Нет, там всё плохо.

Собирать мусор можно не часто, поэтому энергозатраты мизерны.

Если бы они были бы мизерны, Apple не стала бы заменять свой GC на ARC. К сожалению весьма не мизерны.

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

А был бы C++, то вообще бы ничего толком не работало.

Почему это? Архитектур не так уж и много. Кроме того есть аналоги байткода для C.

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

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

Oxdeadbeef ★★★ ()

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

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

И они галопом неслись от С++

Ага, особенно на последних своих устройствах. Где выпилили тормозную Java-J2ME, и впендюрили C++, Cascades на C++, Qt на C++ и QtQuick.

Скоро, наверное, гугля тоже с томми-Java спрыгнет. Про Swift уже слухи поползли.

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

А был бы C++, то вообще бы ничего толком не работало.

Игры же на Android работают? А они практически все на C++.

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

О, тогда это ужасно, тогда и правда зачем он нужен если в нем снова все эти сишные засранки.

Или это только для совместимости?
Просто такая вещь как например getopt API просто ужасна, string bool regex - вовсе костыли какие то, stdio старое и деревянное. В новом языке все это не нужно.

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

твои личные проблемы, например

Но ведь они станут твоими, когда я сделаю chargeback за твоё приложение, поставлю кол в AppStore и начну пользоваться вменяемо работающим конкурентом.

Legioner ★★★★★ ()

Свифт не успел вылупиться, как армия разработчиков ринулась на нем писать. То же было с C#. А опенсорс комьюнити как писали на C/C++, так и будут до скончания веков. Никакие расты и дэ ничего не изменят ☹

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

Почему это? Архитектур не так уж и много

Потому что на то время GCC/С++ для ARM создавал плохой во многих отношениях код. По факту был доступен только С, без плюсов. Вот и решали проблему кардинально, через новый язык и унифицированный рантайм.

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

Но ведь они станут твоими, когда я сделаю chargeback за твоё приложение, поставлю кол в AppStore и начну пользоваться вменяемо работающим конкурентом.

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

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

А опенсорс комьюнити как писали на C/C++, так и будут до скончания веков.

И это хорошо. Сколько этих новомодных язычков погибло уже?

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

Писать на языке со сборщиком мусора для мобильной платформы? До такой глупости только андроид может додуматься.

Вам стоит посмотреть на параметр CLANG_ENABLE_OBJC_ARC в проекте под ios/tvos/osx.

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

Потому что на то время GCC/С++ для ARM создавал плохой во многих отношениях код.

Бредятина. Всё нормально с плюсами на ARM было. Ничего, что до эпохи Android'а люди юзали GCC 3.3.4 и GCC 3.4.3 и нормально писали на C++ мобильные приложения, используя все возможности C++03, включая исключения.

Целые операционные системы на C++ (Linux->MotoMAGX OS, Symbian OS) под ARM создавали и не пыхтели. А тут какой-то анонимус заявляется и изрекает, мол:

По факту был доступен только С, без плюсов.

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

Вам стоит посмотреть на параметр CLANG_ENABLE_OBJC_ARC в проекте под ios/tvos/osx.

И что я должен увидеть?

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

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

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

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

А Apple уже дала доступ к своим Windows-портам Cocoa? Или ты предлагаешь самостоятельно этим заняться?

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

Сразу видно что не писал ничего серьезного под андроид.

Вот и эксперты подтянулись.

Тут даже у чистой джавы проблемы переносимости между девайсами (особенно китайских вендоров). А был бы C++, то вообще бы ничего толком не работало.

Какая тут связь с языком разработки?

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

В моём мобильнике 512 MB RAM

В моём мобильнике 6MB и Java работает нормально, может тебе просто перестать пользоваться китайским контрафактом и пользоваться нормальным телефоном?

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

А iTunes написан на C#, да?

Для винды iTunes написан на C++, я не удивлюсь, если порт Cocoa тоже перенесён на кресты.
Я помню, что у iTunes были привязки к C++/COM в винде и приплюснутый SDK:

http://www.joshkunz.com/iTunesControl/interfaceIiTunes.html
http://www.neowin.net/forum/topic/170611-c-itunes-com-interface/
http://apple.stackexchange.com/questions/238560/has-apple-completely-dropped-...

Никакими Obj-C/Swift там даже и не пахнуло.

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

Сколько этих новомодных язычков погибло уже?

Ни один из вышеперечисленных

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

На C++.

В чем 4.2? Objective-C стандартной библиотеки нет под винду и линукс. И не будет в полной мере. Ибо там всё гвоздями прибито к NS. Есть открытые попытки написать стандартную либу со строками/массивами, openNextStep, но там всё через одно место работает. Я уже пробовал писать с помощью этих наработок на ObjectiveC под винду в виде .dll и юзать из-под C++ - в итоге без гемора можно писать только самые примитивные вещи.

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

В том, что D - прекрасное ООП, практически клон Java. Легко писать расширяемый и сложный софт. Прекрасная читаемость кода. Хорошая переносимость - несколько компиляторов, одна хорошо вылизанная стандартая библиотека типов на многие случаи жизни (кроме gui софта). Компилируется под x64/arm/mips. Отличная производительность. Примерно 85% от C++ в самых узких местах.

Игры можно писать хоть на php, но на D можно писать игры под всё что угодно, теперь прекрасно линкуется с C/C++/ObjectiveC (llvm) либами под ARM, что очень удобно для написания движков игр или их число-дробилок/физических движков.

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

Тут даже у чистой джавы проблемы переносимости между девайсами (особенно китайских вендоров).

так проблемы то не в джаве, а то что китайцы грешат «пропатчить сдк»

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

Но надпись справа «Downloads: 0» очень красноречиво говорит о нужности этого поделия.

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

Видел эту штуку. Проект, похоже, умер, не родившись.

Last edited May 10, 2009. This project has no releases. This project does not have documentation yet.

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

А вообще, если уважаемый анонимус уже прогает на C#, то D вам явно ни к чему. Не засирайте себе мозг всякими вольностями вроде Uniform function call syntax, Mixin'ами и прочим трешем: ни к чему хорошему это не приведёт.

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

Я после D на C# смотреть не могу. D это почти как Python без детских проблем. В 2016 году писать на языке, за которым интерпретатор нужно всюду таскать это тихий ужас просто.

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

Рискуя нарваться на холивар, все равно интересуюсь: чем же D так хорош, что не можно смотреть на C#? С личной точки зрения.

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

Кстати, для Питона же есть компиляторы.

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

Во первых игры то и не работают :) Во вторых они обычно полноэкранные и особо не взаимодействуют с системой, рисуют свой gui и т.д. А если надо что-то еще, например нотификации или логин в фейсбук, то эту часть пишут на java.

pftBest ★★★★ ()

D не нужен как и Linux

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

Ну как-бэ и не интерпретатор, но идею вашу, я уловил, конечно. Вы попробуйте поделать большой проект на этом вашем D. Такой чтобы действительно большой. Что-бы человек хотя-бы 10 разработчиков. А потом поделитесь опытом. Не, я правда, без всякого сарказма - для D сейчас очень нужны истории успеха. В энтерпрайзе и опенсурсе. Дело ведь совсем не в «интерпретаторе, который нужно всюду таскать» - в венде он уже встроен, а для остальных случаев есть mono. Дело ведь в том, насколько эффективно можно с этим языком реализовывать совместную разработку, различные парадигмы программирования, и.т.д. Пока что D выглядит как какой-то комбаин, честное слово. Вот нафига нужен UFCS, миксины те-же ? (хорошо что хоть множественное наследование не присобачили). Встроенное UNIT-тестирование - это хорошо, ВОТ ТОЛЬКО ЗАЧЕМ ЭТО ТЯНУТЬ В ЯЗЫК ? Стандартная библиотека D - вообще тема для отдельного обсуждения...

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

Компиляция D в байткод .NET? Они нацелены на компиляцию в LLVM код на всех платформах, а уже LLVM код (промежуточный) компилируется в «exe» любой аппаратной платформы, смысла им под .net писать свой компилятор нет - ибо у них мало ресурсов человеческих. Вроде как этот релиз (тема топика) llvm компилятора писало человек 5-7 от силы. Тот же офф компилятор dmd (референсный) пишет человек 20, и то. Сейчас у D сообщества проблемы и в ресурсах и в «маркетинге», чтобы донести плюсы своей платформы до широких масс. В принципе, при наличии хорошо раскрученных Swift и Go - им (D сообществу) придётся очень и очень туго, если их какая-нибудь Microsoft не купит или Google. Но про Google могу сказать, что они очень активно пилят Dart.VM, видимо, в будущем на мобилках будет Dart.

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

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

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

Не мало, тот же Unity пишут на C#, а он помедленней D, соответственно, это 50% скорости C++. На Unity же много игр написано? И особо никто не жалуется ни на тормознутость, ни на «сборщик мусора».

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