Arduino Fanboy D. schrieb:> A. B. schrieb:>> Unter welcher Umgebung compilierst du das?> In dem Punkt ist Wilhelm steif.> Von seinem Elfenbeintürmchen aus, interessiert ihn das Fußvolk schlicht> nicht.
Für etwa die AVRs mit:
Allerdings gehört da natürlich eine libstdc++ dazu. Diese existiert
nicht, und ich kann die Sourcen zu meiner Implementierung nicht
öffentlich machen.
Soweit, so schlecht.
Doch, Leute, worum geht es hier? Erstmal um std::array<>. Dafür finden
sich zahlreiche Implementierungen im Netz oder man schaut einfach in die
libstdc++ des gcc.
Und so ist das mit den anderen Sachen auch. Da wäre meine
Implementierung auch nicht mehr von Hilfe.
Allerdings lernt man doch generische Programmierung, Erstellen von
templates und TMP nicht auf einem Arduino! Das macht man ganz normal auf
dem PC.
Daher:
Wilhelm M. schrieb:> Allerdings lernt man doch generische Programmierung, Erstellen von> templates und TMP nicht auf einem Arduino!
Ich danke Euch auch für diese Herabwürdigung.
Sowie auch für alle weiteren....
Möge sie der Stabilisierung, seiner Erhabenheit, dienlich sein.
Arduino Fanboy D. schrieb:> Ich danke Euch auch für diese Herabwürdigung.
Das ist doch keine Herabwürdigung von Dir. Es ist lediglich die Aussage,
dass man das nicht auf einem Arduino richtig lernen kann. Abgesehen von
der fehlenden libstdc++ ist es doch viel zu umständlich und völlig
spaßbefreit.
Wilhelm M. schrieb:
...
> Für etwa die AVRs mit:> avr-gcc (GCC) 11.0.0 20200818 (experimental)
...
> Allerdings gehört da natürlich eine libstdc++ dazu.
Es macht nicht viel Sinn einen Compiler Version zu verwenden die
"realer" kein AVR Entwickler benutzt.
...
> Allerdings lernt man doch generische Programmierung, Erstellen von> templates und TMP nicht auf einem Arduino! Das macht man ganz normal auf> dem PC.
Aber nicht den "embedded" Teil und auch nicht was du auf einem
"schwachbrüstigen" MC gefälligst unterlassen solltest
...
> namespace UC {> volatile uint8_t portb;> }>> #define PORTB UC::portb
...
>// ((PORTB = c[II]), ...);
Das ist "embedded" an dem ganzen ...
Der Rest ist doch nur Verwirrspiel und du überzeugst keinen damit ;-)
Wilhelm M. schrieb:> Das ist doch keine Herabwürdigung von Dir. Es ist lediglich die Aussage,> dass man das nicht auf einem Arduino richtig lernen kann. Abgesehen von> der fehlenden libstdc++ ist es doch viel zu umständlich und völlig> spaßbefreit.
Ohne diese Ansage wüsste ich nicht, wann, wo und wie ich Spass haben
kann.
Auch dafür danke ich Euch, wie für jeden anderen Krumen, welcher von
eurem hochgelobten Tische herab fällt.
Im Ernst:
Einen AVR-GCC 10.1 baue ich mir ja noch und integriere diesen in die
Arduino IDE, um deiner Brotkrumenspur zu folgen...
Aber "experimental"?
Das hat dann keine Praxisrelevanz mehr.
Hier endet es!
Wilhelm M. schrieb:> Allerdings gehört da natürlich eine libstdc++ dazu. Diese existiert> nicht, und ich kann die Sourcen zu meiner Implementierung nicht> öffentlich machen.
Was ich davon halte, .... das sage ich lieber nicht.
Arduino Fanboy D. schrieb:> Einen AVR-GCC 10.1 baue ich mir ja noch und integriere diesen in die> Arduino IDE, um deiner Brotkrumenspur zu folgen...> Aber "experimental"?> Das hat dann keine Praxisrelevanz mehr.> Hier endet es!
Du kannst dafür genauso gut einen 10.1 nehmen. Es war die Frage, was ich
verwende, und nicht, was man mindestens nehmen muss. Ein Blick in die
Feature-List von cppreference lohnt sich.
Hans-Georg L. schrieb:> Es macht nicht viel Sinn einen Compiler Version zu verwenden die> "realer" kein AVR Entwickler benutzt.
Das ist ein Scheinargument, denn es geht ja auch mit älteren Versionen
vom g++.
Hans-Georg L. schrieb:> Aber nicht den "embedded" Teil und auch nicht was du auf einem> "schwachbrüstigen" MC gefälligst unterlassen solltest
Auch das ist hier kein Argument, denn es geht um ein konkretes Beispiel.
Und all das kann man am PC oder im GB-CE sehr schön nachvollziehen.
Warum sollte das nur für einen AVR möglich sein?
Das Buch ist m.E. gar nicht schlecht, weist es doch in die richtige
Richtung: compile-computation, type-reflection, meta-functions, ...
Der Nachteil des Buches liegt m.E. darin, das es zu früh erschienen ist.
Denn ein ganz wichtiger Baustein darin fehlt, und dass sind "concepts".
Die sind als "concepts-ts" zwar schon eine ganze Weile im g++ enthalten,
jedoch in einer Form, die vor der Einbringung in C++20 nochmal verändert
wurde (keine function-style concepts mehr, einige Erweiterungen). Dies
ist zwar nicht besonders kritisch, weil es zwar die Syntax und wenige
features betrifft, aber nicht das Grundkonzept fallen lässt. Und
concepts sind ein wesentlicher Bestandteil der statischen Polymorphie.
M.E. hätte der Autor darauf hinweisen müssen, denn bekannt und verfügbar
waren concepts schon lange vor Erscheinen des Buches. Vielleicht kommt
ja eine neue Auflage ;-)
Wilhelm M. schrieb:> Der Nachteil des Buches liegt m.E. darin, das es zu früh erschienen ist.
Das haben Bücher auch dem Computerbereich und anderen ständig
voranschreitenden Wissensgebieten so an sich. Wenn der Autor mit der
Veröffentlichung des Buchs auf den absolut finalen C++-Standard warten
würde, könnte er davon nur wenige Exemplare verkaufen, da zu diesem
Zeitpunkt kaum noch jemand C++ nutzen wird.
Wilhelm M. schrieb:> M.E. hätte der Autor darauf hinweisen müssen, denn bekannt und verfügbar> waren concepts schon lange vor Erscheinen des Buches.
Warum sollte der Autor seine Leser mit neuen Features belästigen, die
noch weit von der Verabschiedung durch das Normungsgremium entfernt sind
und damit noch auf recht wackeligen Beinen stehen? Die Concepts wurden
erstmalig im Juli 2017 in den C++20-Draft aufgenommen, da hat Kormanyos
sein Buch, das im Mai 2018 veröffentlicht wurde, vermutlich schon zu 98%
fertiggestellt. Technisch finalisiert wurde der C++20-Standard Anfang
dieses Jahres (das wäre IMHO der früheste Zeitpunkt gewesen, seine
Inhalte in Lehrbücher aufzunehmen). Offiziell veröffentlicht wird er
voraussichtlich erst Ende dieses Jahres.
Natürlich gibt es immer Leute (wie bspw. du), denen das alles nicht
schnell genug geht. Diese kaufen aber keine solchen Bücher, sondern
informieren sich in den Vorabveröffentlichungen des ISO-Gremiums.
Kormanyos wäre somit ziemlich dumm, wenn er sein Buch auf diese Leute
zuschneiden würde.
> Vielleicht kommt ja eine neue Auflage ;-)
Vielleicht. Aber auch diese wird für dich viel zu spät erscheinen, da
das ISO-Gremium schon längst an an C++23 arbeitet ;-)
IJustWannaKnow schrieb:> ne ernsthaft. meine Erfahrung in dem Gebiet reicht nicht aus um zu> beurteilen ob das Buch gut ist.
wenn du es durch hast und keine Fragen offen sind war es gut, bis jetzt
wurde ich aber oft enttäuscht hatte viel Geld versenkt in schlechte
Bücher.
Das letzte C++ Buch noch nicht durchgearbeitet, ja in dem Wort steckt
Arbeit!