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


135

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

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

+10

Недавно анонсированный на форумах [dlang] (http://forum.dlang.org/thread/[email protected]), Facebook теперь использует D на производстве. 11 окт. 132013-10-11 13:27:10

  0

Нет ничего большого, потому что сам D очень плохо подходит для создания больших сложных приложений. Он отлично выглядит на поверхности, но как только вы пытаетесь сделать что-либо коммерческое, все трещины начинают проявляться, и мальчики-фанаты очень мало желают создать надлежащее структурированное программное обеспечение для коммерческой аудитории (я уверен, что деньги имеют много общего с это, но и лидерство и организация). Одно дело - написать утилиту командной строки или алгоритм строки 5k, но совершенно иначе, чтобы создать очень сложное бизнес-приложение, которое включает в себя несколько областей, таких как gui, audio и т. Д. 13 сен. 172017-09-13 08:33:17

  0

Уверен, что вы можете что-то взломать, но это не коммерческий. Бизнес не собирается вкладывать свое время/деньги в что-то настолько шелушащееся. Нет надлежащей среды IDE, и каждый из тех, что я использовал, только что заставил меня хотеть что-то вбить. Это примерно в 10 раз медленнее, чтобы правильно отлаживать приложения, потому что сообщения об ошибках ужасны, отладчик не работает или не работает против вас, современные функции, которые мы ожидаем, несуществующие или плохие, а библиотека fubar'ed, потому что у нее нет логической структуры (вещи перемещаются «произвольно», странные схемы именования типа «chomp» и «detabber» и т. д. 13 сен. 172017-09-13 08:36:19

  0

I угадайте, что это инь/ян. Некоторые вещи в D удивительны, и ничто не приближается (пока) ... но с другой стороны, это не так, потому что они слишком сильны. Один только находит эти вещи, когда они на самом деле ставят время писать реальные приложения, а не делать тривиальные или алгоритмические вещи. Пока организация D не получит это дерьмо (сколько им понадобится? 10, 20 лет?), реальные компании не собираются вкладывать в нее деньги. хочет потратить 10 раз на отладку приложения, поскольку IDE не в состоянии понюхать. 13 сен. 172017-09-13 08:39:32

  0

@Stretto, что вы имеете в виду? https://dlang.org/orgs-using-d.html 13 ноя. 172017-11-13 19:19:00

  0

Также @Stretto ваш недостаток знаний не означает, что язык плохой. Я никогда не сталкивался с проблемами, связанными с настройкой рабочей среды в D, и я использую ее для коммерческой работы. 13 ноя. 172017-11-13 19:20:41

76

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

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

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

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

+10

Я разрабатываю приложения клиент/сервер исключительно в D с некоторыми привязками к библиотекам C, но только для части GUI клиента для одной из наиболее популярных услуг в Нидерландах.Хотя я должен был убедить своего босса, но он, похоже, не сожалеет. ;-) - D особенно сияет здесь, потому что стандартная библиотека обеспечивает реализацию сокетов BSD, даже в Windows. Один раз, разворачивать везде, очень приятно. 29 май. 112011-05-29 15:02:01

  0

@JesseBrands Используете ли вы фобо или танго? 14 сен. 142014-09-14 11:44:05

  0

@qed Я использовал фобо. 16 ноя. 142014-11-16 15:05:38


4

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

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

+3

На самом деле невозможно найти D на этом веб-сайте прямо сейчас. Поиск «d» или «d-программирования» говорит «без хитов», а поиск в тегах для «d» перечисляет теги тегов, которые содержат «d», но не «d». Так что это могло бы иметь к этому какое-то отношение. 17 сен. 082008-09-17 09:31:44

+20

Найдите [d] в окне поиска, чтобы получить поиск по тегам. 03 ноя. 082008-11-03 18:06:32


12

Ну, я написал несколько исследовательских работ в 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.


26

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

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


28

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

+3

Могу я спросить? Какую структуру или библиотеку вы используете? 24 янв. 142014-01-24 01:55:06


19

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

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

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

  0

Категорически похожий мой проект, также в D http://www.dsource.org/projects/scrapple/browser/trunk/dparser/dparse.d 16 сен. 082008-09-16 18:52:46


86

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

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

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

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

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

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

+2

Что такое объект монитора? Кажется, я не могу найти результаты для этого. 25 фев. 142014-02-25 15:50:54

+2

Я очень люблю язык D по сравнению с C++. Более быстрое время компиляции, возможность использования меньшего кода, отсутствие файлов заголовков и т. Д. Однако проблема заключается в том, что ей не хватает тех, кто делает серьезную работу с графическим интерфейсом. Конечно, я могу использовать GtkD, но попытаюсь нарисовать серию модных диаграмм. Я вижу многообещающую работу по интеграции с Chromium для графического интерфейса, но этот проект в значительной степени недокументирован и нуждается в большем количестве игроков в этом пространстве. Я надеюсь, что изменения, но это то, что я вижу здесь в сентябре 2015 года. 23 сен. 152015-09-23 18:46:49

  0

Монитор объекта - это bullsh **. Он блокирует весь метод, это действительно очень расточительно ... 29 ноя. 152015-11-29 21:41:40

  0

@Volomike Я также смотрел на D в последнее время, и аналогичным образом было сложно сделать с ним графические интерфейсные инструменты. В настоящее время у меня нет каких-либо дефакто-решений для создания элегантных GUI-инструментов с D, и это то, что я могу начать решать в ближайшее время. 14 мар. 162016-03-14 20:31:03


7

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

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

  0

Не могли бы вы уточнить, какие игры были созданы с помощью D? 12 янв. 172017-01-12 02:13:45


14

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


32

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

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

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

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

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

  0

Не могли бы вы назвать организации? Было бы неплохо узнать больше об этих проектах. 12 янв. 172017-01-12 02:03:42


6

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

  0

Является ли исходный код или какая-либо информация о том, что вы сделали? 12 янв. 172017-01-12 02:15:21


6

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

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

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


17

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


7

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

Все вместе более 5 тыс. Строк кода, написанных с помощью D 1.x и библиотеки Фобоса.

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


6

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

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

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

  0

Возможно ли увидеть исходный код того, что вы создали с помощью D? 12 янв. 172017-01-12 02:21:19

  0

Прошло некоторое время с этого комментария! В настоящее время я кодирую в Rust и Haskell, но у меня есть несколько проектов. У меня есть кое-что на моем github, но я не думаю, что это стоит того, чтобы его копать. Этот комментарий 4 года! Я должен посмотреть на текущий статус всего этого ... 13 янв. 172017-01-13 09:05:51


7

Похоже, что Remedy Games имеет большую кодовую базу D2 для своих игр (см. Using D Alongside a Game Engine от Manu Evans - DConf 2013).

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


22

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

  0

Релевантная дискуссия: http://www.reddit.com/r/programming/comments/1o7p2f/facebook_is_using_d_in_production_starting_today/ и https://news.ycombinator.com/item ? id = 6532322 12 окт. 132013-10-12 17:27:54


-1

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

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

  0

Исправьте ссылку. 12 янв. 172017-01-12 01:53:26


0

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

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


2

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

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

D wiki также перечень организаций, но это устаревшее.

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

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