Wie fang ich an?



  • Bei einigen, die sich überhaupt nicht mit der Sache auskennen (oder auf solche Leute hören), hat sich dieses Vorurteil scheinbar bis heute gehalten.

    Yup, genauso ists hier auch bei einigen C++lern. Ich muss ja keine Beispiele nennen. Oft genug wurde BASIC als nicht ernstzunehmende Sprache oder z.B als "kinderkacke" bezeichnet. 😉
    (Das wird hier anscheinend gerne übersehen) 😃



  • Ich verstehe nicht warum du hier so vehement BASIC verteidigst? Du schreibst doch selbst dass die Syntax grausam ist (IMO viel zu langatmig). Und genau das ist IMO eines der grössten Probleme mit BASIC: der Code wird sehr schnell sehr unübersichtlich. EDIT: sogesehen nehme ich BASIC sehr wohl ernst, nämlich als ernsthaft ganz schlechte Wahl für grössere Projekte 😉 /EDIT

    ---- schrieb:

    Aera schrieb:

    Also nochmal, ich will einfach zu C++ wechseln, weil
    1. es bekannter und beliebter(große Community) ist und es somit mehr Ressourcen für gibt
    2. es OOP unterstützt(Und zwar mit alles drum und dran)
    3. die Syntax mir schon immer besser gefiel als die von BASIC

    Wenn dir das alles wichtig ist, nimm um Gottes Willen Java!
    Die Community ist wirklich am größten unter allen großen Programmiersprachencommunitys, Ressoucen gibt es massenweise.

    OOP wird mit allem drum und dran unterstützt; Java ist wirklich objektorientiert und kein Hybrid wie C++.

    Die Syntax von Java entspricht praktisch der von C++.

    ACK!



  • Ich verstehe nicht warum du hier so vehement BASIC verteidigst? Du schreibst doch selbst dass die Syntax grausam ist (IMO viel zu langatmig). Und genau das ist IMO eines der grössten Probleme mit BASIC: der Code wird sehr schnell sehr unübersichtlich.

    Sicher ist die Syntax relativ grausam, aber deswegen muss mans nicht gleich als "klickibunti" bezeichnen. 😉
    Naja, ich hab mir heute jedenfalls ein Tutorial runtergeladen und habs fast durch.
    Jetzt bleibt noch die Frage offen, warum ich nicht .NET in VC++ nutzen sollte.



  • klickibunti deswegen weil die meisten BASIC IDEs viel mitbringen womit man schnell Programme zusammenklicken kann. Bitmaps laden, Sprites darstellen, Sounds abspielen - alles schon da, und meist mit IDE Unterstützung. Aus dem Grund haben auch viele Leute die von BASIC umsteigen Probleme mit anderen Sprachen, da diese das eben nicht mitbringen, und man sich daher erstmal eine Library/Engine suchen muss die das kann was man braucht, und sich dann auch noch dort durch die (oft schlechte) Doku kämpfen.
    Daher ist und bleibt BASIC für mich eine klickibunti Sprache.

    > Jetzt bleibt noch die Frage offen, warum ich nicht .NET in VC++ nutzen sollte.

    Weil du genug damit zu tun haben wirst C++ ohne die /CLI Extensions zu lernen. Also *vernünftige* Programme in *modernem* C++ zu schreiben. Hat sich enorm viel getan in denn letzten 5-10 Jahren was C++ angeht.

    Und wenn du gleich mit C++/CLI anfängst wirst du auch nicht vernüftig C++-ohne-CLI lernen. C++/CLI ist IMO etwas für Leute die schon sehr gut C++ können. Ganz davon abgesehen dass C++/CLI für die meisten Programme IMO keinen Sinn macht.



  • klickibunti deswegen weil die meisten BASIC IDEs viel mitbringen womit man schnell Programme zusammenklicken kann. Bitmaps laden, Sprites darstellen, Sounds abspielen - alles schon da, und meist mit IDE Unterstützung.

    Achso, nur weil die IDEs meistens noch ne ganze Sammlung von tollen Libs beinhalten, ist BASIC klickibunti. Das musste mal unbedingt in irgendeinem BASIC Board schreiben... 😃 😃

    Aber stell dir mal vor, was wäre denn, wenn das auch für die ganzen C++ IDEs zutreffen würde? Wäre C++ dann klickibunti? 😉



  • Klickibunti ist ja nichts schlechtes, imho das Gegenteil. Z.B. C# mit dem Visual Studio, es gibt doch kaum was angenehmeres 🙂



  • Fehlt da nicht zufälliger Weise das hier: 🤡



  • Nur, um es mal festzuhalten: Klickibunti ist nicht BASIC, sondern Windows. Solche GUIs kann man mit C++ genauso machen.

    hustbaer schrieb:

    Ich verstehe nicht warum du hier so vehement BASIC verteidigst? Du schreibst doch selbst dass die Syntax grausam ist (IMO viel zu langatmig). Und genau das ist IMO eines der grössten Probleme mit BASIC: der Code wird sehr schnell sehr unübersichtlich. EDIT: sogesehen nehme ich BASIC sehr wohl ernst, nämlich als ernsthaft ganz schlechte Wahl für grössere Projekte 😉 /EDIT

    Übersichtlichkeit des Codes ist keine Frage der Sprache, sondern des Programmierstils. Spaghetti-Code läßt sich mit C genau so realisieren- zumal es ja in C auch ein Goto gibt.

    Im Übrigen solltet Ihr Euch wirklich mal die FreeBasic-Porticula anschauen, da gibt es einen Haufen Beispiele für sehr gut lesbaren Code (für das Gegenteil natürlich auch.-).

    Aera schrieb:

    Achso, nur weil die IDEs meistens noch ne ganze Sammlung von tollen Libs beinhalten, ist BASIC klickibunti. Das musste mal unbedingt in irgendeinem BASIC Board schreiben... 😃 😃

    Ich kann den Thread gerne verlinken. Bin auch Mitglied im FB/QB-Forum.. 😋



  • Gegen Windows Forms ist nichts zu sagen. Nur dass sie zu .NET gehören und du mit C++ nicht .NET programmieren solltest.

    Also die Aussage, .Net und c++ sollte man besser nicht erst anfangen, sondern gleich C# nehmen finde ich völlig unqualifiziert.
    Ich habe da eher die Erfahrung gemacht, das C# und .Net mit VC# im reinsten Chaos endet(zumindest bei mir...)
    Ich persönlich finde Windows Forms mit c++ übersichtlicher bei der gleichen Funktionalität.

    Übrigens... mit WinForms habe ich angefangen GUI zu programmieren, aber erst nachdem ich ein klein wenig C++ gelernt hatte...
    Wenn man in C++ ein TicTacToe Spiel schreiben kann, dann kann man M.E. auch zu GUI übergehen... Bei mir war es WinForms.



  • Also, ich versuch gerade ein einfaches windows forms beispiel zu verstehen.

    Nehmen wir mal folgenden code:

    MessageBox::Show( "You must enter a name.", "Name Entry Error",MessageBoxButtons::OK, MessageBoxIcon::Exclamation );
    

    Ist Show denn nicht ne Funktion im MessageBox namespace?? Oder was soll das bedeuten?



  • Da kannste gleich mit WinAPI anfangen:

    MessageBox(NULL, "Text", "Titelzeile", MB_ICONINFORMATION | MB_OKCANCEL | MB_DEFBUTTON1);
    

    Ist zumindest weniger Schreibarbeit. 🤡



  • Ähem... eins verstehe ich nicht: Du regst Dich auf, daß C++ler gerne auf BASIC rumhacken, aber in Deinem Eröffnungs-Posting hier schreibst Du folgendes:

    nun bin ich aber, wie ihr euch jetzt sicher denken könnt, bei den sprachen an die grenzen gekommen. blitzbasic ist so oder so ne schwache sprache, ganz klar. unterstützt keine pointer,strukturen, linked lists, OOP usw. außerdem unterstützt BB gerade mal 3 variablen-typen(long,float und string).
    Und blitzmax ist auch...naja...gut, ich höre jetzt besser auf. Außerdem sind die Sprachen langsam(nein, sie sind keine interpreter, also keingrund mich zu schlagen 😃 )

    Also meiner Meinung nach bist eher Du derjenige, der auf BASIC rumhackt...



  • Mal zur Ursprünglichen frage ... Wie fang ich an ...

    Also ich würde ...
    1. Die Grundlagen von C++ lernen und bei Adam und Eva anfangen
    Also auf der Konsole ohne großes drumherum.
    2. Mich mit den Konzepten der Standard Template Library auseinander setzen
    (Die finden nämlich auch in vielen Bibliotheken verwendung)

    Wenn du schon Erfahrung mit OOP hast sollte das (mit den üblichen Qualen
    während dem lernen einer neuen Programmiersprache) ganz gut zu bewältigen sein.

    und dann drittens und letztens ...

    Schau über Microsofts .NET Tellerand noch ein Stückchen raus bevor du
    mit GUI's anfängst. Evtl. gefällt dir ein anderes Toolkit besser.
    Ab hier ist es aber geschmackssache.

    Wenn du jetzt direkt mit GUI Programmierung loslegst ohne dich in die
    elementaren Grundlagen einzuarbeiten landest du eher im siebten Kreis der
    Hölle als bei nem guten Stück Software.

    Also, ich versuch gerade ein einfaches windows forms beispiel zu verstehen.

    Nehmen wir mal folgenden code:

    MessageBox::Show( "You must enter a name.", "Name Entry Error",MessageBoxButtons::OK, MessageBoxIcon::Exclamation );
    

    Ist Show denn nicht ne Funktion im MessageBox namespace?? Oder was soll das bedeuten?

    ⚠ ... Ohne mich besonders mit windows forms auszukennen
    Aber da gehts schon los ... ⚠



  • Also meiner Meinung nach bist eher Du derjenige, der auf BASIC rumhackt...
    Ich hack auf nichts rum. Das BlitzBasic ne schwache Sprache(und auch hauptsächlich für die Entwicklung von Spielen gedacht ist), wissen viele. Sprachen wie PureBasic hingegen sind sehr gut, aber leider nicht so bekannt. Aber zu behaupten, ne Sprache sei "KlickiBunti", nur weil die Standrd-IDE mit einigen guten Libs angeboten wird, dass ist nicht sehr qualifiziert...(Macht auch keinen Sinn, denn was hat die Sprache damit zu tun). Ist jetzt nur ein Beispiel. In nem anderen Thread z.B meinte einer, er müsse ich sich aufblasen und nem BASICler sagen:"Nimm Basic von deiner Signatur, dann nehme ich dich ernst."

    Da kannste gleich mit WinAPI anfangen:
    Würde auch lieber die WinAPI Funktion benutzen, aber beim Einbinden von windows.h in nem Windows-Forms-Projekt wird mir ein Error gemeldet...

    ⚠ ... Ohne mich besonders mit windows forms auszukennen
    Aber da gehts schon los ... ⚠

    Was bitte geht denn los? Halbe Sätze helfen niemandem. 😉
    Aber wenn du meinst, ich hätte keine Ahnung von C++, stimmt, noch habe ich wenig Ahnung.
    Aber in dem Tutorial, das ich durchgearbeitet habe, stand, dass man so(namespace::function(..);) z.B ne Funktion von nem anderen namespace aufruft. Ich dachte bei dieser MessageBox-Funktion auch erst: Hä? Auf der MS-Seite steht was von MessageBox-Klasse...

    Aber ich mein, in einem Tag kann man auch nicht durchs ganze .NET Framework durchblicken. Vielleicht wärst du so nett und erklärst mir den code. Das hilft mir nämlich mehr. 😉

    Kennt jemand ein gutes, beliebtes C++ Tut.?

    Achja, und eigentlich würde ich ja gerne wxWidgets benutzen(Da blick ich nämlich einigermaßen durch), aber irgendwie will sich das nicht installieren lassen.
    Hehe, BASIC also klickibunti, weils so vollgefüllt mit einfachen libs ist. Was ist dann C++, wenn sich die Libs nicht mal einfach installieren lassen? 🤡



  • http://www.mathematik.uni-marburg.de/~cpp/
    http://tutorial.schornboeck.net/inhalt.htm

    z.B.

    such einfach bei google

    Und wie schon erwähnt erst die basics und dann die gui

    Da kannste gleich mit WinAPI anfangen:
    Würde auch lieber die WinAPI Funktion benutzen, aber beim Einbinden von windows.h in nem Windows-Forms-Projekt wird mir ein Error gemeldet...

    Das meinst du nicht erst oder?

    Achja, und eigentlich würde ich ja gerne wxWidgets benutzen(Da blick ich nämlich einigermaßen durch), aber irgendwie will sich das nicht installieren lassen

    Fehlrmeldung? Ansonsten CodeBlocks installieren und danach das wxpack. Sollte eigendlich funktionieren



  • Was bitte geht denn los? Halbe Sätze helfen niemandem.
    Aber wenn du meinst, ich hätte keine Ahnung von C++, stimmt, noch habe ich wenig Ahnung.
    Aber in dem Tutorial, das ich durchgearbeitet habe, stand, dass man so(namespace::function(..) z.B ne Funktion von nem anderen namespace aufruft. Ich dachte bei dieser MessageBox-Funktion auch erst: Hä? Auf der MS-Seite steht was von MessageBox-Klasse...

    Na das geht los ... der Durchblick fehlt ...
    Was ist jetzt ein Namespace, wie funktioniert eine klasse,
    wie ruf ich was mit welchen Parametern auf und wie passt das denn alles zusammen.

    Wie ich vorhin schon schrieb, fang bei Adam und Eva an. Tutorials dazu finden
    sich in allen schwierigkeitsgraden und mit empfehlungen hier im Forum.

    Da ist dir auch mit nem code Beispiel nicht geholfen.

    Abgesehen davon das ich dir keins geben könnte,
    da ich normalerweise nicht mit Microsoft Produkten Arbeite und mich
    entsprechend nicht genug damit auskenne.



  • Das meinst du nicht erst oder?

    Syntax-Error 😛



  • Aera schrieb:

    Das meinst du nicht erst oder?

    Syntax-Error 😛

    Das ist mein voller Ernst ...

    ... Naja zugegeben ... zum Teil hab ichs etwas übertrieben formuliert.

    Da du ja nach eigener Aussage Programmieren kannst, brauchst du keine Woche
    damit verbringen dir verzweigungen und schleifen anzusehn 😉

    Aber was c++ Sprachkonzepte angeht bist du meiner Meinung nach gezwungen
    bei 0 anzufangen.

    Glaubs oder nicht ... aber das ist als ich mit C++ angefangen habe meine Erfahrung gewesen.



  • Glaubs oder nicht ... aber das ist als ich mit C++ angefangen habe meine Erfahrung gewesen.

    Och, glauben tu ich schon. Ist für mich aber halt schwer von 0 anzufangen, da ich schon große, professionelle Anwendungen entwickelt habe und nicht vier Jahre lang Hello-World-Programme getippt habe.

    Das ist mein voller Ernst ...

    Ähhhm...
    Also ich hab heute nur 3 Stunden geschlafen und kann auch sein dass ich mich jetzt ziemlich dumm anstelle, aber, gibst du dich hier als ein weiterer user aus??.



  • Aera schrieb:

    Glaubs oder nicht ... aber das ist als ich mit C++ angefangen habe meine Erfahrung gewesen.

    Och, glauben tu ich schon. Ist für mich aber halt schwer von 0 anzufangen, da ich schon große, professionelle Anwendungen entwickelt habe und nicht vier Jahre lang Hello-World-Programme getippt habe.

    Na dann wirst du auch nicht so lang brauchen C++ zu verstehn
    und mit sicherheit nicht über Jahre hinweg Hello World Programme schreiben.

    Aber deine Frage war "wie Fange ich an" und da sind die Grundlagen
    ein Absolutes Muß (meiner Meinung).

    Du wirst dich ja nicht daran aufhängen wenns darum geht ne schleife zu schreiben.

    Aber zum beispiel ist das wissen wie sich manche Nebeneffekte auswirken
    sehr Nützlich. Abgesehn davon bietet C++ einige sprachliche Mittel die
    in anderen sprachen ganz anders eingesetzt werden.

    Ich will dich ja nicht entmutigen aber (wieder nur meine Meinung)
    C++ ist keine Sprache die man sich mal eben schnell aneignen kann.


Anmelden zum Antworten