D Язык программирования в реальном мире?

Кто-нибудь использует D для реальных приложений? Если да, то для чего вы его используете? Я не могу найти что-то большое в Интернете, написанное на D.

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

20 ответов

Решение

Я использую D для своих исследований в области компьютерной графики. Мне и другим были опубликованы статьи в наших областях, основанные на работе, выполненной с использованием D. Я думаю, что она определенно готова для использования в малых и средних исследовательских проектах, где важна эффективность. Это хорошо подходит для исследовательской работы, потому что часто вы начинаете с нуля, так что вам не нужно много кода для интеграции.

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

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

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

Я занимаюсь биоинформатикой в ​​D. Для меня ключевым моментом в D является то, что он использует очень взвешенный подход к компромиссам и признает принцип уменьшения прибыли.

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

В отличие от Ruby, Python, PHP и т. Д. D старается работать почти так же быстро, как C, даже если он менее динамичен и немного сложнее в программировании, чем языки сценариев.
В результате получается язык, который является оптимальным, когда время разработки и время выполнения имеют одинаковое значение, что в моей области составляет большую часть времени.

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

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

В отличие от Java и других языков связывания и дисциплины, D предполагает, что иногда указатели, небезопасные преобразования, ручное управление памятью и т. Д. Являются необходимым злом, и предполагает, что вы достаточно умны, чтобы обрабатывать реальные шаблоны, перегрузки операторов и т. Д. Без написания запутанный код. Это также предполагает, что вы можете испортить и получить доступ к массиву за пределами границ, но программисту лучше всего известно, какой компромисс должен быть между безопасностью и скоростью в любой конкретной ситуации. Поэтому, проверяются ли массивы на границы, просто определяется переключателем компилятора.

Я знаю одну маленькую компанию, которая отправила на рынок продукт почтового сервера. У них было как минимум 2 человека, работающих полный рабочий день над проектом.

Кроме того, у крупного игрока в ИТ-бизнесе несколько сотрудников используют D в крупных внутренних проектах.

Кроме того, я знаю одну компанию, которая ищет венчурное финансирование, несколько (по крайней мере, 4) сотрудников в небольших компаниях, использующих D на условиях частичной или полной занятости, и, по крайней мере, пару (включая меня), активно ищущих возможности на рынке консалтинга.

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

Небольшой процент моего текущего дохода исходит от 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 и танго. Мы молодая стартап-компания в Берлине: https://www.sociomantic.com/

Моя текущая рабочая задача - система перевода C# на D. Это часть коммерческого проекта по разработке программной системы.

Многие игры, выпущенные ABA Games, написаны на D 1.x, хотя я думаю, что консольные порты должны были быть переписаны на C++.

Я написал довольно много игровых прототипов на D, но я не уверен, что это считается "реальным миром", так как я написал их для себя и никогда не выпускал ни одного из них.

Я написал (и продолжаю поддерживать и разрабатывать) программное обеспечение для преобразования протоколов тестирования с различных станций тестирования оборудования в стандартизированный формат вывода для отслеживаемости и тому подобного.

Все вместе более 5 тысяч строк кода, написанного на D 1.x и библиотеке Фобоса.

D так легко освоить, и игнорирование некоторых ловушек (в библиотеке Фобоса) - настоящая радость для программирования.

Похоже, что Remedy Games имеет большую кодовую базу D2 для своих игр (см. " Использование D вместе с игровым движком" от Manu Evans - DConf 2013).

Они большая компания, зная, что большая компания использует D, это очень хорошо.

Я использую D2, второй стандарт версии. Я писал приложения в реальном времени (например, 3D-движок).

Язык становится все более и более сильным с каждым днем. D очень прагматичен, и, по моему мнению, все встроенные функции, особенно парадигма метапрограммирования, значительно превосходят C++. Синтаксис более понятен, вы можете использовать силу функционального программирования с помощью таких функций, как фильтр или уменьшение, и одну из наиболее важных функций: вы можете использовать все библиотеки C.

Определенно мой любимый язык, и я почти уверен, что это будет распространенный используемый язык.

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

Я написал скрипт-обертку, который собирает DGCC на OS X

http://github.com/davecheney/make-gdc-apple/tree/master

Я хотел бы услышать от других программистов DMD там

Я полагаю, что мы можем что-то понять из-за отсутствия немедленных ответов на этот вопрос, и это то, что не многие / какие-либо из активных респондентов стекового потока используют D. Я также был немного удивлен уровнем его ранжирования в списке TIOBE, который вы ссылка на.

Сказав это, Уолтер Брайт работает над языком уже много лет, и я думаю, что у него немало "последователей", которые помнят, какую хорошую работу он проделал с компилятором Zortech C++ еще в 90-х годах. Я также отмечаю, что язык сейчас склоняется к функциональному направлению.

Официальный сайт D перечисляет организации, которые в настоящее время используют D.

http://dlang.org/orgs-using-d.html

D wiki также предоставляет список организаций, но он устарел.

Просто внимательно наблюдайте за разговорами с DConf.

Почти все люди там работают в какой-то компании, и они используют D на работе.

Я начинаю проект по переписыванию некоторых наших внутренних инструментов с Perl на D. Я выбрал D, потому что я довольно взволнован философией дизайна языка. Я долгое время программировал и использовал много языков, от ассемблеров до высокоуровневых (в основном C) и языков сценариев (в основном Perl), и D - первый язык, который я увлекся изучением за многие годы,

Я решил перейти на скомпилированный язык по одной основной причине - безопасности. Функционально Perl работает достаточно хорошо для набора инструментов, над которым я работаю, но он небезопасен - любой, кто может запустить скрипт, также может читать, копировать и создавать свою собственную модифицированную версию инструмента. (И они делают.) Я знаю, что есть обходные методы, чтобы обойти эту проблему (вроде), но, честно говоря, у меня не хватает часов в день, чтобы справиться со всем этим и все же выполнить свою основную работу.

Я запустил рендеринг с трассировкой лучей в D с помощью ldmd2.

http://palaes.rudanium.org/SubSpace/render.php

Другие вопросы по тегам