Ich habe bereits einige Grundkenntnisse in der Programmierung mit C++ (bin aber eben doch noch Anfänger) und was mich bisher an der Programmierung mit C++ stört, ist die Tatsache, dass man nur intern in den Programmieroberflächen (ich kenn bisher code::blocks und visual studio) agieren kann und nicht auf andere Programme, Oberflächen, etc. übergreifen kann. Kommt diese Verbindung zwischen Programmiersprache C++ und anderer Software erst bei höherem Wissensstand zu Stande oder sollte ich vielleicht die Programmiersprache wechseln? Mit freundlichen Grüßen, Ted.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
allgemeine Fragen eines Anfängers zur Programmierung mit C++
- Ersteller ted2.0
- Erstellt am
Multivac
Lt. Junior Grade
- Registriert
- Aug. 2010
- Beiträge
- 282
"ist die Tatsache..." dein Quellcode ist nur Text, diesen kannst du niederschreiben wie auch immer du magst. Um zu compilieren und linken brauchst du keine ide , hier kommt bei Microsoft in der Regel MSBuild zum Einsatz.
Mit Verlaub: Ich verstehe die Frage nicht mal.
Was meint du mit "agieren kann und nicht auf andere Programme, Oberflächen, etc. übergreifen kann."?
Was meint du mit "agieren kann und nicht auf andere Programme, Oberflächen, etc. übergreifen kann."?
KitKat::new()
Rear Admiral Pro
- Registriert
- Okt. 2020
- Beiträge
- 5.952
ja:ted2.0 schrieb:Kommt diese Verbindung zwischen Programmiersprache C++ und anderer Software erst bei höherem Wissensstand zu Stande
- Compiler kannst du auch so verwenden (und austauschen, solange du nicht compilerspezifische Dinge machst)
- Editor/IDE kannst du sowieso austauschen
Ich kann zu Code::Blocks nicht sagen, aber bei VisualStudio wirst du als Anfaenger mit Sicherheit ein Projekt erstellt haben. Und du hast recht, das kannst du nicht unbedingt mit allen anderen Editoren und IDEs oeffnen.
Das liegt aber an der erstellen Visual Studio Projektdatei (sie nennen es Solution). In dieser sind ne Menge Metainformationen (Compiler Flags, Include Pfade, Linker Flags usw. usf.). Das ist Convenience, aber wie meine Vorredner auch schon gesagt haben, nicht zwingend notwendig.
Visual Studio benutzt unter der Haube (wir bleiben jetzt mal bei Windows) den Microsoft Compiler MSVC und MSBuild. Du kannst also nur mit Notepad und einer Kommandozeile bewaffnet C++ schreiben, kompilieren und ausfuehren. Allerdings hast du dann keine "Convenience"-Funktionen um das Projekt mit einem Knopfdruck zu kompilieren, linken und ne Debug-Session zu starten. Das ist dann einfach etwas mehr Handarbeit.
Es gibt auch Tools, die diese Probleme angehen: Convenience und weniger "Vendor Lock-In". Prominentestes Beispiel waere CMake. Fuer CMake schreibst du deine "Projektdatei" als Code in eine Datei, CMakeLists.txt. Darin beschreibst du, wie es Visual Studio im Solution File fuer dich automatisch tut (und welches du mittels GUI in Visual Studio editieren kannst), die Beschaffenheit deines Projekts: Include-Pfade, Source Files, Compiler- und Linkercommands, usw. usf.
CMake generiert dann, je nach Plattform, entsprechende Dateien, die es dir ermoeglichen, sehr einfach dein Projekt zu bauen. CMake kann dir auch beim Bauen und Testen helfen.
Der Clou daran ist, dass CMake breiten Support hat, spricht sehr viele IDEs (u.a. auch Visual Studio) CMake-basierte Projekte oeffnen und bauen koennen.
Ich wuerde dir als blutigem Anfaenger allerdings zunaechst klar von CMake abraten und erstmal die Kommandozeile empfehlen. Die meisten Tutorials diesbezueglich kommen da allerdings aus der Linux-Welt und benutzen GCC. Auch das koenntest du unter Windows benutzen (Stichwort WSL oder MinGW).
Das liegt aber an der erstellen Visual Studio Projektdatei (sie nennen es Solution). In dieser sind ne Menge Metainformationen (Compiler Flags, Include Pfade, Linker Flags usw. usf.). Das ist Convenience, aber wie meine Vorredner auch schon gesagt haben, nicht zwingend notwendig.
Visual Studio benutzt unter der Haube (wir bleiben jetzt mal bei Windows) den Microsoft Compiler MSVC und MSBuild. Du kannst also nur mit Notepad und einer Kommandozeile bewaffnet C++ schreiben, kompilieren und ausfuehren. Allerdings hast du dann keine "Convenience"-Funktionen um das Projekt mit einem Knopfdruck zu kompilieren, linken und ne Debug-Session zu starten. Das ist dann einfach etwas mehr Handarbeit.
Es gibt auch Tools, die diese Probleme angehen: Convenience und weniger "Vendor Lock-In". Prominentestes Beispiel waere CMake. Fuer CMake schreibst du deine "Projektdatei" als Code in eine Datei, CMakeLists.txt. Darin beschreibst du, wie es Visual Studio im Solution File fuer dich automatisch tut (und welches du mittels GUI in Visual Studio editieren kannst), die Beschaffenheit deines Projekts: Include-Pfade, Source Files, Compiler- und Linkercommands, usw. usf.
CMake generiert dann, je nach Plattform, entsprechende Dateien, die es dir ermoeglichen, sehr einfach dein Projekt zu bauen. CMake kann dir auch beim Bauen und Testen helfen.
Der Clou daran ist, dass CMake breiten Support hat, spricht sehr viele IDEs (u.a. auch Visual Studio) CMake-basierte Projekte oeffnen und bauen koennen.
Ich wuerde dir als blutigem Anfaenger allerdings zunaechst klar von CMake abraten und erstmal die Kommandozeile empfehlen. Die meisten Tutorials diesbezueglich kommen da allerdings aus der Linux-Welt und benutzen GCC. Auch das koenntest du unter Windows benutzen (Stichwort WSL oder MinGW).
Vielen Dank für eure Antworten!
blöderidiot
Captain
- Registriert
- Juni 2004
- Beiträge
- 3.881
Für das C++-Lernen brauchst Du streng genommen gar keine Entwicklungsumgebung und auch keinen installierten Compiler: https://www.jdoodle.com/online-compiler-c++14/
Die Frage der "Infrastruktur" (Entwicklungsumgebungen, Build-Systeme) ist wieder eine Welt für sich und weist auf eine Wissenschaft für sich. Sehr komfortable Umgebungen für Einsteiger sind z.B. Visual Studio und Qt-Creator. Den C++-Quelltext kann man in der Regel so schreiben, dass er zwischen verschiedenen Betriebssystemen "kompatibel" ist - und auch in verschiedene Entwicklungsumgebungen "aufgenommen" werden kann. Aber Schritt für Schritt.
Die Frage der "Infrastruktur" (Entwicklungsumgebungen, Build-Systeme) ist wieder eine Welt für sich und weist auf eine Wissenschaft für sich. Sehr komfortable Umgebungen für Einsteiger sind z.B. Visual Studio und Qt-Creator. Den C++-Quelltext kann man in der Regel so schreiben, dass er zwischen verschiedenen Betriebssystemen "kompatibel" ist - und auch in verschiedene Entwicklungsumgebungen "aufgenommen" werden kann. Aber Schritt für Schritt.
kuddlmuddl
Commander
- Registriert
- Mai 2010
- Beiträge
- 2.693
Kommt diese Verbindung zwischen Programmiersprache C++ und anderer Software erst bei höherem Wissensstand zu Stande oder sollte ich vielleicht die Programmiersprache wechseln?
Was meinst du damit? Wie dein C++ Programm, zB per Dateien oder Datenbanken, Informationen mit anderen Programmen austauscht?
@kuddlmuddl
Genau das meine ich.
Genau das meine ich.
So wie in jeder anderen Programmiersprache auch, also nein, das ist nicht C++ spezifisch und daher ist es richtig das kommt "erst bei höherem Wissensstand zu Stande".ted2.0 schrieb:Genau das meine ich.
Da hab ich ja voll an der Frage vorbeigepostet, sorry.
@m.c.ignaz: Da sollte sich der Fragesteller entschuldigen, nicht du…
@kuddlmuddl, Respekt, dass du den Satz verstanden hast Ich versteh ihn selbst nach deiner "richtigen" Antwort nicht
###Zaunpfahl###
Lt. Commander
- Registriert
- Jan. 2010
- Beiträge
- 1.599
Da du es ja schon selbst angesprochen hast.ted2.0 schrieb:sollte ich vielleicht die Programmiersprache wechseln?
Natürlich musst du nicht aber wenn du dich überfordert fühlst würde ich es dir schon empfehlen. Für den Einstieg würde ich eher
Javascript
oder Python
nehmen. Mit denen kommt man schneller zu Erfolgen was denke ich motivierender ist. Mit dem Sprachen hat man eben weniger Kontrolle und weniger Möglichkeiten seinen Code zu Organisieren und Typisieren aber das macht es für den Anfang einfacher und wenn man nur alleine daran Arbeitet braucht man das auch garnicht.Ich denke zu diesen Fragenkomplex der hier jetzt aufgemacht worden ist findet der TE bei Bedarf mehr als genug Diskussion hier im Forum.
TriggerThumb87
Banned
- Registriert
- März 2020
- Beiträge
- 1.306
Nein.###Zaunpfahl### schrieb:Für den Einstieg würde ich eherJavascript
oderPython
nehmen.
Man lernt mit Skriptsprachen wie diesen nicht wie IT funktioniert. Dann kann man es gleich sein lassen.
Andere höhere, richtige Sprachen, gibt es genug. Abseits von diesem pseudomodernen Hippiescheiß. Aber diese Frage wird hier ja regelmäßig gestellt. Redundanz ist hier genug vorhanden.
@TriggerThumb87: Und beim Autofahren hast du erst mal gelernt, wie der Motor und das Getriebe funktionieren?
Die Sprache ist ein Mittel. Wer will, kann tiefer ins Detail gehen, wer will kann oberflächlicher bleiben. Je nachdem, was man lernen will.
Und um beim Auto-Vergleich zu bleiben: Man lernt in der Fahrschule das Fahren, und nicht, wie man genau ein Auto fährt. Auch wenn es Anfang angenehmer ist, immer im gleichen Auto zu fahren, weil es vertraut ist. Aber wichtiger ist es, die Konzepte des Fahrens zu lernen. Und ja, gibt Autos, die dafür mehr und Autos, die dafür weniger geeignet sind.
Aber vermutlich kommt von deinem durch Intoleranz geprägten Post ("richtige Sprachen", "pseudomodernen Hippiescheiß") eh kein vernünftiger Beitrag mehr zu dem Thema. Die Intoleranz ist bestimmt auch redundant hier im Forum.
Die Sprache ist ein Mittel. Wer will, kann tiefer ins Detail gehen, wer will kann oberflächlicher bleiben. Je nachdem, was man lernen will.
Und um beim Auto-Vergleich zu bleiben: Man lernt in der Fahrschule das Fahren, und nicht, wie man genau ein Auto fährt. Auch wenn es Anfang angenehmer ist, immer im gleichen Auto zu fahren, weil es vertraut ist. Aber wichtiger ist es, die Konzepte des Fahrens zu lernen. Und ja, gibt Autos, die dafür mehr und Autos, die dafür weniger geeignet sind.
Aber vermutlich kommt von deinem durch Intoleranz geprägten Post ("richtige Sprachen", "pseudomodernen Hippiescheiß") eh kein vernünftiger Beitrag mehr zu dem Thema. Die Intoleranz ist bestimmt auch redundant hier im Forum.
TriggerThumb87
Banned
- Registriert
- März 2020
- Beiträge
- 1.306
Ich interessiere mich nicht für grundlagenlose Vergleiche. Das Absurde ist, dass gerade bei Python das Debuggen sehr schwierig ist und die Typisierung so unglaublich schwach und die Syntax so intransparent wichtig, dass man als Anfänger Schwierigkeiten hat, Programmcode richtig zu verstehen und Konzepte hinter der Sprache spezifisch und allgemein zu begreifen. Und das betrifft nicht nur Anfänger. Es ist nicht produktiv, wenn ein eigentlicher Syntaxfehler nicht als solcher erkannt wird und einfach dazu führt, dass die Instanz ab da in etwas anderes gecastet wurde, was dir erst im weiteren Programmverlauf an anderen Stellen durch absurde unvorhergesehene Abläufe klar wird.
Es ist nicht produktiv, wenn andere, ausführungsstoppende Syntaxfehler erst gemeldet werden, wenn der entsprechende Codebereich übersetzt wird, bei der Ausführung.
Wenn das alles nicht Frust ist, dann kann derjenige sehr viel Spaß mit Python und co. haben.
Wenn mir beim Autofahren beigebracht wird, dass ich nur beschleunige, wenn ich den kleinen Finger an der rechten Hand hochziehe, dann habe ich den falschen Fahrlehrer. Danke Python. (Angefügt um zu zeigen wie absurd Vergleiche sind.)
Danke für die persönlichen Angriffe und Mutmaßungen. Schönen Sonntag.
Es ist nicht produktiv, wenn andere, ausführungsstoppende Syntaxfehler erst gemeldet werden, wenn der entsprechende Codebereich übersetzt wird, bei der Ausführung.
Wenn das alles nicht Frust ist, dann kann derjenige sehr viel Spaß mit Python und co. haben.
Wenn mir beim Autofahren beigebracht wird, dass ich nur beschleunige, wenn ich den kleinen Finger an der rechten Hand hochziehe, dann habe ich den falschen Fahrlehrer. Danke Python. (Angefügt um zu zeigen wie absurd Vergleiche sind.)
Danke für die persönlichen Angriffe und Mutmaßungen. Schönen Sonntag.
Zuletzt bearbeitet:
Die Sprachen so zu betiteln ist schon irgendwie witzig. "Alter ranziger Scheiß" wäre ja noch ok und diskutabel, aber "pseudomodern"?
PS.: Wobei, ich hatte es erst anders gelesen, das passt ja doch .
Programmieranfänger sind sowieso mit Syntax beschäftigt erstmal und daran ist nichts auszusetzen. Es bleibt dabei: Man nehme einfach eine Sprache auf die man Bock hat, warum auch immer (innerhalb der Grenzen weit verbreiteter Sprachen).
PS.: Wobei, ich hatte es erst anders gelesen, das passt ja doch .
Programmieranfänger sind sowieso mit Syntax beschäftigt erstmal und daran ist nichts auszusetzen. Es bleibt dabei: Man nehme einfach eine Sprache auf die man Bock hat, warum auch immer (innerhalb der Grenzen weit verbreiteter Sprachen).
TriggerThumb87
Banned
- Registriert
- März 2020
- Beiträge
- 1.306
BeBur schrieb:Programmieranfänger sind sowieso mit Syntax beschäftigt erstmal und daran ist nichts auszusetzen.
Das stimmt. Daher finde ich es gerade für einen Anfänger richtig, dass übergreifende Konzepte von Anfang an transparent und nachvollziehbar dargestellt werden und somit einfacher richtig erlernt werden können.
BeBur schrieb:Die Sprachen so zu betiteln ist schon irgendwie witzig.
Ich polarisiere sehr gern, bin dabei aber auch sehr direkt. Das stellt für den Leser Eigenbezug her, er fühlt sich angesprochen. Einige kommen aber damit nicht klar.