D Мова програмування в реальному світі? [зачинено]


138

Хтось там використовує D для додатків у реальному світі? Якщо так, для чого ви це використовуєте? Я не можу знайти щось велике в Інтернеті, написане Д.

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


11
Нещодавно оголошені на форумах dlang , Facebook зараз використовує D у виробництві.
sghill

Немає нічого великого, оскільки сам D досить бідний для створення великих складних додатків. Це виглядає чудово на поверхні, але коли ви намагаєтесь зробити що-небудь комерційне, усі тріщини починають показуватися, і хлопці-фанати мають дуже мало бажання створити належне структуроване програмне забезпечення для комерційної аудиторії (я впевнений, що гроші мають багато спільного з це, але це робить лідерство та організація). Одне з них - написати утиліту командного рядка або алгоритм 5-рядкового рядка, але зовсім інше, щоб створити дуже складний бізнес-додаток, який включає в себе декілька областей, таких як gui, аудіо тощо.
Stretto

Звичайно, ви можете зламати щось разом, але це не є комерційним. Бізнес не збирається вкладати свій час / гроші в те, що є настільки хитким. Немає належного IDE, і кожен з них, який я використав, майже змусив мене щось пограти. Приблизно 10 разів повільніше правильно налагоджувати програми, оскільки повідомлення про помилки жахливі, налагоджувач не працює і не працює проти вас, сучасних можливостей, яких ми очікуємо, не існує або є бідними, а бібліотека є фубардизованою, оскільки вона не має логічної структури (речі переміщуються "довільно", дивні схеми іменування на кшталт "chomp" і "detabber" тощо)
Stretto

Я здогадуюсь, що це інь / ян. Деякі речі в D дивовижні, і нічого не наближається (все-таки) ... але з іншого боку, справа в цьому не вдається і досить сильна. Ці речі з’ясовуються лише тоді, коли вони фактично приділяють час для написання реальних додатків, а не тривіальних чи алгоритмічних речей. До тих пір, поки організація D не змусить їх лайнути разом (скільки часу їм знадобиться? 10, 20 років?), Реальний бізнес не збирається інвестувати в це. Час - це гроші, і жоден бізнес не хоче витрачати десять разів на налагодження програми, тому що IDE не піддається.
Стретто

@Stretto, що ти маєш на увазі? dlang.org/orgs-using-d.html
Bauss

Відповіді:


77

Я використовую D для своїх науково-дослідних робіт у галузі комп’ютерної графіки. У мене та інших були опубліковані роботи в наших областях на основі роботи, виконаної за допомогою D. Я думаю, що він, безумовно, готовий до використання в невеликих та середніх науково-дослідних проектах, де результативність має значення. Це приємно підходить для науково-дослідницької роботи, тому що часто ви все одно починаєте з нуля, тому у вас немає багато застарілого коду, з яким можна було б інтегруватися.

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

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

Але поки не існує величезної кількості низових користувачів, я не заважаю великим корпоративним користувачам, яких я підозрюю.


10
Я розробляю клієнтські / серверні програми виключно в D з деякими прив’язками до бібліотек C, але тільки для GUI-частини клієнта для однієї з найпопулярніших сервісів у Нідерландах. Хоча мені довелося переконати свого начальника, але він, здається, не шкодує. ;-) - D особливо світить тут, оскільки стандартна бібліотека забезпечує реалізацію BSD-сокетів навіть у Windows. Пишіть-раз, розгортайте скрізь, дуже приємно.
Бренди Jesse

@JesseBrands Ви використовуєте фобос або танго?
qed

88

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

На відміну від C ++, який суворо дотримується принципу нульових накладних витрат, D дозволяє функції, які можуть мати невелику вартість продуктивності / простору, якщо вони роблять мову набагато більш зручною. Сюди входять збирання сміття, об'єкт монітора для кожного класу, інформація про тип виконання та ін.

На відміну від Ruby, Python, PHP тощо, D намагається бути настільки ж швидким, як і C, навіть якщо він менш динамічний і трохи складніше програмувати, ніж мови написання.
Результатом є мова, яка є оптимальною, коли час розробки та час виконання мають значення приблизно однаково, що в моїй галузі є більшістю часу.

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

На відміну від C і C ++, він передбачає, що ви не хочете використовувати вказівники, небезпечні касти, ручне управління пам’яттю тощо скрізь у своєму коді, оскільки вони схильні до помилок, і передбачається, що ви не хочете просіювати мульти повідомлення про помилки шаблону сторінки, коли ви завершуєте роботу лише для використання змінних масивів.

На відміну від Java та інших мов, пов’язаних із дисципліною, D передбачає, що іноді вказівники, небезпечні трансляції, ручне управління пам’яттю тощо є необхідним злом, і припускає, що ви досить розумні, щоб обробляти реальні шаблони, перевантаження оператора тощо без написання. затуманений код. Він також передбачає, що ви можете викрутити і отримати доступ до масиву поза межами, але програміст найкраще знає, який компроміс слід робити між безпекою та швидкістю в будь-якій ситуації. Тому, чи перевіряються межі масивів, просто визначається компілятором.


2
Що таке об’єкт монітора? Я не можу знайти для цього результатів.
Самаурса

2
Я дуже люблю мову D порівняно з C ++. Швидше збирання разів, можливість використовувати менше коду, відсутні файли заголовків і т. Д. Проблема, однак, полягає в тому, що йому не вистачає тих, хто робить серйозні роботи з графічним інтерфейсом. Звичайно, я можу використовувати GtkD, але спробуйте намалювати ряд фантазійних діаграм. Я бачу багатообіцяючу роботу в інтеграції з Chromium для GUI, але цей проект значною мірою недокументований і йому потрібно більше гравців у цьому просторі. Я сподіваюся, що це зміниться, але це те, що я бачу тут у вересні 2015 року.
Воломійк,

Об'єктний монітор - фіг **. Він замикає цілий метод, це справді справді марно ...
dev1223

@Volomike Я також останнім часом дивився на D і подібним чином було складно зробити інструменти для графічних інтерфейсів з ним. Наразі у мене немає ніяких дефакто-рішень для створення елегантних інструментів графічного інтерфейсу з D, і це те, що я можу почати вирішувати незабаром.
димігель

32

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

Крім того, великим гравцем ІТ-бізнесу є кілька співробітників, які використовують D у великих внутрішніх проектах.

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

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

Невеликий відсоток мого поточного доходу походить від D.


Не могли б ви запропонувати призначення організацій? Було б також непогано дізнатися більше про ці проекти.
nbro

28

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


3
Можу я запитати? Якою рамкою чи бібліотекою ви користуєтесь?
Зеленова

26

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

За допомогою поточного порту SWT / JFace я планую зробити більше і працювати в D, що я б робив раніше на Яві.



19

Я використовую D для дослідження перекладу часового коду. Вдосконалене шаблонування в поєднанні з кортежами та міксинами значно полегшує переклад коду та дозволяє здійснювати переклад коду під час компіляції, не вимагаючи окремого інструменту.

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

відео - Конференц-розмова, не вдалося знайти джерело сайту використання фізика.


Категорично схожий мій проект, також у D dsource.org/projects/scrapple/browser/trunk/dparser/dparse.d
BCS

17

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


14

Моє поточне робоче завдання - це система для перекладу C # на D. Це є частиною комерційного проекту з розробки програмної системи.




7

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

Я написав досить багато прототипів ігор у D, але я не впевнений, що це кваліфікується як "реальний світ", оскільки я написав їх для власної вигоди і жодного з них не випустив.


Чи можете ви уточнити, які ігри були створені за допомогою D?
nbro

7

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

Все разом за 5-ти рядковими кодами, написаними D 1.x та бібліотекою Phobos.

Дізнатись так просто, а ігнорування деяких підводних каменів (у бібліотеці Фобоса) справжня радість програмі.


6

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


Чи доступний вихідний код чи якась інформація стосовно того, що ви робили?
nbro


6

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

Мова з кожним днем ​​стає все сильнішою. D дуже прагматичний, і всі вбудовані функції, особливо парадигма метапрограмування, перетворюють його набагато більше на C ++, на мою думку. Синтаксис зрозуміліший, ви можете використовувати силу функціонального програмування за допомогою таких функцій, як фільтрування або зменшення , і одна з найважливіших особливостей: ви можете використовувати всі C-контури.

Однозначно моя улюблена мова, і я майже впевнений, що це буде поширена мова.


Чи можна побачити вихідний код чогось, що ви створили за допомогою D?
nbro

Минув час з цього коментаря! Я кодую в Русті та Хаскеллі переважно зараз, але у мене є кілька проектів. У мене є деякі речі на моєму github, але я не думаю, що це варто копати. Цьому коментарю 4 роки! Я мав би подивитися на поточний стан усього цього…
phaazon

4

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

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


3
Насправді неможливо шукати D на цьому веб-сайті зараз. У пошуках "d" або "d" програмування говориться "немає звернень", а при пошуку за тегами "d" перелічуйте сторінку тегів, що містять "d", але не "d". Так що це може мати щось спільне і з цим.
Baxissimo

20
шукайте [d] у вікні пошуку, щоб отримати пошук на основі тегів.
Грегг Лінд

2

Офіційний веб-сайт D перераховує організації, які зараз використовують D.

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

D вікі також містить список організацій, але він застарів.

Просто уважно дивіться переговори DConf .

Майже всі люди там працюють у якійсь компанії, і вони використовують D на роботі.


0

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

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


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.