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

StackOverflow https://stackoverflow.com/questions/56315

  •  09-06-2019
  •  | 
  •  

Вопрос

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

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

Это было полезно?

Решение

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

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

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

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

Другие советы

Я занимаюсь биоинформатикой в ​​Д.Для меня главное в 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.

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

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

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

видео - Доклад конференции, не удалось найти исходный сайт для использования физиками.

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

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

Кажется, что Лечебные игры имеет большую кодовую базу D2 для своих игр (см. Использование D вместе с игровым движком Ману Эванс – DConf 2013).

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

Многие игры, выпущенные Игры АБА написаны на D 1.x, хотя я полагаю, что консольные порты пришлось переписать на C++.

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

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

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

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

Я использовал 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.

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

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top