Кто-нибудь использует D для реальных приложений? Если да, то для чего вы его используете? Кажется, я не могу найти в сети ничего большого, написанного на D.
Несмотря на отсутствие известных крупных пользователей, D кажется мне очень многообещающим языком, и, согласно TIOBE , он довольно популярен.
d
popularity
wvdschel
источник
источник
Ответы:
Я использую D для своих исследований в области компьютерной графики. Я и другие опубликовали статьи в наших областях, основанные на работе, проделанной с использованием D. Я думаю, что он определенно готов для использования в малых и средних исследовательских проектах, где важна производительность. Это хорошо подходит для исследовательской работы, потому что часто вы все равно начинаете с нуля, поэтому у вас не так много унаследованного кода, с которым нужно беспокоиться об интеграции.
Еще одна популярная область использования - это веб-службы. Надеюсь, кто-то еще может прокомментировать, кто находится в этом пространстве, но я тоже думаю, что идея состоит в том, что производительность часто действительно имеет значение, поэтому вам нужен скомпилированный язык. Службы часто представляют собой довольно маленькие, автономные процессы, поэтому взаимодействие с большим количеством устаревшего кода C ++ на самом деле не является необходимым или полезным. Таким образом, D может войти в дверь.
Я думаю, что D продолжит привлекать рядовых последователей таким образом - в небольших проектах, которые по какой-либо причине могут позволить себе отказаться от наследия C ++, чтобы получить язык программирования, который гораздо приятнее использовать и, возможно, более продуктивен.
Но я подозреваю, что до тех пор, пока не наберется огромное количество простых пользователей, крупные корпоративные пользователи не будут иметь большого препятствия.
источник
Я занимаюсь биоинформатикой в D. Для меня ключевым моментом в D является то, что он требует очень взвешенного подхода к компромиссам и признает принцип убывающей отдачи.
В отличие от C ++, который строго придерживается принципа нулевых накладных расходов, D позволяет использовать функции, которые могут иметь небольшие затраты на производительность / пространство, если они делают язык намного более удобным для использования. К ним относятся сборка мусора, объект монитора для каждого класса, информация о типе среды выполнения и т. Д.
В отличие от Ruby, Python, PHP и т. Д., D пытается быть почти таким же быстрым, как C, даже если он менее динамичен и немного сложнее для программирования, чем языки сценариев.
В результате получается язык, который является оптимальным, когда время разработки и время выполнения имеют примерно одинаковое значение, что в моей области является большей частью.
Точно так же D использует очень уравновешенный подход к безопасности и гибкости. Предполагается, что программисты в основном знают, что делают, но делают ошибки.
В отличие от C и C ++, он предполагает, что вы не хотите использовать указатели, небезопасные преобразования, ручное управление памятью и т. Д. Везде в своем коде, потому что они подвержены ошибкам, и предполагает, что вы не хотите просеивать несколько сообщения об ошибках шаблона -page, когда вы облажаетесь только с использованием массивов с изменяемым размером.
В отличие от Java и других языков рабства и дисциплины, D предполагает, что иногда указатели, небезопасные преобразования, ручное управление памятью и т. Д. Являются необходимым злом, и предполагает, что вы достаточно умны, чтобы обрабатывать настоящие шаблоны, перегрузку операторов и т. Д. Без написания запутанный код. Это также предполагает, что вы можете облажаться и получить доступ к массиву вне пределов, но что программист лучше всего знает, какой компромисс между безопасностью и скоростью в той или иной ситуации. Таким образом, проверка границ массивов определяется переключателем компилятора.
источник
Я знаю одну небольшую компанию, которая выпустила на рынок почтовый сервер. У них было как минимум 2 человека, которые работали над проектом полный рабочий день.
Кроме того, у крупного игрока в ИТ-бизнесе есть несколько сотрудников, использующих D в более крупных внутренних проектах.
Кроме того, я знаю одну компанию, ищущую венчурное финансирование, несколько (как минимум 4) сотрудников в небольших компаниях, использующих D частично или полностью, и как минимум пару (включая меня), активно ищущих возможности на рынке консалтинга.
Я, вероятно, упустил некоторые из них, о которых я должен был знать, и, вероятно, некоторые, о которых я не слышал, но они все еще существуют, так как вышеперечисленное более или менее относится к тем, кого я знаю сам через сообщество.
Небольшой процент моего текущего дохода поступает от Д.
источник
Я использую D для веб-разработки, и он оказался намного более продуктивным по сравнению с C / C ++. Конечно, существует множество фреймворков на основе ruby / php / python. Но если вы хотите разработать что-то уникальное, которое также должно быть таким же быстрым, как C, и почти таким же простым, как программирование, как вы это делаете на многих языках сценариев, тогда D - хороший выбор.
источник
Я использую D для оборудования в тестовой среде цикла (HIL). Это для тестирования программного обеспечения в автомобильной сфере. Здесь можно использовать D, потому что как язык системного программирования его можно использовать в программах реального времени (обработчики IRQ в расширении реального времени Linux RTAI-LXRT).
С продолжающимся портированием SWT / JFace я планирую делать больше и работать в D, что я делал бы на Java раньше.
источник
Facebook объявил, что с сегодняшнего дня они используют его в производстве.
источник
Я использую D в исследовании перевода временного кода компиляции. Расширенные шаблоны в сочетании с кортежами и миксинами значительно упрощают трансляцию кода и позволяют выполнять трансляцию кода во время компиляции без использования отдельного инструмента.
Есть несколько примеров, когда физики использовали D для улучшения своих программ метапрограммированием на D.
видео - Обсуждение на конференции, не удалось найти исходный сайт для использования физиками.
источник
Вся наша сетевая инфраструктура (с высоким трафиком) основана только на D1 и танго. Мы молодая начинающая компания в Берлине: sociantic.com
источник
Моя текущая рабочая задача - это система для перевода C # на D. Это часть коммерческого проекта по разработке системы программного обеспечения.
источник
Что ж, я написал пару исследовательских работ на D, как и другие.
http://www.digitalmars.com/pnews/read.php?server=news.digitalmars.com&group=digitalmars.D.announce&artnum=13337
http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D.announce&article_id=9466 .
источник
Похоже, что Remedy Games имеет большую кодовую базу D2 для своих игр (см. Использование D вместе с игровым движком Ману Эванса - DConf 2013).
Это большая компания, и знание того, что большая компания использует D, очень хорошо.
источник
Многие игры, выпущенные ABA Games , написаны на D 1.x, хотя я полагаю, что консольные порты пришлось переписать на C ++.
Я написал довольно много прототипов игр на D, но я не уверен, можно ли это назвать «реальным миром», поскольку я написал их для себя и никогда не выпускал ни одного из них.
источник
Я написал (и все еще поддерживаю и разрабатываю) программное обеспечение для преобразования протоколов тестеров с различных станций тестирования оборудования в стандартизованный выходной формат для отслеживания и тому подобного.
В общей сложности более 5 тысяч строк кода, написанного с помощью D 1.x и библиотеки Phobos.
D очень легко выучить, и, не обращая внимания на некоторые подводные камни (в библиотеке Phobos), программировать очень приятно.
источник
Я использовал D для своего исследовательского проекта по разработке алгоритма глобальной оптимизации. Я применил его к задаче обучения нейронных сетей. Вам решать, хотите ли вы называть этот мир «реальным миром».
источник
Я написал сценарий оболочки, который собирает DGCC на OS X
http://github.com/davecheney/make-gdc-apple/tree/master
Я бы хотел услышать от других программистов DMD
источник
Использую D2, второй стандарт версии. Я писал приложения в реальном времени (например, 3D-движок).
С каждым днем язык становится все более и более мощным. D очень прагматичен, и все встроенные функции, особенно парадигма метапрограммирования, на мой взгляд, значительно превосходит C ++. Синтаксис более четкий, вы можете использовать силу функционального программирования с помощью таких функций, как фильтр или сокращение , и одной из наиболее важных функций: вы можете использовать все библиотеки C.
Определенно мой любимый язык, и я почти уверен, что это будет широко используемый язык.
источник
Полагаю, мы можем кое-что прочесть в отсутствии немедленных ответов на этот вопрос, а именно в том, что не многие / ни один из активных ответчиков stackoverflow использует D. Я также был немного удивлен уровнем его рейтинга в листинге TIOBE, который вы ссылка на.
При этом Уолтер Брайт работает над языком уже довольно много лет, и я думаю, что у него есть немало «последователей», которые помнят, как хорошо он работал с компилятором Zortech C ++ еще в 90-х. Отмечу также, что сейчас язык, похоже, склоняется в функциональном направлении.
источник
На официальном сайте D перечислены организации, которые в настоящее время используют D.
The D вики также есть список организаций, но он устарел.
Просто внимательно следите за разговорами DConf .
Почти все люди там работают в какой-то компании, а на работе используют D.
источник
Я начинаю проект по переписыванию некоторых наших внутренних инструментов с Perl на D. Я выбрал D, потому что мне очень нравится философия дизайна этого языка. Я занимаюсь программированием в течение длительного времени и использовал множество языков, от ассемблеров до высокоуровневых (в основном C) до языков сценариев (в основном Perl), и D - это первый язык, который я с энтузиазмом изучал за многие годы .
Я решил перейти на компилируемый язык по одной основной причине - безопасность. Функционально Perl достаточно хорошо работает с набором инструментов, над которым я работаю, но он небезопасен - любой, кто может запустить сценарий, также может читать, копировать и создавать свою собственную модифицированную версию инструмента. (И они это делают.) Я знаю, что есть обходные способы обойти эту проблему (вроде), но, честно говоря, у меня не хватает часов в день, чтобы справиться со всем этим и все же выполнить свою основную работу.
источник
Я запустил рендерер с трассировкой лучей в D с помощью ldmd2.
http://palaes.rudanium.org/SubSpace/render.php
источник