Группа разработчиков LDC закрыла ушедший год версией 1.19.0 компилятора D, использующего LLVM, а основная команда начала новый год версией 2.090.0 эталонного компилятора DMD. И если вы еще не слышали, не так давно появились важные новости о D-компиляторе на базе GCC, GDC. Наверстываем!
Читать полностью »
Рубрика «D» - 2
Последние версии компиляторов D
2020-01-10 в 10:17, admin, рубрики: D, dlang, блог, Программирование, системное программированиеМой опыт разработки на языке Nim
2019-12-27 в 15:37, admin, рубрики: C, c++, D, nim, python, Программирование
Привет!
Уже довольно давно я пишу свой игровой фреймворк — такой pet project для души. А так как для души нужно выбирать что-то, что нравится (а в данном случае — на чём нравится писать), то выбор мой пал на nim. В этой статье я хочу поговорить именно про nim, про его особенности, плюсы и минусы, а тема геймдева лишь задаёт контекст моего опыта — какие задачи я решал, какие трудности возникли.
Давным-давно, когда трава была зеленее, а небо чище, я встретил nim. Хотя нет, не так. Давным-давно я хотел заниматься разработкой игр, чтобы написать свою Самую Классную Игру — думаю, многие проходили через это. В те времена Unity и Unreal Engine только-только стали появляться на слуху и, вроде как, ещё не были бесплатными. Я не стал их использовать, не столько из-за жадности, сколько из-за желания написать всё самому, создать игровой мир полность с нуля, с самого первого нулевого байта. Да, долго, да, сложно, зато сам процесс приносит удовольствие — а что ещё для счастья надо?
Мое видение будущего D
2019-10-17 в 14:47, admin, рубрики: D, dlang, блог, Программирование, системное программирование
Когда Андрей Александреску покинул пост заместителя руководителя отдела языка программирования D, меня попросили взять на себя эту роль в будущем. Нет необходимости говорить об этом, но я все равно скажу, что эта шапка на меня великовата.
Я все еще вхожу в свою новую роль в обществе и выясняю, как я хочу действовать и что это вообще такое. Этот процесс происходит не в вакууме, так как Уолтер тоже с нами.
На форумах D меня попросили написать в блоге о моих «мечтах и дальнейших шагах для D», так вот результат. Что бы я хотел, чтобы стало с D в ближайшем будущем:
Читать полностью »
Розеттский код: измеряем длину кода в огромном количестве языков программирования, изучаем близость языков между собой
2019-10-15 в 12:07, admin, рубрики: autohotkey, C, c++, clojure, common lisp, D, Factor, Go, haskell, J, java, javascript, Julia, kotlin, Lua, mathematica, perl, perl 6, Phix, PicoLisp, python, Racket, REXX, ring, ruby, scala, Sidef, tcl, wolfram language, wolfram mathematica, Алгоритмы, Блог компании Wolfram Research, Занимательные задачки, изучение языков, Программирование, языки программирования
Скачать файл с кодом и данные можно в оригинале поста в моем блоге
Существует очень интересный проект — «Розеттский Код». Их цель — «представить решение одинаковых задач на максимально возможном числе различных языков программирования для того, чтобы продемонстрировать их общие места и различия и помочь человеку обладающему знаниями по решению проблемы одним методом узнать другой».
Этот ресурс предоставляет уникальную возможность сравнить коды программ на разных языках, этим мы и займемся в этой статье. Она является полной переработкой и доработкой статьи Джона Маклуна "Code Length Measured in 14 Languages".
Читать полностью »
Модели дженериков и метапрограммирования: Go, Rust, Swift, D и другие
2019-07-25 в 17:41, admin, рубрики: D, generics, Go, Rust, swift, Анализ и проектирование систем, Блог компании Mail.Ru Group, никто не читает теги, Программирование
В некоторых сферах программирования нормально хотеть написать такую структуру данных или алгоритм, которые могут работать с элементами разных типов. Например, список дженериков или алгоритм сортировки, которому нужна только функция сравнения. В разных языках предложены всевозможные способы решения этой задачи: от простого указания программистам на подходящие общие функции (С, Go) до таких мощных систем дженериков, что они стали полными по Тьюрингу (Rust, C++). В этой статье я расскажу о системах дженериков из разных языков и их реализации. Начну с решения задачи в языках без подобной системы (вроде С), а затем покажу, как постепенное добавление расширений приводит к системам из других языков.
Читать полностью »
Какой язык — D, Go или Rust имеет лучшие перспективы заменить C и почему?
2019-07-24 в 9:16, admin, рубрики: D, dlang, Go, Rust, Программирование, системное программирование, флейм и провокацияНесмотря на мой статус и очевидную предвзятость как одного из создателей D, я постараюсь отвечать откровенно; Я следовал путям Go и Rust, и я абсолютно точно знаю, где стирают грязное белье в D. Я поощряю людей на аналогичных позициях в сообществах Rust и Go чтобы и они делились своим мнением. Так вот.
Для начала, где то в вопросе должен фигурировать и C++. Должен ли он быть заменен вместе с С, или же он один из кандидатов на замещение С, но в любом случае С++ это ключевой элемент уравнения. Это ближайший язык к С и очевидный шаг вперед. Учитывая возраст С++, я в дальнейшем полагаю в этом вопросе что С++ вместе с С является целью для замены.
Читать полностью »
Владение и заимствование в D
2019-07-19 в 14:52, admin, рубрики: D, dlang, Программирование, системное программирование
Практически все нетривиальные программы выделяют и используют динамическую память. Делать это корректно становится все более важным, поскольку программы становятся все более сложными, а ошибки еще более дорогостоящими.
Типичными проблемами являются:
- утечки памяти (не освобождение более не используемой памяти)
- двойное освобождение (высвобождение памяти более одного раза)
- использование после освобождения (использование указателя на память, ранее уже освобождённую)
Задача заключается в том, чтобы отслеживать указатели, ответственные за освобождение памяти (т.е.владеющие памятью), и отличать указатели, которые просто указывают на участок памяти, контролировать где они находятся, и которые из них активны (в области видимости).
Читать полностью »
Категории вместо директорий, или Семантическая файловая система для Linux
2019-06-24 в 6:50, admin, рубрики: D, linux, свободное по, Софт, тэги, файловые системыКлассификация данных сама по себе интересная тема для исследований. Я люблю коллекционировать информацию, кажущуюся нужной, и всегда пытался делать логичные иерархии директорий для своих файлов, и однажды во сне я увидел красивую и удобную программу для назначения тэгов файлам, и решил что дальше так жить нельзя.
«Почему надо фейлиться быстро»: Стив Коттон из Bungie о креативном процессе в компании
2019-01-11 в 17:16, admin, рубрики: activision, agile, agile development, blizzard, bungie, D, destiny, destiny 2, forsaken, Блог компании Pixonic, геймдев, проектирование, Проектирование и рефакторинг, прототипирование, разработка, управление проектами, управление разработкойСегодня стало известно о разделении Activision и Bungie — а у нас на руках как раз оказался материал с подборкой принципов креативного директора Bungie Стивена Коттона в разработке, отложенный до лучших времен, а перевести решили как раз сейчас. За этот материал отдельное спасибо нашему продюсеру Анатолию Шестову, который поговорил со Стивом в офисе компании во время PAX West 2018. Поехали.
Как на D писать под ARM
2018-11-06 в 19:45, admin, рубрики: D, dlang, docker, LDC, LLVM, rasberry pi, vibe, web, Разработка для интернета вещей, Разработка на Raspberry PiДоброго времени суток!
Сегодня я хочу поделиться опытом разработки под миникомпьютеры на linux (RPI, BBB и другие) на языке программирования D. Под катом полная инструкция о том как сделать это без боли. Ну или почти… =)


