Czy ktoś używa D do aplikacji w świecie rzeczywistym? Jeśli tak, do czego go używasz? Nie mogę znaleźć nic wielkiego w sieci napisanej w D.
Pomimo braku znanych dużych użytkowników, D wydaje mi się bardzo obiecującym językiem i według TIOBE jest dość popularny.
d
popularity
wvdschel
źródło
źródło
Odpowiedzi:
Używam D do mojej pracy naukowej w dziedzinie grafiki komputerowej. Ja i inni opublikowaliśmy artykuły z naszych dziedzin oparte na pracy wykonanej przy użyciu D. Myślę, że jest zdecydowanie gotowy do użycia w małych i średnich projektach badawczych, w których liczy się wydajność. Jest to dobre miejsce do pracy badawczej, ponieważ często i tak zaczynasz od zera, więc nie masz zbyt wiele starszego kodu, z którym musisz się martwić o integrację.
Innym popularnym obszarem zastosowań wydają się być usługi sieciowe. Miejmy nadzieję, że ktoś inny może skomentować, kto jest w tej przestrzeni, ale myślę, że w tym przypadku chodzi o to, że wydajność często naprawdę ma znaczenie, więc potrzebujesz języka skompilowanego do metalu. Usługi są często dość małymi, samodzielnymi procesami, więc współdziałanie z dużą ilością starszego kodu C ++ nie jest tak naprawdę konieczne ani przydatne. W ten sposób D może wbić stopę w drzwi.
Myślę, że D będzie w ten sposób nadal zdobywać oddolnych zwolenników - w mniejszych projektach, które z jakiegoś powodu mogą pozwolić sobie na porzucenie dziedzictwa C ++ w celu uzyskania języka programowania, który jest znacznie przyjemniejszy w użyciu, a być może także bardziej produktywny.
Ale dopóki nie będzie ogromnej liczby użytkowników oddolnych, podejrzewam, że nie będzie zbyt wiele na drodze dużych użytkowników korporacyjnych.
źródło
Zajmuję się bioinformatyką w D. Dla mnie kluczową rzeczą w D jest to, że przyjmuje bardzo zrównoważone podejście do kompromisów i uznaje zasadę malejących zysków.
W przeciwieństwie do C ++, który rygorystycznie przestrzega zasady zerowego narzutu, D dopuszcza funkcje, które mogą mieć niewielki koszt wydajności / przestrzeni, jeśli sprawiają, że język jest znacznie bardziej użyteczny. Obejmują one czyszczenie pamięci, obiekt monitorowania dla każdej klasy, informacje o typie środowiska uruchomieniowego itp.
W przeciwieństwie do Ruby, Python, PHP itp., D stara się być prawie tak samo szybki jak C, nawet jeśli jest mniej dynamiczny i nieco trudniejszy do programowania niż języki skryptowe.
Rezultatem jest język, który jest optymalny, gdy zarówno czas rozwoju, jak i czas wykonania mają równe znaczenie, co w mojej dziedzinie jest przez większość czasu.
Podobnie D ma bardzo zrównoważone podejście do kwestii bezpieczeństwa w porównaniu z elastycznością. Zakłada się, że programiści w zasadzie wiedzą, co robią, ale popełniają błędy.
W przeciwieństwie do C i C ++ zakłada, że nie chcesz używać wskaźników, niebezpiecznych rzutów, ręcznego zarządzania pamięcią itp. Wszędzie w kodzie, ponieważ są one podatne na błędy i zakłada, że nie chcesz przesiewać wielu -page szablonów komunikatów o błędach, gdy robisz coś źle tylko po to, by użyć tablic o zmiennym rozmiarze.
W przeciwieństwie do Javy i innych języków niewoli i dyscypliny, D zakłada, że czasami wskaźniki, niebezpieczne rzutowanie, ręczne zarządzanie pamięcią itp. Są złem koniecznym i zakłada, że jesteś wystarczająco inteligentny, aby radzić sobie z prawdziwymi szablonami, przeciążeniem operatora itp. Bez pisania zaciemniony kod. Zakłada również, że możesz schrzanić tablicę i uzyskać dostęp do tablicy poza granicami, ale programista wie najlepiej, jaki kompromis należy dokonać między bezpieczeństwem a szybkością w danej sytuacji. Dlatego to, czy tablice są sprawdzane w granicach, jest po prostu określane przez przełącznik kompilatora.
źródło
Znam jedną małą firmę, która wysłała na rynek serwer pocztowy. Mieli co najmniej 2 osoby pracujące w pełnym wymiarze godzin nad projektem.
Ponadto jeden z głównych graczy w branży IT ma kilku pracowników używających D w większych projektach wewnętrznych.
Ponadto znam jedną firmę poszukującą finansowania venture, kilku (co najmniej 4) pracowników mniejszych firm korzystających z D w niepełnym lub pełnym wymiarze godzin i co najmniej kilku (w tym ja) aktywnie poszukujących możliwości na rynku konsultingowym.
Prawdopodobnie pominąłem kilka, o których powinienem był wiedzieć, i prawdopodobnie niektóre, o których nie słyszałem, ale one nadal istnieją, ponieważ powyżej są mniej więcej te, które znam za pośrednictwem społeczności.
Niewielki procent mojego obecnego dochodu pochodzi od D.
źródło
Używam D do tworzenia stron internetowych i okazało się, że jest znacznie bardziej produktywny w porównaniu do C / C ++. Oczywiście istnieje wiele frameworków opartych na ruby / php / python. Ale jeśli chcesz stworzyć coś wyjątkowego, co również musi być tak szybkie jak C i prawie tak proste, jak programowanie, jak w wielu językach skryptowych, wtedy D jest dobrym wyborem.
źródło
Używam D dla środowiska testowego sprzętu w pętli (HIL). Dotyczy to testów oprogramowania w branży motoryzacyjnej. D może być tutaj użyty, ponieważ jako systemowy język programowania można go używać w programach czasu rzeczywistego (obsługa IRQ w rozszerzeniu RTAI-LXRT w Linuksie).
Z trwającym portem SWT / JFace planuję zrobić więcej i pracować w D, co wcześniej robiłbym w Javie.
źródło
Facebook ogłosił, że od dziś używa go w produkcji.
źródło
Używam D w badaniach dotyczących tłumaczenia kodu czasu kompilacji. Zaawansowane szablony w połączeniu z krotkami i mikserami znacznie ułatwiają tłumaczenie kodu i pozwalają na tłumaczenie kodu w czasie kompilacji bez konieczności stosowania oddzielnego narzędzia.
Istnieje kilka przykładów fizyków używających D do wzbogacania swoich programów o metaprogramowanie w D.
wideo - Rozmowa konferencyjna, nie można znaleźć strony źródłowej do wykorzystania przez fizyków.
źródło
Cała nasza infrastruktura sieciowa (o dużym natężeniu ruchu) oparta jest wyłącznie na D1 i tangu. Jesteśmy młodym startupem z Berlina: sociomantic.com
źródło
Moje obecne zadanie to system tłumaczenia języka C # na D. Jest to część projektu nastawionego na zysk, mającego na celu opracowanie systemu oprogramowania.
źródło
Cóż, napisałem kilka artykułów naukowych w D, podobnie jak inne.
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 .
źródło
Wygląda na to, że Remedy Games ma duży kod D2 dla swoich gier (por. Używanie D wraz z silnikiem gier autorstwa Manu Evansa - DConf 2013).
Są dużą firmą, wiedząc, że duża firma używa D, jest bardzo dobra.
źródło
Wiele gier wydanych przez ABA Games jest napisanych w D 1.x, chociaż wyobrażam sobie, że porty konsoli musiały zostać przepisane w C ++.
Napisałem kilka prototypów gier w języku D, ale nie jestem pewien, czy kwalifikuje się to jako „prawdziwy świat”, ponieważ napisałem je dla własnej korzyści i nigdy żadnego z nich nie wydałem.
źródło
Napisałem (i nadal utrzymuję i rozwijam) oprogramowanie do konwersji protokołów testerów z różnych stacji testujących sprzęt do ustandaryzowanego formatu wyjściowego w celu śledzenia i tym podobnych.
W sumie ponad 5 tys. Wierszy kodu, napisanych za pomocą D 1.xi biblioteki Phobos.
D jest tak łatwy do nauczenia, a lekceważenie niektórych pułapek (w bibliotece Phobos) to prawdziwa przyjemność z programowania.
źródło
Użyłem D do mojego projektu badawczego dotyczącego opracowania algorytmu optymalizacji globalnej. Zastosowałem to do problemu uczenia sieci neuronowych. To od Ciebie zależy, czy chcesz nazwać ten „prawdziwy świat”.
źródło
Napisałem skrypt opakowujący, który buduje DGCC na OS X
http://github.com/davecheney/make-gdc-apple/tree/master
Bardzo chciałbym usłyszeć od innych programistów DMD
źródło
Używam D2, drugiego standardu wersji. Pisałem aplikacje działające w czasie rzeczywistym (na przykład silnik 3D).
Język staje się z każdym dniem coraz potężniejszy. D jest bardzo pragmatyczne, a wszystkie wbudowane funkcje, zwłaszcza paradygmat metaprogramowania, sprawiają, że moim zdaniem jest daleko poza C ++. Składnia jest jaśniejsza, możesz wykorzystać siłę programowania funkcjonalnego poprzez funkcje takie jak filtrowanie lub zmniejszanie i jedną z najważniejszych cech: możesz używać wszystkich bibliotek C.
Zdecydowanie mój ulubiony język i jestem prawie pewien, że będzie to powszechnie używany język.
źródło
Przypuszczam, że możemy coś wyczytać z braku natychmiastowych odpowiedzi na to pytanie, a mianowicie, że niewielu / żaden z aktywnych respondentów stosu przepełnienia stosu używa D. Byłem również trochę zaskoczony poziomem jego rankingu w liście TIOBE, że ty łączyć z.
Powiedziawszy to, Walter Bright pracuje nad tym językiem już od wielu lat i myślę, że ma wielu obserwujących, którzy pamiętają, jak dobrą robotę wykonał z kompilatorem Zortech C ++ w latach 90-tych. Zwracam również uwagę, że język wydaje się skłaniać teraz w kierunku funkcjonalnym.
źródło
Oficjalna strona internetowa D wymienia organizacje, które obecnie używają D.
D Wiki zapewnia również listę organizacji, ale jest nieaktualne.
Po prostu uważnie obserwuj rozmowy DConf .
Prawie wszyscy ludzie pracują w jakiejś firmie i używają D w pracy.
źródło
Rozpoczynam projekt przepisania niektórych naszych wewnętrznych narzędzi z Perla na D. Wybrałem D, ponieważ jestem bardzo podekscytowany filozofią projektowania tego języka. Programuję od dawna i używałem wielu języków, od asemblerów po języki wysokiego poziomu (głównie C), języki skryptowe (głównie Perl), a D to pierwszy język, którym fascynowałem się od wielu lat .
Zdecydowałem się przejść na język kompilowany z jednego głównego powodu - bezpieczeństwa. Funkcjonalnie Perl działa całkiem dobrze w przypadku zestawu narzędzi, nad którym pracuję, ale jest niebezpieczny - każdy, kto może uruchomić skrypt, może również czytać, kopiować i tworzyć własną zmodyfikowaną wersję narzędzia. (I robią). Wiem, że istnieją okrężne metody obejścia tego problemu (w pewnym sensie), ale szczerze mówiąc, nie mam wystarczająco dużo godzin w ciągu dnia, aby to wszystko załatwić i nadal wykonywać swoją podstawową pracę.
źródło
Uruchomiłem renderowanie oparte na ray tracingu w D z ldmd2.
http://palaes.rudanium.org/SubSpace/render.php
źródło