Grüß euch! Falls ich lieber ins pc Forum sollte, verschiebt mich bitte. Ich programmiere bisher in c, ausschließlich microcontroller. Ok vor wirklich vielen Jahren hatte ich mal eine c++ Schulung aber da würde ich nicht mal von realen Grundkenntnissen sprechen. Grundhahnung sag ich mal. Raspberry hat mir python gezeigt und das benutze ich inzwischen eigentlich nur statt matlab. Ich habe jetzt vor, mich in c++ hinein zu arbeiten. Aber nicht furz trocken am pc sondern schon am raspberry Pi. Etwas zusatzhardware soll auch dazu. Dafür suche ich hilfreiche Materialien. Für c++ generell habe ich das Buch c++ primer als empfehlenswert identifiziert. Ich bin aber nicht der weltweit größte checker, so dass ich die Brücke zum raspberry Pi benötige. Und zwar am besten exemplarisch. Könnt ihr mir da irgendwelche Empfehlungen machen über das o.g. Buch hinaus? Beim raspberry werden sich Performance Sünden vermutlich bemerkbarer machen als am pc. Die uc artige Hardware ist dann noch da und generell habe ich von Qt und leider auch linux nochnicht so viel Plan. Nein ich versuche wirklich nicht zu Trollen....könnte mir denken dass das so aufgefasst werden kann. Ich hoffe mal es gibt Gleichgesinnte die mein Anliegen verstehen und am besten helfen können. Ciao
:
Welchen Vorteil versprichst du dir von c++ gegenüber c am Raspberry? Ich muss sagen das seitdem es andere gute Objektorientierte Programmiersprachen gibt, reizt mich c++ so überhaupt nicht mehr, schon gar nicht ums einfach nur zu lernen. Objektorientierung hast du auch in Python, Java oder C#, außer wenn du eventuell was mit Qt machen willst, würde ich heute nicht mehr freiwillig c++ lernen.
:
Bearbeitet durch User
Hi, Ich würde das gerne auch lernen. Ich sehe darin eine verwandte Sprache, mit der ich auch mal in modernere Software Design Techniken rein kommen kann. Und die Performance ist doch bei c++ eigentlich immer noch gut.
C/C++ auf dem RPi ist eigentlich ziemlich einfach: VisualStudio Code installieren, ein hello world in test.cpp speichern, F5 drücken und auswählen womit es kompiliert werden soll. Das geht auch bequem remote von einem anderen PC aus: auf dem PC VSCode installieren, remote ssh extension installieren. Wenn man sich mit dem RPi mit RemoteSSH verbindet, dann wird ein VSCode Server auf dem RPi installiert und man kann sofort remote editieren, kompilieren und debuggen. Aber C++ auf µC ist genauso einfach.
Ich stimme tim_taylor zu. Wenn es doch unbedingt C++ sein soll, dann achte darauf, dass die Lehrmaterialien modern sind und mindestens C++17 Niveau haben. Gibt genug (gebrauchte, Bibliothek etc.) Lehrbücher die noch so etwa auf C++98 Niveau sind, also Asbach Uralt. Ansonsten verbreitet sich Rust immer mehr im vorherigem C++ Umfeld.
A. N. schrieb: > Ich stimme tim_taylor zu. > > Wenn es doch unbedingt C++ sein soll, dann achte darauf, dass die > Lehrmaterialien modern sind und mindestens C++17 Niveau haben. Gibt > genug (gebrauchte, Bibliothek etc.) Lehrbücher die noch so etwa auf > C++98 Niveau sind, also Asbach Uralt. > > Ansonsten verbreitet sich Rust immer mehr im vorherigem C++ Umfeld. Das ist schon lustig: da kommt jemand und sagt, daß er gerne C++ lernen will, und schon wird ihm in zwei von drei Antworten empfohlen, doch lieber etwas vollkommen anderes zu machen. Klassischer Fall von Thema verfehlt, würde ich sagen. Lieber TO, es gibt unter C++ keine RasPi-spezifischen Sachen: einfach nur das Metapackage "build-essential" installieren ("apt-get install build-essential") und schon stehen Dir der C-Compiler gcc und der C++-Compiler g++ zur Verfügung, wie unter so ziemlich allen debian-basierten Linux-Systemen auch. Dazu noch einen anständigen Editor -- und ja: für den Anfang würde ich eher einen Editor als eine IDE empfehlen, das erleichtert und verbessert das Verständnis der Zusammenhänge -- und schon kann es losgehen. Zu den sehr angenehmen Eigenschaften von C++ gehört es übrigens, daß sich damit nicht nur die C++-eigene Standard Template Library benutzen läßt, sondern auch eine Unmenge weiterer C- und C++-Bibliotheken. Großer Beliebtheit erfreuen sich beispielsweise die Boost-Bibliotheken [1], die sehr umfangreiche Funktionen zur Verfügung stellen und stetig weitergepflegt werden. Gleichzeitig kannst Du aber beispielsweise zum Zugriff auf die RasPi-Hardware die GPIOs natürlich ohne jede Einschränkung auf die etablierten C-Libraries zurückgreifen, GUI-Bibliotheken wie etwa Qt oder auch Webframeworks wie Wt [2] benutzen, ganz wie Du magst. [1] https://www.boost.org/ [2] https://www.webtoolkit.eu/wt
Hiho, Ok vielleicht bin ich auch zu sehr in meiner bisherigen Welt gefangen, aber brauche ich vom raspberry pi nicht so was wie eine Address map? Ich will z. B. den spi benutzen und Blöcke per dma zu einem Display schicken. Das ist doch zielhardware spezifisch oder wie stelle ich mir das am besten vor? Hat einer einen link parat für so was? Ansonsten bin ich generell mit dem c++ Primer gut beraten außer das das halt nur c++11 bietet?
VSCode war mal ein einfacher Editor, hat sich aber zur IDE gemausert. Man kann für den Anfang natürlich auch ein test.cpp in nano oder vi erstellen und einfach per g++ übersetzen (das müsste der Pi schon mitbringen). VSCode ist aber sowas wie ein Schweizer Messer für mich geworden und kann für viele Sprachen verwendet werden, oder um einfach git Repos zu verwalten wegen der mittlerweile sehr guten git Integration. Für einen alten Teil meiner Heimautomatisierung habe ich ein RFM69 Modul am RPi, das hat auch ein SPI. Dafür hatte ich ein Program auf github gefunden, das benutzt die wiringPi Lib. Der Autor der Lib wurde vor ein paar Jahren sauer gefahren und hat den Support eingestellt, aber der vorhandene Code funktioniert immer noch. Vielleicht gibt es da was Neueres, würde mich auch interessieren. Das Programm hatte ich mal mit Eclipse cross compiliert, aber die Installation und die Bedienung ist ein K(r)ampf gegenüber VSCode! Und die Online Compiler sind mittlerweile auch Top, können aber natürlich die Pi HW ansteuern :)
Dobby schrieb: > Ok vielleicht bin ich auch zu sehr in meiner bisherigen Welt gefangen, > aber brauche ich vom raspberry pi nicht so was wie eine Address map? Ich > will z. B. den spi benutzen und Blöcke per dma zu einem Display > schicken. Rein theoretisch könnte man einen Raspberry pi oder sowas ähnliches auch ohne Betriebssystem nehmen und alles selbst bauen. Das wirst du aber nicht wollen. Stattdessen wirst du den unter Linux laufen lassen wollen. Dann siehst du von irgendwelchen Geräten keine Adressen oder sowas, sondern hast für SPI bspw. einen Treiber, der dir ein device zur Verfügung stellt. Das öffnet man mit seinem Namen im Dateisystem; im einfachsten Fall liest und schreibt man dadrin rum und konfiguriert vielleichtn noch ein bißchen.. Also musst du nur nach Doku und/oder Beispielen für das jeweilige device suchen. Etwas anders sieht es natürlich aus, wenn du selbst Treiber für sowas bauen willst. Das wird aber so schnell nicht der Fall sein, vermute ich.
Johannes S. schrieb: > VSCode war mal ein einfacher Editor, hat sich aber zur IDE gemausert. Da muß ich mich Sheevas Empfehlung anschließen, am Anfang ohne IDE zu arbeiten und zunächst nur einen Editor, den Compiler, und später ggf. etwas wie make oä. zu benutzen. IDEs sind ja in der Regel ohnehin nur Frontends für solche Tools, die womöglich zu einigen Features dieser Werkzeuge keinen Zugang bieten, und es ist schon durchaus sinnvoll zu lernen, was die Werkzeuge tatsächlich können. > Man kann für den Anfang natürlich auch ein test.cpp in nano oder vi > erstellen und einfach per g++ übersetzen (das müsste der Pi schon > mitbringen). VSCode ist aber sowas wie ein Schweizer Messer für mich > geworden und kann für viele Sprachen verwendet werden, oder um einfach > git Repos zu verwalten wegen der mittlerweile sehr guten git > Integration. All das geht ganz wunderbar auch auf einer Kommandozeile, und uralte "Editoren" wie Emacs und vi konnten das schon, als es VSCode noch gar nicht gab. Auch die moderneren Alternativen wie Atom und Sublime können das natürlich mit links. > Für einen alten Teil meiner Heimautomatisierung habe ich ein RFM69 Modul > am RPi, das hat auch ein SPI. Dafür hatte ich ein Program auf github > gefunden, das benutzt die wiringPi Lib. Der Autor der Lib wurde vor ein > paar Jahren sauer gefahren und hat den Support eingestellt, Die jüngste Änderung an WiringPi war erst letzten Monat [1], offensichtlich arbeiten also immer noch Leute an der Library. [1] https://github.com/WiringPi/WiringPi
Dobby schrieb: > Ok vielleicht bin ich auch zu sehr in meiner bisherigen Welt gefangen, > aber brauche ich vom raspberry pi nicht so was wie eine Address map? Ich > will z. B. den spi benutzen und Blöcke per dma zu einem Display > schicken. > Das ist doch zielhardware spezifisch oder wie stelle ich mir das am > besten vor? Hat einer einen link parat für so was? Vielleicht solltest du dich zuvor erstmal mit Linux vertraut machen. Du bist auf dem Pi in der Regel nicht "bare metall" unterwegs, sondern gehst bei Hardwarezugriffen über den entsprechenden Triber des Betriebssystems. Das alles ist erstmal unabhängig von der später verwendeten Programmiersprache und unterscheidet sich um einiges von dem Arbeiten mit einem einfachen µC. https://www.raspberrypi.org/documentation/hardware/raspberrypi/spi/README.md#driver
VSCode ist da immer noch ein einfacher Editor, verglichen mit Eclipse und CDT wo man gar nicht mehr sieht was abgeht. Zum Kompilieren gcc oder g++ oder make Aufruf in tasks.json eintragen und das ist eine transparente Vereinfachung. Für mehr Komfort gibt es cmake oder sonstige Unterstützung, aber man kann es trotzdem einfach halten. Bei Fehler läuft ein vorkonfigurierter parser über den Output und liefert den Luxus das man mit einem Klick an der Fehlerstelle im Quellcode ist. Der Parser verwendet RegExp, kryptisch aber auch standard. Ein gdb ist fürs debuggen ebenfalls vorkonfiguriert. Nur_ein_Typ schrieb: > Die jüngste Änderung an WiringPi war erst letzten Monat [1], > offensichtlich arbeiten also immer noch Leute an der Library. ok, nur nicht mehr der org Autor, was im ersten Satz mit 'unofficial fork' genannt wird. Aber das ist OSS, da kann jeder weiterentwickeln.
Beitrag #6727059 wurde von einem Moderator gelöscht.
Beitrag #6727151 wurde von einem Moderator gelöscht.
Beitrag #6727153 wurde von einem Moderator gelöscht.
Beitrag #6727154 wurde von einem Moderator gelöscht.
Beitrag #6727156 wurde von einem Moderator gelöscht.
Beitrag #6727167 wurde von einem Moderator gelöscht.
Beitrag #6727169 wurde von einem Moderator gelöscht.
Johannes S. schrieb: > VSCode war mal ein einfacher Editor, hat sich aber zur IDE gemausert. Alternativ kann man auch VSCodium verwenden. Ist das gleiche, nur ohne die Microsoftsche Nachhausetelefonierfunktion. Nur_ein_Typ schrieb: > Da muß ich mich Sheevas Empfehlung anschließen, am Anfang ohne IDE zu > arbeiten und zunächst nur einen Editor, den Compiler, und später ggf. > etwas wie make oä. zu benutzen. Heute ist da eher CMake angesagt. Selber Makefiles zu schreiben, macht man heute eigentlich kaum noch. Und CMake wird auch von sehr vielen IDEs und Editoren direkt unterstützt. Moby schrieb im Beitrag #6727156: > Der durchschnittliche C++ Programmierer wird immer mehr Hw-Ressourcen > benötigen als der durchschnittliche C (oder gar Asm) Programmierer. Wer hat dir denn den Quatsch erzählt?
Rolf M. schrieb: > ... > > Moby schrieb: >> Der durchschnittliche C++ Programmierer wird immer mehr Hw-Ressourcen >> benötigen als der durchschnittliche C (oder gar Asm) Programmierer. > > Wer hat dir denn den Quatsch erzählt? Was er vermutlich nicht meint, aber trotzdem so ist: Rechner und auch kleine Rechnerchen werden für viele verschiedene Dinge benutzt. Das fängt an bei eher schlichten Spielereien wie LED blinken, oder wenn der Wasserpegel steigt dann abpumpen. Am anderen Ende ist es wesentlich komplexer mit allerlei Netzwerkkommunikation, Sicherheitsanforderungen, oder was man halt auf Tausenden Seiten an Anforderungen stellen kann, inkl. Testbarkeit, geregelte Entwicklungsbedingungen, Teamarbeit, Kombination verschiedener Zulieferer, Wiedervertbarkeit und anderen Randbedingungen. Während man am einen Ende noch gut mit Assembler auskommt, braucht man auf dem Weg zum anderen Ende auch bessere Werkzeuge, um die Komplexität effizient in den Griff zu bekommen. Das kann dann bspw. über C zu C++ gehen, oder ganz anderen Umgebungen. Insofern ist Assembler eher am unteren Ende, C++ eher am oberen zu finden. Wenn C++ also im Schnitt für komplexere Projekte sinnvoll ist, wird der durchschnittliche C++-Entwickler natürlich auch mehr Resourcen brauchen - nicht wegen der Sprache, sondern weil er halt mehr macht als eine LED blinken zu lassen. Wahrscheinlich aus Versehen ist der Satz damit wohl doch richtig im Wortlaut.
>Oder ist deren Ersatz durch einen Raspi Ausdruck der Einsicht, daß es >für C++ ein Hardware-Update braucht? 😀 Ich entnehme eurer Diskussion, dass das ein altes thema hier ist.... Aber so ist es. In c fühle ich mich auf uc wohl und habe mich zu 80% auf einen Lösungsansatz eingegrooved. Sprich da weiß ich wie ich für mich die Software organisiere und Probleme löse. Wenn ich in c++ reingucke, dass auch ohne Handbremse und vor allem ohne Damoklesschwert über mir. Für mich ist das nicht verwerflich. Daher schiele ich auf den Raspi - das ist ja nun doch eher ein vollwertiger Computer mit angenehmen Zusatzfeatures.
Dobby schrieb: >>Oder ist deren Ersatz durch einen Raspi Ausdruck der Einsicht, daß es >>für C++ ein Hardware-Update braucht? 😀 > > Ich entnehme eurer Diskussion, dass das ein altes thema hier ist.... Du entnimmst richtig, und unser Mobby ist dabei seit Jahren der mit Abstand unsachlichste und fanatischste "Kommentator". Dabei hat er es mit einer bemerkenswerten Penetranz, gebetsmühlenhaften Wiederholungen von falschen, widerlegten Behauptungen und ausufernden unsachlichen Zerstörungen fremder Threads sogar geschafft, daß der hiesige Betreiber ihm ein Hausverbot ausgesprochen hat, das er, wie auch hier wieder, beharrlich ignoriert. Seit mittlerweile mehreren Jahren bombardiert er das Forum und seine Nutzer mit persönlichen Beleidigungen gegen den Betreiber und die Moderatoren, so daß mittlerweile eine Reihe von Überlegungen wie zum Beispiel diese [1] angestellt worden sind, wie man diesen... "Herrn" eliminieren könnte. [1] Beitrag "Lästiger Dauerspammer." > Aber so ist es. Wie ist es? Daß C++ mehr Ressourcen benötigen würde? Diese Aussage ist in dieser Pauschalität leider nicht ganz richtig. Richtig ist, daß es davon abnängt welche Features von C++ genutzt werden. Klassen und Templates gibt es kostenlos, diese Features benötigen im Vergleich mit einer äquivalenten reinen C-Lösung überhaupt keine zusätzlichen Ressourcen, helfen aber ungemein dabei, den Sourcecode besser zu organisieren, Boilerplate und andere Wiederholungen zu vermeiden, und den Code lesbarer und übersichtlicher zu gestalten. Vererbung benötigt minimale Ressourcen für die Virtual Method Table (VMT) sowie beim Aufruf einer vererbten Methode ein paar wenige CPU-Ticks für den Lookup in der VMT. Exceptions dagegen sind relativ teuer und in stark limitierten Umgebungen tendenziell keine gute Idee, ähnliches gilt für die Standard Template Library (STL). Aber welche Features man nutzt und welche nicht, hängt natürlich sehr wesentlich von der Zielplattform und von dem konkreten Anwendungsfall ab -- wenn zum Beispiel so etwas wie USB, Netzwerk, WLAN oder eine grafische Benutzeroberfläche ins Spiel kommen, wird Assembler schnell unbeherrschbar komplex und umfangreich, und C++ kann hier wesentlich helfen, die Komplexität zu beherrschen. > Wenn ich in c++ reingucke, dass auch ohne Handbremse und vor allem ohne > Damoklesschwert über mir. Für mich ist das nicht verwerflich. Nein, ist es auch nicht. Letzten Endes ist so etwas ja immer eine ökonomische Betrachtung im Dreieck aus den Kosten für die Laufzeitumgebung, die Stückzahl und die Entwicklungszeit -- wobei möglicherweise noch einige weitere Randbedingungen berücksichtigt werden müssen, je nach Anwendungsfall. > Daher schiele ich auf den Raspi - das ist ja nun doch eher ein > vollwertiger Computer mit angenehmen Zusatzfeatures. Richtig, und zwar mit allen Annehmlichkeiten und Unannehmlichkeiten, die damit einher gehen. Im Vergleich zu einem kleinen 8-Bit-Microcontroller, bei dem der Entwickler im Grunde genommen den "Betriebssystemkernel" für den Controller entwickelt und sich deswegen auf das Timing verlassen kann, ist das bei einem Raspi überlicherweise etwas anders, wenn man keine entsprechenden Vorkehrungen trifft, und solche Unterschiede muß der Entwickler berücksichtigen. Insofern viel Spaß, Freude und Erfolg beim Erlernen von C++!
Beitrag #6727486 wurde von einem Moderator gelöscht.
Moby schrieb im Beitrag #6727486: >> USB, Netzwerk, WLAN oder eine grafische Benutzeroberfläche ins Spiel >> kommen > > kann man sich aber selbst dann noch mit angeflanschter, > spezialisierterer Hardware für diese Zwecke behelfen. klar, beim 8 Bitter muss man jedes Bit kennen, und für o.g. gibt man alles wieder aus der Hand? So black Boxes mit Eigenleben sind einfach nur ein Krampf. Auf einer MCU lässt sich alles bis ins kleinste Detail debuggen und Dank großer Community gibt es tolle Librarys zum kleinen Preis. Nur das Assembler nur zu sich selbst kompatibel ist und kaum eine große Lib in Asm populär ist.
Beitrag #6727569 wurde von einem Moderator gelöscht.
Moby schrieb im Beitrag #6727569: > Sicher. Aber will man das unbedingt immer oder will man sich nicht > vielmehr auf Kernaufgaben konzentrieren? Ich benutze den Debugger auch zum analysieren, ich weiß nicht immer sofort ob ich Funktionen richtig nutze und oft auch aus Neugier zum Verständnis. Moby schrieb im Beitrag #6727569: > Man muss das passende in der Vielfalt überhaupt erst mal finden. Es muss > dann wirklich passen. Es muss fehlerfrei und vertrauenswürdig sein. Deshalb schrieb ich nicht ‚kostenlos‘ :) Eine Grafik wie lvgl, ein Dateisystem oder einen Asynchronen Webserver mit Websockets schreibt man nicht mal eben selber. Und alles das ist heute embedded, nicht mehr nur HD44780 LCD, serielle Schnittstelle und handverlesene SD Karten. Und die Kanonen wie F7 oder RPi Zero werden immer günstiger, bei letzterem ist eben ein kleines Linux von Vorteil wenn man Dateisystem, Ethernet und USB haben möchte. Was auf einem F7 auch geht, aber schon einen Tick komplizierter ist.
Moby schrieb im Beitrag #6727486: > Rolf M. schrieb: >> Wer hat dir denn den Quatsch erzählt? > > Nun, solcherlei Antworten sind, wie einige weitere sicher alles andere > als sachliche Argumente. Ich habe von dir in dem Thread bisher auch nichts sonderlich sachliches gelesen. Nur irgendwelche Behauptungen, die ziemlich aus der Luft gegriffen wirken. Deshalb meine Frage. > Nur_ein_Typ schrieb: >> Daß C++ mehr Ressourcen benötigen würde? Diese Aussage ist in dieser >> Pauschalität leider nicht ganz richtig. > > Das hat auch niemand behauptet. > Um mit C++ (wie OOP ganz allgemein) aber ähnlich sparsam hinzukommen wie > mit C oder gar der Stufe darunter braucht es aber eine gewisse Umsicht > und eines gewissen Knowhows. Allzuschnell benötigt man damit mehr > Speicher und Rechenzeit als nötig. Die Gegenseite dieser Münze mag > gewonnene Bequemlichkeit sein- wirklich leisten kann man sich das aber > eben erst ab einem gewissen Hardware-Niveau. Das ist bei kleinen > 8-Bittern sehr oft noch nicht gegeben. Wenn > >> USB, Netzwerk, WLAN oder eine grafische Benutzeroberfläche ins Spiel >> kommen > > kann man sich aber selbst dann noch mit angeflanschter, > spezialisierterer Hardware für diese Zwecke behelfen. Klar, es ist natürlich kein Problem, beliebig komplexe Programme in Assembler zu schreiben, wenn man konsequent alle Teile, die tatsächlich komplex sind, in externe Komponenten auslagert. Diese sind aber sehr wahrscheinlich nicht mehr in Assembler implementiert.
Beitrag #6728289 wurde von einem Moderator gelöscht.
Moby schrieb im Beitrag #6728289: > Die Tatsache, daß es ganz anders gekommen ist wird doch vermutlich etwas > bedeuten, oder? Ja, es werden immer wieder die gleichen Vorurteile hervorgekramt: Moby schrieb im Beitrag #6728289: > In der Praxis verschleudert OOP viel zu oft Speicher und Rechenzeit. Moby schrieb im Beitrag #6728289: > Sehr viele Anwendungen aber benötigen weder Grafik, Netzwerk, USB, > Dateisystem. > Zum Beispiel Aktoren und Sensoren, um im Bild zu bleiben. Es ging aber um C++ auf Raspberry Pi. Wenn das nicht gebraucht wird, dann kann man einen kleinen CM0 nehmen und trotzdem Von C++ profitieren. Aber da fängt der Kreislauf dieses Nullsummenspiels wieder von vorne an.
Beitrag #6728315 wurde von einem Moderator gelöscht.
Wann das TO wirklich C++ lernen will, dann ist der PC eigentlich genau die richtige Basis. Pi geht natürlich auch, aber da ist die Toolchain sicherlich um Größenordnungen lahmer. Die ganze Bedienung ist zäher. Auf den Mobby Schwachfug gehe ich da gar nicht groß ein. Entweder macht man mit C++ auf µC, oder eben nicht. Bleibt doch jedem selber überlassen(im Hobby). Irgendwelche Prediger brauchts da nicht zu.
Beitrag #6728328 wurde von einem Moderator gelöscht.
Beitrag #6728333 wurde von einem Moderator gelöscht.
Beitrag #6728334 wurde von einem Moderator gelöscht.
Beitrag #6728337 wurde von einem Moderator gelöscht.
Beitrag #6728338 wurde von einem Moderator gelöscht.
Moby schrieb im Beitrag #6728315: > Johannes S. schrieb: >> immer wieder die gleichen Vorurteile > > Da wär ich in der Be- und Abwertung wesentlich vorsichtiger. Bist du aber nicht. Du behauptest einfach irgendwas und erwartest, dass andere das als gottgegeben hinnehmen, nur weil du das so sagst. > So wirklich erklärt hat der TO Dobby ja nicht, warum und wofür es denn > nun C++ sein muß, wenn es doch Python auf dem Raspi genauso tut. Doch, hat er: Dobby schrieb: > Ich habe jetzt vor, mich in c++ hinein zu arbeiten. Es muss C++ sein, weil er vor hat, das zu lernen. Da macht es wenig Sinn, sein Programm stattdessen in Python zu schreiben.
Moby schrieb im Beitrag #6728315: > Vielleicht etwas überspitzt zusammengefasst: Was > der gute Programmierer hinterher wirklich mit C++ an Zeit in seinen > Projekten spart ist vorher in seine Ausbildung geflossen. Lernen und Weiterbildung sehe ich nicht als Nachteil. Es gibt auch C Programmierer die nach dem ersten Kapitel glauben genug zu Wissen und bauen dann ihre "if Schleifen". 10 Abfragen hintereinander um eine Variable auf 10 Werte zu überprüfen, andere lernen weiter und erkennen das es richtige Schleifen mit for/while und Arrays und Zeigern gibt und erweitern damit ihren virtuellen Werkzeugkasten. Genauso geht es mit C++ weiter, man muss die Abstraktion verstehen die man z.B. mit der C++ Standardlib bekommt und wie einfach dann aus einem Array eine sortierte Liste wird. Der Assembler Programmierer sucht derweil noch den Fehler in der Indexberechnung seiner Strukturen. Und er mag den Umstieg von 8 auf 32 Bit nicht weil dann seine Codesammlung komplett obsolet wird. Während er noch die Registerstruktur eines Cortex-M studiert, kommt jemand und möchte einen Tensilica einsetzen weil der billig ist und sogar WLAN kann oder die Power von einem RPi Zero nutzen. Ich fand Assembler (besonders die Motorola 6809/68k) sehr interessant und es hilft dem Verständnis für µC, aber ich bin froh nicht auf so einem Level hängen geblieben zu sein. Und es ist umso besser das C++ auf µC absolut keine Ausnahme mehr ist. Natürlich könnte man versuchen etwas in asm zu optimieren, aber die vielen Tricks die ein moderner Compiler drauf hat, die muss man auch erst mal lernen. Auch Schachcomputer sind heute nicht mehr zu schlagen. > So wirklich erklärt hat der TO Dobby ja nicht, warum und wofür es denn > nun C++ sein muß, wenn es doch Python auf dem Raspi genauso tut. Eine > konkrete Anwendung die genau nach C++ schreit hat er nicht genannt. Braucht man auch nicht wenn man eine Sprache lernen möchte. Erstmal schauen und verstehen was man da alles für Werkzeuge bekommt und wie und wo man die einsetzen kann. Geht natürlich auch auf dem PC, aber mit Hardware ist es für mich auch attraktiver. Vectoren, Listen & Co. ist auf dem PC oder mittlerweile Online Compilern einfacher nachzuvollziehen, aber es spricht auch nix dagegen alles auf einem Nucleo Board zu erforschen weil das mittlerweile auch Plug&Play ist.
...und wieder wird dem "lästigen Dauerspammer" [1] eine Plattform dazu geboten, einen fremden Thread zu hijacken und zu zerstören. Obwohl er eigentlich Hausverbot hat. Oder wurde das aufgehoben? Obwohl er keine Änderung seines Verhaltens erkennen läßt, das der Grund für das Hausverbot war? [1] Beitrag "Lästiger Dauerspammer."
Beitrag #6728696 wurde von einem Moderator gelöscht.
Beitrag #6728723 wurde von einem Moderator gelöscht.
Beitrag #6728734 wurde von einem Moderator gelöscht.
Beitrag #6728880 wurde von einem Moderator gelöscht.
Beitrag #6729064 wurde von einem Moderator gelöscht.
Beitrag #6729076 wurde von einem Moderator gelöscht.
Beitrag #6729077 wurde von einem Moderator gelöscht.
Dobby schrieb: > Ich habe jetzt vor, mich in c++ hinein zu arbeiten. Aber nicht furz > trocken am pc sondern schon am raspberry Pi. Meine Anleitung funktioniert exakt so auch auf dem Raspberry Pi http://stefanfrings.de/qt_lernen/index.html
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.