Gebt doch endlich mal richtige Gründe gegen die Sprache D an!
-
Nein die Syntax ist fehlerfrei.
Implizierte Propterty Syntax, getter und setter mit ein Parameter können so geschrieben werden.
Die Ausgabe ist 4 (Byte).
Die Frage ist, was hab ich Abgefragt. b ist eigentlich ein Pointer auf eine Objekt der Klasse Box. Da D mir die Pointersemantik versteckt, sollte D auch die Frage an die Klasse delegieren, wird wohl aber nicht gemacht.
Ok Ändern wie b.sizeof in Box.sizeof. Immernoch Ausgabe 4. Eh?
-
Ja wegen den 4 ints
-
Sollte das wirklich wegen 4 ints das Resultat sein,
schleiche ich gleich wieder hier raus und hinterlasse
ein leises "wtf".
-
chrische5 schrieb:
Hallo
muemmel schrieb:
Hi Erhard,
wenn wir ehrlich sind ist es mit C# genau so. Das wurde doch auch nur erfunden, weil Sun Java nicht zum verfrickeln freigegeben hat.
Gruß Mümmel
C#in Zusammenspiel mit .net ist wirklich nett. Gerade was das Zusammenklicken von GUI's angeht.
chrische
ZUm Zusammenklicken von GUIs gibt es aber schon Python mit entsprechenden GUI Bindings.
C# ist da also überflüssig wir ein Kropf.
-
Zeus schrieb:
Weil der D Compiler nicht mal gebacken bekommt diesen Code richtig zu übersetzen?
class Box { int i; int j; int k; int l; } void main() { auto b = new Box(); writefln(b.sizeof); }
Das Problem sitzt wie immer vor dem Bildschirm.
-
Erkenner des Problems schrieb:
Zeus schrieb:
Weil der D Compiler nicht mal gebacken bekommt diesen Code richtig zu übersetzen?
class Box { int i; int j; int k; int l; } void main() { auto b = new Box(); writefln(b.sizeof); }
Das Problem sitzt wie immer vor dem Bildschirm.
Was ist daran falsch?
-
Zeus schrieb:
Was ist daran falsch?
Du hast die include Anweisung vergessen, ohne die kannst du den Code natürlich nicht compilieren.
-
Wie ist nach 5 Jahren der aktuelle Stand bezüglich Eindsatz der Sprache D?
-
Sieht durchaus besser mit IDE-Unterstützung aus, aber ich kann mir trotzdem nicht wirklich vorstellen damit programmieren zu wollen. Wenn ich mir die Code-Samples auf Wikipedia ansehe dann fühlt sich D wie eine vor 20 Jahren entwickelte Sprache an.
MfG SideWinder
-
Ich finde D sehr schön.
-
Weil?
-
D ist ein besseres C++, insbesondere mit viel besseren Compile-Time-Möglichkeiten.
Nur verwendet keiner C++ wegen den vielen Möglichkeiten der Templates sondern aus Legacy-Gründen, denn wer das tut ist mit D besser beraten.
Ich kenne Leute, die verwenden D, aber das sind dann Ein-Mann-Projekte.
-
mit viel besseren Compile-Time-Möglichkeiten.
Was heißt das? Statische Polymorphie, TMP, usw.? :hechel:
-
Ich finde die Konstruktor-Syntax sehr nett:
this() { fiber = new Fiber(&run); }
Kommt denn bei D der ganze "low-level"-Kram nicht zu kurz? Sieht mir sehr Java-orientiert aus.
-
- schrieb:
TMP
Braucht es nicht, jede beliebige* Funktion kann zur Compile-Zeit aufgerufen werden. Die Funktion kann D-Code als string generieren, der dann in den Quellcode "eingemixt" werden kann.
*Gibt ein paar Einschränkungen, es dürfen keine Dateien gelesen werden und so
-
- schrieb:
Weil?
Ich mag C++ und finde das Design von C# schön.
D ist irgendwo in der Mitte. Gefällt mir.
Nativer Code, schöne generische Programmierung, man hat sich bemüht viele Dinge elegant zu lösen die bei C++ eher Hacks sind. Die Möglichkeit des GCs finde ich auch nett. Muss man nicht nutzen aber man kann.
Hat nicht einer der C++-Gurus (denke es war Alexandrescu) maßgeblich an der Weiterentwicklung von D mitgearbeitet?
-
Jup, der liebe Alexandrescu wars.
Ich blicke auch manchmal ein wenig neidisch auf die Compiletimesachen von D.
Aber für mich gab es noch keinen wirklichen Grund mich mit D intensiv zu beschäftigen.
Gut, TMP ist einfacher, es gibt schon Modules, builtin Invariants,... aber mit C++ kann man das (bald) auch.
-
aber mit C++ kann man das (bald) auch.
Worauf spielst du an? Was genau ist denn an C++1y soviel besser?
(Mir sind alle neuen Features bekannt, dennoch sehe ich da keinen evolutionären Schritt)
-
- schrieb:
aber mit C++ kann man das (bald) auch.
Worauf spielst du an? Was genau ist denn an C++1y soviel besser?
Das bald bezog sich nur auf die Module, alles andere kann man jetzt auch schon (zwar nicht so elegant wie in D, aber möglich).
-
Nathan schrieb:
Das bald bezog sich nur auf die Module, alles andere kann man jetzt auch schon (zwar nicht so elegant wie in D, aber möglich).
D hat Compile-Time-Regex. Da wird ein regulärer Ausdruck genommen und in bestmöglichen D-Code verwandelt und dann mitkompiliert.
Mir wäre nicht bekannt, dass das in C++ praktisch umsetzbar wäre.