Wer was kann wird belohnt !!!
-
Aber für was sie von den Gurus letztlich benutzt werden
Das sind keine Gurus.
Ich finde die imperative Art und Weise, wie man sich in D Code generieren lassen kann, wäre für das, wofür die Templates eigentlich nicht designed wurden, irgendwie "passender".
Kenne D nicht, aber hast du mal Scheme angeschaut? Mittlerweile hat C++ auch ... .
-
cooky451 schrieb:
Aber: Research/TGGC?
Da in src/research/ steht alles drin, was temporär, experimentell, privat und noch nicht stabil ist.
Vielleicht wäre src/unstable/ besser? oder src/tmp/ oder besser aber je nachdem. Es drückt es nicht wirklich aus, denn unter src/ hat jeder Auftraggeber sein eigenes Verzeichnis und darin wird ja auch geforscht. Vielleicht ist src/private besser. Jo, wohl schon, so benutze ich das Verzeichnis.edit: Ach, Quatsch!
Es heißt research (~in Wahrheit frickeln~) in meinem unterirdischen Labor (Kellerwohnung).
-
Mal davon abgesehen, dass D's templates basierend auf den Erfahrungen, die in C++ gemacht wurden und den viel mächtigeren compile-time-Sachen (wofür jetzt ja constexpr nachgerüstet wird), viel abgefahrener sind, gibt es halt auch mixins. Da wird zur Compile-Zeit in echten Funktionen durch string-Zusammensetzung neuer Quellcode generiert.
Siehe: http://dlang.org/mixin.html
Muss man natürlich nicht übertreiben, aber etwas flexibleres kann ich mir kaum noch vorstellen.
Da gibts auch eine nette Zusammenstellung über die D-templates...
Dort wird auch beschrieben, fällt mir gerade auf, was ich im c++-Forum bemängelt hatte, nur viel besser ausgedrückt. Dass man in C++-Templates oftmals obskure Spracheigenschaften ausnutzt, um ansonsten eigentlich klare Ideen umzusetzen.
Wenn ich das so sehe, werde ich natürlich ganz neidisch mit meinem C++
Edit: volkard, ich hab in meinen Solutions immer ein oder mehrere Projekte, die sich irgendwie "Spielwiese" oder "Frickelfestung" nennen
-
Decimad schrieb:
Weshalb? Die Fehlermeldung ist doch stringent und bringt es direkt auf die Punkte!
Nunja. Aber wenn der Compiler alleine 2 Sekunden braucht, um die Fehlermeldungen zu erzeugen, mir so viel Text an den Kopp knallt...
Nee, das macht micht nicht glücklich.
Ja, hier reicht es, auf die erste Zeile zu klicken und er sagt ja "error: no match for 'operator+' in 'begin + 1". Da kann ich mir denken, daß die Leute keinen op+(int) gemacht haben, weil der auf einem Baum dann doch zu lahm wäre.Es kommt aber oft genug vor, daß man was schreibt, was jedem verständigen Programmierer total offenkundig als richtig erscheinen muss, und das nicht in der ersten Zeile erklärt wird. Dann ist es in einer beliebigen der folgenden.
Darum lese ich die Template-Fehlermeldungen schon gar nicht mehr. Die sind mir latte. Wenn sowas kommt, schaue ich die letzen Zeilen an, die ich gebaut habe und überlege, was daran falsch sein könnte. Klappt fast immer und spart Ärger. Ok, es ist dazu vielleicht fast notwendig, daß man selber die benutzen Klassen bauen könnte und genug ähnlicher gebaut hat, um eine Gefühl für Template-Fehlermeldungen zu haben. Für mich ist der Weg ok. Wenn der Compiler 2s zum Erzeugen der Fehlermeldungen braucht oder sonstwie gleich seitenweise Schrott erscheint, dann klicke ich die oberste anklickbare Zeile (falls die IDE das nicht schon übernimmt), lese den Fehlertext und schaue die Zeile an, und wenn das nicht erfolgreich ist, dann überlege ich mir, was schiefgegangen sein mag. Und wenn es nicht klappt, dann überlege ich nochmal weniger oberflächlich. Dann denke ich darüber nach, den Debugger anzuwerfen. Aber diese Meldungen alle zu lesen, nö. Nur im Notfall. Bringt eh nix. Sourcecode angucken, von dem, was man aufrufen wollte, ist schneller.
-
Decimad schrieb:
Edit: volkard, ich hab in meinen Solutions immer ein oder mehrere Projekte, die sich irgendwie "Spielwiese" oder "Frickelfestung" nennen
Die hätte ich einheitlich research genannt. oder einheitlich frickelfestung. oder egal, einheitlich.
Weißte, ich bin so extrem, daß ich den Hund Hund nenne und die Katze Katze. "Kind, hol mir ein Bier und füttere dann die Katze." Das Auto heißt bei mir Auto und nicht "Sylvester". Das Kind kann sich in der Schule "Chantal" nennen lassen. Ich muss viel zu viel überlegen, wenn die Namen nicht klar sind. Papi heißt "Helmut", das ist ok. Hund heißt "Asta", das ist auch ok.
Ein Nachbarshund heißt "Susanne".
Kotz, dasist ja wiedouble m_lpachConfig;
-
Ach, bei diesen Testsachen bin ich irgendwie verspielt und freue mich immer wie ein kleines Kind, wenn ich mal wieder (mehr als gewöhnlich) rumfrickeln darf. Ist ja nichts, das irgendwie großartigen Bestand hat oder wird anschließend direkt an den passenden Ort verschoben.
Das mit Deinen Fehlermeldungen meinte ich gar nicht so sehr ernst (daher "auf die Punkte bringen").
Meinst du "m_lpachConfig" in "Hrmm, Member, also m_", Pointer, genau, "m_lp", aber was ist es eigentlich, hrmmm, ach, nehmen wir Config -> "m_lpachConfig" ?
-
lpach ist "long pointer to array of character". also ein dynmaischer C-Sring, der NICHT nullterminiert ist, sonst wäre es ja ein lpsz.
Der kann weder links in einen double gestopfigt werden, noch rechts eine Config halten. Da war einfach alles falsch.
-
Decimad schrieb:
und freue mich immer wie ein kleines Kind, wenn ich mal wieder
Das verbindet uns.
-
Hehe, ich weiß nicht ob ich nicht vielleicht froh darüber sein sollte, dass ich den Scherz nicht kapiert habe
-
Ich glaube ich bin der Richtige Kanidat für euch, ich hab in der Grundschule die Fahrradführerscheinprüfung erfolgreich bestanden!
Das bedeutet: Ich kann Fahrrad fahre.
So und jetzt möchte ich gerne meine Belohnung haben danke. (Der Thread Titel heisst ja wohl nicht umsonst: Wer was kann wird belohnt !!!)
-
Hey, ich kann das kleine Einmaleins! Wo ist meine Belohnung!?
-
Swordfish schrieb:
Hey, ich kann das kleine Einmaleins! Wo ist meine Belohnung!?
Wo ist der Beweis?
-
volkard schrieb:
cooky451 schrieb:
als auch Compilerfehler.
Hihi. Hatte vorhin aus Versehen auf einem map::iterator ein +1 gemacht.
Da bin ich fast vom Stuhl gefallen.Ich glaub, min Rekord in der Richtung lag bei ca 200kb fehlermeldungen für einen ähnlich trivialen Fehler.
Aber der Txp war halt etwas aufgebläht und es gab da so ein paar Instantiierungskontexte...
Aber ja, der Nutzen der Fehlermeldungen geht meist gegen 0. Mistens leite ich sie in ein Datei um, lass ein Script durchlaufen, dass die geläufigsten konstrukte gegen bekannte typedefs ersetzt und mache dann search & replace bis die Fehlermeldungen wieder schön auf eine Bildschirmseite passen.
-
Mich hat dieser Thread hier dazu gebracht, mal D zu instalieren, mir ein paar PDFs zurechtzulegen, mir Gedanken darüber zu machen, den wichtigsten C++-Errungenschaften mangels C++-ABI eine C-API zu verpassen und mal mit D etwas highlevel-Code auszuprobieren. Ich wurde also schon reichlich mit erhellenden Erfahrungen belohnt
-
Was wirst du erst vor Erleuchtung strahlen, wenn du Sprachen wie Scheme, ML oder Haskell erlernst.
-
Sone schrieb:
Swordfish schrieb:
Hey, ich kann das kleine Einmaleins! Wo ist meine Belohnung!?
Wo ist der Beweis?
Ich versuche es:
11 = 2
22 = 4
33 = 6
44 = 8
55 = 10
66 = 12
77 = 14
88 = 16
99 = 18
1010 = 20
Oder korrekt als Programm:for(int i = 0;i!=10;i++) { std::cout << i*i << std::endl; }
0x0ERROR
-
0x0ERROR schrieb:
11 = 2
22 = 4
33 = 6
44 = 8
55 = 10
66 = 12
77 = 14
88 = 16
99 = 18
1010 = 20
Oder korrekt als Programm:for(int i = 0;i!=10;i++) { std::cout << i*i << std::endl; }
Da fehlt das
Volkard schrieb:
#define retrun return
-
Sone schrieb:
Swordfish schrieb:
Hey, ich kann das kleine Einmaleins! Wo ist meine Belohnung!?
Wo ist der Beweis?
Brauch' ich nicht. Im schlimmsten Fall hab' ich 'nen Lookup-Table: http://www.c-plusplus.net/forum/p2300420#2300420.
-
Ich kann auch was: Einen Nagel in die Wand schlagen auch ohne patentierten Hammer. Werde ich jetzt dafür belohnt?
Im Ernst: Der TE soll sagen, worum es geht und welche Voraussetzungen der Kandidat zur Beteiligung an dem Projekt mitbringen soll.
-
ich denke wir sollten das umdrehen! was muss ich können, damit ich eine belohnung bekomm? (nicht dass ich mir die iwie verdient hätt )