2008-09-11 86 views
135

有人在那裏使用D來進行真實世界的應用程序嗎?如果是這樣,你用它來做什麼?我似乎無法在D上寫出任何大的網頁。在現實世界中的D編程語言?

儘管缺乏已知的大用戶,但D對我來說似乎是一種非常有前途的語言,根據TIOBE,它相當流行。

+10

最近在[dlang論壇](http://forum.dlang.org/thread/[email protected])上宣佈,Facebook現在正在使用D進行製作。 – sghill 2013-10-11 13:27:10

+0

沒有什麼大的,因爲D本身對構建大型複雜應用程序來說相當糟糕。它表面上看起來很棒,但一旦你嘗試做任何商業廣告,所有的裂縫都會開始顯示,而粉絲們則很少要爲商業用戶創建合適的結構化軟件(我敢肯定,金錢與很多事情有關但領導力和組織也是如此)。編寫命令行實用程序或5k行算法是一回事,但完全不同於創建非常複雜的業務應用程序,該應用程序涉及多個區域,如gui,音頻等。 – Stretto 2017-09-13 08:33:17

+0

確保您可以一起破解某些內容,但這不是商業用途。一個企業不會把時間/金錢投入到如此薄弱的事情上。沒有合適的IDE,我用過的每一個IDE都讓我想要打開某些東西。它的速度比正確調試應用程序慢10倍左右,因爲錯誤消息很糟糕,調試器既不能正常工作,也不能正常工作,我們所期望的現代特徵不存在或不存在,而圖書館因爲沒有邏輯結構而被fubar化了(東西被「隨意」地移動,奇怪的命名方案如「chomp」和「detabber」等) – Stretto 2017-09-13 08:36:19

回答

76

我使用D進行計算機圖形學領域的研究工作。我和其他人根據使用D完成的工作在我們的領域發表了論文。我認爲它絕對可以用於性能至關重要的中小型研究項目。這對研究工作非常合適,因爲無論如何你都是從頭開始的,所以你沒有太多遺留代碼來擔心集成問題。

另一個受歡迎的區域似乎是Web服務。希望別人能評論誰在這個領域,但我也認爲這個想法是,性能往往非常重要,所以你需要一個編譯到金屬的語言。服務通常是相當小的,自包含的過程,因此與大量的傳統C++代碼進行互操作並不是真正必要或有用的。因此,D可以在門口得到它的腳。

我認爲D將會繼續以這種方式獲得基層的追隨者 - 關於小型項目,無論出於何種原因,都可以拋棄C++遺產,以獲得使用起來更愉快的編程語言,也許更高效。

但是,除非有大量的基層用戶,否則我不會懷疑大型企業用戶。

+10

我純粹在D中開發客戶機/服務器應用程序,並且與C庫有一些綁定,但僅限於客戶端的GUI部分,用於荷蘭較受歡迎的服務之一。儘管我必須說服我的老闆,但他似乎沒有遺憾。 ;-) - D尤其在這裏發光,因爲標準庫提供了BSD套接字的實現,即使在Windows上也是如此。一次寫入,隨處部署,非常好。 – 2011-05-29 15:02:01

+0

@JesseBrands你使用phobos還是探戈? – qed 2014-09-14 11:44:05

+0

@qed我使用了phobos。 – 2014-11-16 15:05:38

4

我想我們可以讀到一些東西,缺乏對這個問題的直接答案,那就是沒有很多/任何一個acover stackoverflow響應者正在使用D.我也有點驚訝它的排名水平在您鏈接到的TIOBE列表。

話雖如此,Walter Bright多年來一直致力於這門語言的研究,我認爲他有很多「追隨者」記得他在Zortech C++編譯器方面做了很好的工作。 90年代。我還注意到,該語言現在似乎傾向於功能方向。

+3

其實現在在這個網站上搜索D是不可能的。搜索「d」或「d編程」說「沒有命中」,並且在標籤上搜索「d」列出一頁包含「d」但不包含「d」的標籤。所以這也可能與它有關。 – Baxissimo 2008-09-17 09:31:44

+20

在搜索框中搜索[d]以獲取基於標籤的搜索。 – 2008-11-03 18:06:32

26

我在循環(HIL)測試環境中使用D作爲硬件。這是用於汽車領域的軟件測試。 D可以在這裏使用,因爲作爲系統編程語言,它可以用於實時程序(在Linux實時擴展RTAI-LXRT中的IRQ處理程序)。

隨着SWT/JFace正在進行的工作,我打算做更多的工作,並且在D中工作,我以前在Java中會這樣做。

28

我使用D進行Web開發,與C/C++相比,它證明了更多的生產力。 當然,還有很多基於ruby/php/python的框架。 但是,當你想開發一些獨特的東西時,它的速度必須和C一樣快,並且像在許多腳本語言中一樣容易編程,那麼D是一個不錯的選擇。

+3

我可以問一下嗎?你使用什麼框架或庫? – Zelenova 2014-01-24 01:55:06

19

我在編譯時代碼翻譯的研究中使用D.先進的模板結合元組和mixin使得代碼轉換更容易,並且允許在編譯期間完成代碼轉換,而不需要單獨的工具。

有使用d加強與元編程方案D.

video物理學家的一些例子 - 會議上的演講,找不到物理學家使用的源站點。

86

我做生物信息學D.工作對我來說,關於d事情的關鍵是,它需要一個非常冷靜的方式來權衡,並確認收益遞減原則。

和C++不同,它嚴格堅持零開銷原則,d允許,可能有一個小的性能/成本的空間特性,如果他們使語言更大量使用。這些包括垃圾收集,每個類的監視器對象,運行時類型信息等。

與Ruby,Python,PHP等不同,D嘗試幾乎與C一樣快,即使動態性較差,稍微多一點難於編程比腳本語言。
結果是一種語言,當開發時間和執行時間同等重要時,在我的領域中大部分時間都是重要的。

同樣,D在安全性和靈活性方面採取了非常先進的方法。它假定程序員基本知道他們在做什麼,但是會犯錯誤。

與C和C++不同,它假設您不想在代碼中的任何地方使用指針,不安全的轉換,手動內存管理等,因爲它們容易出錯,並且假定您不想要當你搞砸只是爲了使用可調整大小的數組時,篩選多頁面模板錯誤消息。與Java和其他束縛​​與紀律語言不同,D假定有時指針,不安全的轉換,手動內存管理等是必要的罪惡,並且假定你足夠聰明以處理真實模板,操作符重載,等等,而不用編寫混淆代碼。它還假設你可能會搞砸並訪問一個數組越界,但程序員知道在任何情況下安全和速度之間應該做什麼權衡。因此,是否檢查數組是否被編譯器開關簡單地確定。

7

很多由ABA Games發佈的遊戲都寫在d 1.x中,雖然我想象控制檯端口必須用C++重寫這些代碼。

我寫得挺d幾個遊戲的原型,但我不知道是否有資格作爲「真實世界」,因爲我寫了他們爲自己的利益,從來沒有公佈任何人。

14

我目前的工作任務是把C#來D.這是作爲以盈利爲目的的項目,開發一個軟件系統的一部分的系統。

32

我知道一家小公司向市場發送了郵件服務器產品。他們至少有2人全職從事這個項目。

此外,在IT業務的主要參與者有更大的內部項目中使用d多名員工。

此外,我知道有一家公司正在尋求風險投資,幾家(至少4家)小型公司的員工部分或全部使用D,至少有一對(包括我)在諮詢市場積極尋求機會。

我可能忽略了一些我應該知道的信息,可能有些我沒有聽說過,但仍然存在,因爲上面的內容或多或少是我通過社區認識我自己的內容。

我目前的收入一小部分來自D.

6

我用d我發展全局優化算法的研究項目。我將它用於訓練神經網絡的問題。無論你想稱之爲「現實世界」,由你決定。

17

我們整個的(高流量)網絡基礎設施僅基於D1和探戈。我們是柏林一家年輕的創業公司:sociomantic.com

7

我寫了一個軟件(用於將測試儀協議從各種硬件測試站轉換爲標準輸出格式以實現可追溯性等)。

所有超過5k行代碼,用D 1.x和Phobos庫編寫。

D是如此容易學習,並忽略了一些陷阱(在Phobos庫中)編程的真正快樂。

6

我使用D2,該版本的第二個標準。我編寫了實時應用程序(例如3D引擎)。

語言每天都變得越來越強大。 D非常實用,所有嵌入式特性,尤其是元編程範例,在我看來,它遠遠超過C++。語法更清晰,可以使用函數編程的實力通過函數如過濾器減少,其中最重要的功能之一是:可以使用所有的C庫。

絕對是我最喜歡的語言,我敢肯定它將是一種傳播使用的語言。

7

Remedy Games似乎對他們的遊戲有很大的D2代碼庫(參見Manu Evans-DConf 2013的​​)。

他們是一家大公司,知道一家大公司使用D是非常好的。

22

Facebook宣佈他們正在使用它在今天的生產。

0

我開始一個項目,改寫我們的一些Perl的內部工具D.我選擇d,因爲我很興奮語言的設計理念。我從事編程很長一段時間,從彙編程序到高級語言(主要是C語言)到腳本語言(主要是Perl)都使用了很多語言,並且D是我多年來一直熱衷於學習的第一種語言。

由於一個主要原因 - 安全性,我決定轉向編譯語言。在功能上,Perl對我工作的工具集非常適用,但它不安全 - 任何可以運行腳本的人都可以讀取,複製和創建他們自己的修改版本的工具。 (他們會這樣做。)我知道有一些迂迴的方法可以解決這個問題,但說實話,我沒有足夠的時間去管理所有這些,並且仍然能夠完成我的主要工作。