Дилан Грэм (Dylan Graham) представил легковесный runtime LWDR для программирования на языке D микроконтроллеров, оснащённых ОС реального времени (RTOS). Текущая версия нацелена на микроконтроллеры ARM Cortex-M. Разработка не ставит целью полное покрытие всех возможностей D, но предоставляет базовые средства. Распределение памяти производится вручную (new / delete), сборщик мусора не реализован, но имеется ряд хуков для использования средств RTOS...Подробнее: https://www.opennet.ru/opennews/art.shtml?num=55238
До чего техника дошла.
ну да, это же не на электроне ваять однотипные поделки
Мне кажется разработка на D дороже чем на C++ - мало того, что нужно заниматься развитием проекта, еще нужно при обновлении компилятора исправлять существующий код для компиляции на новой версии.
> Мне кажется разработка на D дороже чем на C++ - мало того,
> что нужно заниматься развитием проекта, еще нужно при обновлении компилятора исправлять
> существующий код для компиляции на новой версии.они ж вроде уже стандартизировались и нет несовместимых обновлений?
дороже в 1 очередь тем, что инфы по C++ в интернетах сколько хочешь, а по D если столкнешься с проблемами.. будет больно
даже бесплатная книга есть
Даже 2
Абсолютно не больно. Комьюнити небольшое, высококвалифицированное ит очень дружелюбное, посоветоваться - не проблема совершенно
То да. Не то что rust, друг другу глотку перегрызут.
дешку толстовато
Лопух, ты так и будешь повторять дедушкины сказки?? D последние минимум года 3 имеет стабильный язык, да и ранее его особо не трогали - в основном занимались стандартной библиотекой.А самое смешное, такие клоуны как ты вообще НИ РАЗУ ничего не правили "из-за изменённого языка", зато в каждом форуме бздят про "нестабильный Ди" - когда вы уже в школу свалите, чудики?!
Соберика мне проекты dlangui или dlangide актуальным компилятором, проекты перестали поддерживаться всего меньше чем год назад
Что-то на Д софта ещё меньше, чем на Русте. Почему так, всем достаточно современных плюсов без потери совместимости, а сабжи придумывались во времена c++98?
Нет адекватной IDE для разработки, кроме Visual Studio. Многих смущает сборщик мусора, а тех кого не смущает - задолбались код исправлять после выхода новой версии компилятора из-за несовместимости
> Многих смущает сборщик мусораон же отключаемый?
> он же отключаемый?Я слышал, что во второй ветке д без сборщика мусора -- это примерно то же что руст без борроу чекера. Немного весёлого сахара и не более. Поправьте, если это не так.
Rust без borrow-checkerа - такой же Rust, но не ругающийся на ошибки в коде)
Никакого сахара он не добавляет, без него можно жить
Подобным "весёлым сахаром" и отличаются ЯП высокого уровня от ассемблера чуть выще вроде сей. Практически вся выразительность языка остаётся доступной.
Ну да, попробуйте писать на си без libc или альтернативы. Не то чтобы это невозможно, правда же? В частности, для МК можно использовать си в формате "плохонький сахар для ассемблера".
Ни разу код не исправлял "после выхода новой версии компилятора".
vscode, monodevelop...
Emacs + Emacs-D-Mode
> Нет адекватной IDE для разработки, кроме Visual Studio.Заявлено два языковых сервера https://microsoft.github.io/language-server-protocol/impleme.../
Поделитесь, чем они не устраивают?
Языковые сервера, может, и устраивают. Не устраивает сама Visual Studio Code: Электроном и телеметрией.
Так языковые сервера создаются для того, что бы их возможно было использовать с произвольным клиентом (редактором) https://microsoft.github.io/language-server-protocol/impleme.../
Правда, некоторые (Eclipse, VS Code, Gnome Builder) почему-то не запускают сервер напрямую, а требуют загрузчик прокси stdin-stdout. То есть возможно придётся допилить сервер. Напрямую запускают Qt Creator (для поддерживаемых MIME) и Kate (D из коробки, в для других языков придётся написать файл конфигурации JSON). Остальные из списка не смотрел.
Ты у себя сначала в голове мусор собери и перечитай заметку!> Распределение памяти производится вручную
Это для кого написано?!
> Что-то на Д софта ещё меньше, чем на Русте. Почему так, всем
> достаточно современных плюсов без потери совместимости, а сабжи придумывались во времена
> c++98?мало быть лучше c++, надо ещё туда людей загнать, а они по растам, го, обжектси разбегаются, когда решают язык менять
гугель сказал go, толпа побежала ваять на go. за D не стоит большого господина, который загнал бы хомячье в нужное стойло
я часто пишу на Go - простой, быстрый (время работы/компиляции), стабильный, кроссплатформенный, есть всё что нужно, разве что шаблонный код на других языках писать проще
Free Pascal же!
Его компилятор может сгенерить для микроконтроллеров?
Может, но список совместимости привести не могу. AVR + ARM точно.
> часто пишу на Go - простой, быстрый (время работы/компиляции), стабильный, кроссплатформенныйКроссплатформенный!???
На данный момент поддержка официального компилятора, разрабатываемого создателями языка, осуществляется для операционных систем FreeBSD, OpenBSD, Linux, macOS, Windows, DragonFly BSD, Plan 9, Solaris, Android, AIX.[8]. Также Go поддерживается набором компиляторов gcc, существует несколько независимых реализаций. И там кросскомпиляция очень легко делается
Уже из-за того, что у го убогая обработка ошибок (ау, где вы, нормальные исключения?) я бы писал на нём разве что если б заплатили вдвое против плюсов. Синтаксис чудовищен, выразительности ноль. Шаблонов нет, вместо ООП - пародия. Я понимаю, что писать и на брейнфаке можно, но зачем?
А дигитал Марс за кем стоит?
"Digital Mars — небольшая американская компания, которой владеет Уолтер Брайт. Компания разрабатывает одноимённые трансляторы для различных языков и платформ."
Эх, русский менталитет. Всё бы нам надсмотрщика, да с кнутом, да чтобы всех в стойло.
D-ям не нужен "большой господин" - им нужны 2-3 толковых головастика, которые им сваяют либы к СУБД, сети и ГУЯм. Всё. Без этих либ "потенциальный дишник" вынужден шляться по говноподелиям, которые вообще к Ди относятся лишь косвенно.
А уже имея _стандартный_ ГУЙ, можно написать крутую IDE не хуже всяких VS.
"Головастик" по ГУЯм на D был, до сих пор собирает средства на открытие сорцов https://www.kickstarter.com/projects/c-smile/open-source-sci.../Да, у него лет 15 как всё готово.
Ой, оно уже переписано с D на C++? Ну, головастику, наверное, виднее...
У меня есть теория, что новый язык, чтобы стать популярным, должен быть е**нутым. Как rust или go, с безумным синтаксисом - ну в смысле отличающимся от всего существующего. Там, у всех int x, а у этих var x int и т.п... Это придает языку идентичность)))) те, кто счастлив с текущим синтаксисом, пишут на существующих языках :-)
Вполне возможно что причиной служит неадекватное авторское/патентное право в "оплоте демократии".
За "просто повторить чей-то синтаксис" (в своих целях) не по-детски прилетает.
Как результат, безумное разнообразие в инструкциях ассемблера для чипов разных производителей.
Или вот нельзя просто так скопировать чей-то удобный/привычный синтаксис для конфигурирования ASIC (Cisco IOS как пример). Точнее, можно. Но только если ты китаец и полностью кладёшь болт / не планируешь продавать в "Эльфиноре".
Подобные перестановки кроватей могут иметь цель. Если все языковые концепции имеют эту цель, то программист может стать продуктивнее, если проникнется всем этим.
"Там, у всех int x, а у этих var x int и т.п..." - вокруг сишного синтаксиса мир не замкнулся, идея указывать тип после переменной стара как паскаль(и авторы гошки по их словам много почерпнули из творений вирта)
"У меня есть теория, что новый язык, чтобы стать популярным, должен быть е**нутым." - для сишарпа правило не работает
> "У меня есть теория, что новый язык, чтобы стать популярным, должен быть
> е**нутым." - для сишарпа правило не работаетНу вообще он довольно популярен, просто в среде виндузятников))
Весь ржач в том, что для Линукса ВООБЩЕ НЕТ ЯЗЫКА!!
Си - старый, неуклюжий, ничего крупного на нём писать нельзя - рискуешь сделать говняный монолит типа Линукс ядра.
С++ - вообще тихий ужас, танцы на костылях и затмевающим разум ситаксисом.
Перл - тоже своеобразная вещь, которую большинство леммингов отвергает только потому, что "на нём нельзя написать ОС" (хотя эти пустобрёхи НИ СТРОЧКИ для ОС в жизни не написали).
А и всё, под Линуксом больше адекватных языков нет! Ну разве что Котлин.Поэтому появление в линуксах .NET Core и C# должно с благодаронстью приниматься как дар божий, что под линуксами появился хоть один адекватный, современный язык.
на расте пишут, а на ди рут.ничего не поделаешь, сборщик мусора с новомодным C++ это черезчур.
D хотя бы адекватный, просто г0вноедам из Гуглов/мозилл не пристало изучать что-то чужое - лучше они свой язык напишут - пусть говённый, зато фирменный!
Всегда считал, что микроконтроллеры плохо скрещиваются со сборщиками мусора. Тем более под RTOS.
Там же цель разработки снизить цену конечного изделия. Контроллер минимально-достаточный и суровая оптимизация всего.
Что-то в мире поменялось кроме стоимости контроллеров?
главным фактором была действительно стоимость в сытые годы, для B2B проектов было легко взять модель классом выше чтобы не тратить время на оптимизации, например у ST взять пин- совместимый stm32l1 вместо l0 на пару центов дороже и иметь в разы больше памяти. Но это все до кризиса, опоздал Дилан Грэм со своей идеей на пару годиков.
>до кризисаЭто про какой кризис, про первый или второй кризис?
Про всегда повторяющийся примерно каждые 10 лет в мире эффективных манагеров.
Под..бну: вообще есть еще статические сборщики мусора (регион бейсед и все такое) - например в Mercury.
Сам по себе D язык довольо интересный, и легко читаемый. Жаль что имеет такое скромное распростраеие.
Ню-ню, максимум что встречал на Дэ - консольный вконтактек.
Выводы делойте сами.// b.
там где он используется - это ты не увидишь как юзер. Поверь - используется еще как
Охотно верю. Почему бы и не поверить?
Как хобби - пишу на D + liballegro рогалик, чтобы Бискуп нервно курил в стороне. После С++, на D писать гораздо приятнее.
Программисты на Ди не выпячивают свои поделия "мы пишем на Ди!!" (как это делают Ржавоклёпы). А так если зайти на сайт Ди, там этих библиотек - тонны и их кто-то писал!
Другой вопрос, что пишут ВОПРЕКИ а не благодаря - вопреки отсутствию хорошей IDE, вопреки плохим либам, вопреки крайне скромной документации.Ди - он перспективен, да разве заставишь гугло-говно-едов вложить деньги в современный язык!!
бросаю Go, перехожу на D, потому что Go недостаточно выразителен.выбирал куда бежать с Go, смотрел в сторону Rust тоже - извечные проблемы с компилятором (у них просто нет своего компилятора) и зависимость от монструозного llvm - отвадили от раста.
+, если сравнивать Rust и D, да, может быть код на Rust и быстрее и безопаснее. но и D можно докрутить с его -betterC, @safe и множетсвом способов работы с памятью и в результате работать безопасно.
ну и на последок: mixin-ы - это киллерфича языка, расту такое не снилось.
что же касается сравнения с Go, то в D не такая удобная работа с тредами/рутинами - наверное, это единственное, в чём D проигрывает Go как язык.
но D, можно сказать, ещё развивается и может ещё повзаимствовать фичи других языков, мне так думается. а вот rust и go - такими как есть и останутся.
> выбирал куда бежать с Go, смотрел в сторону Rust тоже - извечные проблемы с компилятором (у них просто нет своего компилятора) и зависимость от монструозного llvm - отвадили от раста.Тут либо GCC, либо LLVM. Можно оба. И оба хороши. Повторить такое снова - вряд ли кто справится с этим. Компилятор Go по сравнению с ними - игрушка.
> +, если сравнивать Rust и D, да, может быть код на Rust и быстрее и безопаснее. но и D можно докрутить с его -betterC, @safe и множетсвом способов работы с памятью и в результате работать безопасно.
Лишние приседания с этим D. Rust дает программисту модель, программист понимает ее суть и работает. В D я ожидаю кучу моделей, противоречащих друг другу.
> ну и на последок: mixin-ы - это киллерфича языка, расту такое не снилось.
Писать код в стрингах, ну такое..
>> донна_роза_дальвадрорец
> Писать код в стрингах, ну такое..Да норм, если Донна Роза действительно Донна Роза, а не (была в прошлом) Дон Педро ...
> бросаю Go, перехожу на D, потому что Go недостаточно выразителен.
> выбирал куда бежать с Go, смотрел в сторону Rust тоже - извечные
> проблемы с компилятором (у них просто нет своего компилятора) и зависимость
> от монструозного llvm - отвадили от раста.Ничего, что сабж "It can be compiled with either GDC or LDC and it is DUB compatible." (т.е. GCC или LLVM бэкэнды)?
> в D не такая удобная работа с тредами/рутинамиЕму это и не надо. Далеко не все программы можно/нужно параллелить. Там, где простой 10-строчный код сделает инициализацию, любители "рутин" получат 5 раз граблями!
Опасно давать "лёгкие рутины" тем, кто вчера научился программировать, а сегодня полез в мэйнстрим - смузихлёбам там не место.
Зачем это на cortex-m? для любителей что-нибудь поковырять от делать нечего уже есть схожие проекты на python и dotnet.В проф деятельности бессмысленно.
Пестон вообще там не нужен, а .NET - там большой вопрос с отлаженностью. Да и нафиг там упёрлись "псевдокоды"?! Там нужен нэйтив КАК У ДИ.