[D] bekanntheit und verbreitung in der Wirtschaft

Zunächstmal möchte ich betonen, dass ich D für eine hervorragende Programmiersprache halte. Es ist sehr viel sinniges schon in die Sprach eingebaut, wie z.B. Design By Contracts.

DAS Problem von D...es wird von keiner großen Firma supported. Die Compiler sind zwischenzeitlich durchaus brauchbar, allerdings habe ich noch keine IDE gefunden, die ich in einem echten Projekt benutzen würde. Aber vielleicht bin ich auch zu sehr Visual Studio verwöhnt :)

Um es mal zusammenzufassen: Sprache hui, das komplette aussenrum eher pfui. Bekanntheit und Verbreitung in der freien Wirtschaft würde ich mal auf ca. 0 schätzen.

Daher lieber Java, C# oder C++ lernen sofern der OOP Ansatz für dich in Frage kommt.

Was für C# spricht ist, dass von Microsoft ein nativer Compiler für C# kommen wird, bzw. schon gibt, dessen kompilat komplett ohne Runtime und das .net Framework auskommt. (http://www.heise.de/developer/meldung/C-erzeugt-jetzt-auch-nativen-Code-2161015.html)

Greetz
​hroessler
 
Limit schrieb:
Es ähnelt stark Java/C#, nur dass es eben ohne eine VM läuft. Es hat mMn keine gravierenden Vorteile gegenüber den beiden genannten Sprachen
Genau das Fehlen einer VM ist für performance kritische Anwendungen der entscheidende Vorteil. Hat schon seinen Grund, warum in z.B. in Google Rechenzentren fast nur nativer Code läuft.

Bei allen anderen Punkten stimme ich aber dir und v.a. hroessler absolut zu.
 
Ich dachte, das hätte ich mal bei einem Talk von Chandler Carruth oder Titus Winters aufgeschnappt. Nach einer kurzen Recherche im Internet hab ich aber nichts finden können, was das bestätigt, von daher hab ich mich wahrscheinlich geirrt. Danke, dass du mich darauf aufmerksam gemacht hast.
Ergänzung ()

Was die Verwendung von D angeht ist es vielleicht ganz interessant, dass es wohl immerhin bei facebook genutzt wird (zumindest in homöopatischen Dosen) aber das sagt natürlich nichts über die allgemeine Verbreitung aus - die scheint nach wie vor recht gering zu sein.
 
Miuwa schrieb:
Genau das Fehlen einer VM ist für performance kritische Anwendungen der entscheidende Vorteil.

Sicherlich haben VMs einen gewissen Overhead, vor allem beim Speicherverbrauch. Im Gegenzug dazu können sie dafür aber auch noch Optimierungen zur Laufzeit durchführen. Im Endeffekt können VM-Sprachen ähnlich schnell sein wie Sprachen, die ohne Zwischensprache auskommen.
Ein Vorteil von C/C++ ist eher, dass man hand-optimierten Assembler Code für kritische Abschnitte benutzen kann. Ob das bei D auch ohne weiteres geht, weiß ich nicht. Auf jeden Fall würde sich das mit einigen Features von D beißen, z.B. dem GC.
 
Im Gegenzug dazu können sie dafür aber auch noch Optimierungen zur Laufzeit durchführen.
Wie auch immer sowas aussieht - mit Profiling und architekturspezifischen Optimierungen bekommt man statisch compilierte Programme auch flott.

Ob das bei D auch ohne weiteres geht, weiß ich nicht.
Das geht bei D und ist integraler Bestandteil der Sprache, während man bei C++ - wenn überhaupt - selbst auf derselben Architektur keinen wirklich compilerunabhängigen Code schreiben kann oder auf <x86intrin.h> ausweichen muss.
GC hat damit auch erstmal reichlich wenig zu tun, auch wenn es einer gewissen Ironie nicht entbehrt, für offensichtlich performance-kritische Programme eine Sprache mit Garbage Collection einzusetzen.
 
Kein Mensch benutzt Java / C# bei Performance Anwendungen. Da kann zwar etwas getrickst werden, aber auch diese Tricks haben unter gewissen Bedingungen Nachteile bzw. machen es noch langsamer (worst case).

VM ist ja ein Vermittler.
Java -> VM -> Betriebssystem (syscalls) -> Hardware

In C redet man direkt mit dem Betriebssystem, auch syscalls lassen sich direkt ausführen.
An den Speed kommt absolut nichts heran, da braucht man nicht diskutieren.

Ressourcen werden auch sofort Freigegeben wenn nicht gebraucht, bei Java muss man auf den Garbage Collector warten.
 
Zuletzt bearbeitet:
Besonders in Firmen bei denen Große mengen an Daten verwaltet werden (z.b. Auto-unternehmen, Versicherungen) werden Großrechner eingesetzt. Dort werden sprachen wie ABAP, COBOL, PL/1 verwendet. Ich persöhnlich arbeite mit C#, Java, und PL/1
 
Zurück
Oben