Frage zu D (Programmiersprache)
-
Hat jemand shcon erste Erfahrungen mit D gemacht? Ist der compiler unter der GPL?
Okay hier die eigentliche Frage:
Wie schaut es mit der standard library aus? Ist die schön prall? Gibts in der standardlib von D auch Internetzeug (sockets)? Gibts GUI toolkits diei n der D std lib sidn?
-
Ein Backend gibst auch als GCC. Die Standardlib ist nicht fett. Und ja es gibst GUI-Libs sogar mehrere. Ich hab unter Eclipse D support bekannt als DDT.
Aber mit der Sprache selbst bin ich nicht ganz glücklich - geschmackssache halt ;D.
-
Ok die miesten Fragen sidn bei mir geklärt.
Nur noch eine auf die ich keine Lösung finde:Kann man D _RICHTIG_ kompilieren? Also nicht nur irgendwelchemn native/bytecode. ich meine richtige betriebssystemtypische, ausführbare dateien wie *.exe unter windows und elf und linux?
-
Native, Assemblercode, GC, C-API. also Ja.
-
Mich würde allerdings auch interessieren, was ihr von der Sprache haltet und warum. Gab glaube ich mal einen thread dazu aber den finde ich nicht mehr. Ist auch nicht leicht nach D zu suchen...
-
HyperSonic schrieb:
Mich würde allerdings auch interessieren, was ihr von der Sprache haltet und warum. Gab glaube ich mal einen thread dazu aber den finde ich nicht mehr. Ist auch nicht leicht nach D zu suchen...
.. ist bei dem Titel auch nicht leicht zu finden: http://www.c-plusplus.net/forum/viewtopic-var-t-is-169243.html
Wird leider von Javatrollen gehijackt, aber einiges an Informationen ist da drin.Gruß,
Simon2.
-
HyperSonic schrieb:
Mich würde allerdings auch interessieren, was ihr von der Sprache haltet und warum. Gab glaube ich mal einen thread dazu aber den finde ich nicht mehr. Ist auch nicht leicht nach D zu suchen...
Such nach D Programming Language dann findest du mehr bei Google.
Also Nested functions sieht so aus ob die Sprache obligatorisch ist, in der Praxis wird mal das Feature wohl weniger gebrauchen.
Das Package-System im Vergleich ist ganz Nett besonders wemm man C++ anguckt

Aber wer zu Hölle braucht Strong Typedefs?
typedef unsigned int uintuint ist bei einer funktionsüberladung dann nicht mehr kompatible zu unsigned int :o
Das kurz was mir so aufgefallen ist.
-
Zum beispiel unterschiedliche int-Typen für unterschiedliche Koordinatensysteme wären manchmal nett.
-
Also brauchst du ne Fehler (Warnung) vom Compiler, wenn du a:Int aus KS1 auf b:Int aus KS2 zuweist? ;o
-
Jo, ist doch toll.
Ich kann nicht mehr aus versehen mit meinen Variablen, die Längen in cm messen die Funktion aufrufen, die Angaben in Pixeln erwartet. Besser noch: ich kann die Funktion für beide Varianten überladen und in einer ne Umrechnung vorschalten.
Wenn Du sowas in C++ machen willst brauchste was in dieser Art:
template<typename T, int tag> struct coords { T x,y; }; typedef coords<int, 0> pxCoords; typedef coords<int, 1> cmCoords;Oder was ähnliches. Und das ist häßlich und schützt nicht vor doppelter Vergabe der tag-Nummern.
-
Ok hast mich überzeugt XD
import std.stdio; typedef int cm; typedef int pixel; void doit(inout pixel p1) { const pixel f = 2; p1 = p1*f; } void main() { cm cm1 = 2; pixel px = 100; doit(cm); }D Compiler schrieb:
project "/test1" build started, configuration=default
compiling...
D:\Programme\dmd\bin\dmd.exe -c -odbin/default src\test1.d -ID:\Programme\dmd\src\phobos\
src\test1.d(17): function test1.doit (pixel) does not match parameter types (cm)
src\test1.d(17): Error: cannot implicitly convert expression (cm) of type cm to pixel
-
Also ich schau mir grad das tutorial an udn ihc muss sagen: Die Sprache ist echt toll. Vllt nocht net ausgereift, aber es ist gut. Und außerdem ist es für C/C++ programmierer KINDERKEICHT zum umsteigen.
-
ps: Wo liegt der Unterschied zwischen dmd und gdc????
-
dmd ist der Compiler von DM,
gdc = gnu d compiler denk ich ist ein Front-End für GCC.