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

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

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

Ответ 1

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

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

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

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

Ответ 2

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

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

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

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

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

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

Ответ 3

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

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

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

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

Небольшой процент моего текущего дохода исходит от D.

Ответ 4

Я использую D для веб-разработки, и он оказался намного более продуктивным по сравнению с C/С++. Конечно, существует множество фреймворков на основе ruby ​​/php/python. Но когда вы хотите создать нечто уникальное, которое также должно быть таким же быстрым, как C, и почти так же легко, как и программировать, как и во многих языках script, тогда D является хорошим выбором.

Ответ 5

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

С текущим портом SWT/JFace я планирую сделать больше и работать в D, который раньше был бы на Java.

Ответ 6

Facebook объявили, что используют его в производстве на сегодняшний день.

Ответ 7

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

Есть несколько примеров, когда физики используют D для улучшения своих программ с мета-программированием в D.

video - Обсуждение конференции не могло найти источник использования физика.

Ответ 8

Вся наша (высокоскоростная) сетевая инфраструктура основана только на D1 и танго. Мы - молодая стартап-компания в Берлине: sociomantic.com

Ответ 9

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

Ответ 11

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

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

Ответ 12

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

Все вместе над 5k строками кода, написанными с D 1.x и библиотекой Phobos.

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

Ответ 13

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

Ответ 15

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

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

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

Ответ 17

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

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

Ответ 18

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

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

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

Просто внимательно посмотрите DConf.

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

Ответ 19

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

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