Grundlagen Kurs absolviert - Wie geht es weiter?



  • Hallo Leute! Ich hoffe, dass mir jemand von euch weiterhelfen kann.

    Ich habe folgdenen Kurs auf Udemy absolviert und dort meiner Meinung nach die Grundlagen wirklich gut beigebracht bekommen. (https://www.udemy.com/cpp-bootcamp/)

    Folgendes Problem: Mein Ziel ist es für meine Firma ein kleines Fuhrpark Programm, in dem Fahrzeuge, km, Inspektionen, Rechnungen usw gespeichert werden können. Dafür müsste das ganze aber über unseren Server laufen und von mehreren PCs aus bearbeitet werden können, da ja jeder Nutzer (insgesamt 2-3) in die selbe Datenbank auf dem Server speichern soll.

    Mein Problem ist nun: Wo bzw. kann ich nun den fehlenden Teil lernen? Sprich den Datenbank Teil und den Networking / Server Teil? Das wurde beides leider in meinem Kurs nicht behandelt.

    Ich bin für jede Art von Tipp froh, der Kurs darf auch gerne etwas kosten, oder ein Buch, YT Playlist oder was auch immer...hauptsache ich kriege das irgendwie hin 😉

    Vielen Dank schon mal und einen schönen Tag! 🙂



  • Den Netzwerkkram kannste von der Datenbank machen lassen, das musst du nicht mehr selbst programmieren. Im ersten Schritt suchst du dir ein DBMS (MSSQL, postgres, MariaDB, Oracle, etc.) und guckst, dass du da die entsprechenden Bibliotheken für den db Zugriff und deine Entwicklungsumgebung findest. Dann setzt du das DBMS lokal auf, legst die Tabellen an, guckst dir die Beispiele zum Zugriff auf das entsprechende DBMS an und setzt das entsprechend deinen Bedürfnissen um.



    1. Sowas will man üblicherweise nicht mit C++ machen. Anbieten würden sich z.B. Java oder C#. In C++ kann man sowas natürlich machen, aber es ist selbst für erfahrene C++ Programmierer mehr Aufwand als es mit Java oder C# zu machen. Vermutlich sogar wenn der erfahrene C++ Programmierer dazu erstmal Java oder C# lernen muss.
    2. Man kann sowas, wie DocShoe vorgeschlagen hat (wenn ich ihn richtig verstanden habe), natürlich "serverless" machen. Also so dass jeder Client direkt und nur mit der DB kommuniziert. Aber mittelfristig führt das oft zu Problemen.
    3. Überleg dir ob du das ganze als "normales Programm" machen willst, oder ob du nicht gleich ne Web-Anwendung draus machen willst. Hat natürlich beides Vor- und Nachteile, aber es klingt für mich jetzt nicht so als ob ne Web-Anwendung da gleich von vornherein ausscheiden würde.
    4. Überleg dir das Datenmodell sehr gut.
    5. Falls du eine Variante mit einer klassischen Client-Anwendung machst, bau einen Mechanismus ein über den du Clients mit alten Versionen blocken kannst. In der "serverless" Variante z.B. indem der Client in der DB nachguckt was die kleinste erlaubte Client-Version ist, und sich dann ggf. selbst blockt. Sonst werden Updates bei denen man z.B. etwas am Datenmodell ändern muss sehr lästig.


  • Danke schon mal für die Antworten!

    Java war anfangs auch meine erste Idee, aber dort hat man mir damals von abgeraten, da es hieß java wäre für aufwendigere Programme und Office Anwendungne zu langsam?



  • Willst du eine Office Anwendung oder ein Fuhrpark Programm schreiben?

    Ich würde hier auch eher C# empfehlen. Ich selber würds schon in C++ schreiben, weil ich grad keine Lust habe, was anderes zu machen. Aber solche Anwendungen sind grad die Domäne von C# und Java. Und Java mag ich nicht 😉



  • @ThomasO247
    "Java ist langsam" kann man so nicht sagen. Java braucht ein bisschen zum Starten und Java braucht ein bisschen zum "Warmlaufen". Wenn es mal gestartet und warmgelaufen ist, ist es gerade für so unspektakuläre Dinge wie Office-Anwendungen und dergleichen locker schnell genug.

    Ich persönlich mag auch C# lieber, aber Java hat immer noch die grössere Verbreitung, mehr Libraries, mehr Tools, mehr Programmierer die Java können. Von daher sollte man es auf jeden Fall erwähnt haben.

    C# ist die modernere Sprache und bietet mit Visual Studio (inklusive nuget & co) eine super Plattform mit der man direkt losstarten kann ohne sich erst diverse Tools zusammenzusuchen.

    Natürlich gibt es noch andere Kandidaten die man in Betracht ziehen könnte wie Python, Perl, Ruby, Node.JS. Wenn du allerdings schon C++ kannst würde ich eben Java oder C# empfehlen, da die beiden mMn. noch am meisten Ähnlichkeiten mit C++ haben.



  • hustbaer schrieb:

    ist es gerade für so unspektakuläre Dinge wie Office-Anwendungen und dergleichen locker schnell genug.

    Kommt drauf an, was du unter Office Anwendungen verstehst... Ich würde kein Java-Word oder Java-Excel haben wollen, auch wenn die nicht so spektakulär sind. Die müssen schnell reagieren, auch bei umfangreichen und komplexen Dokumenten, und da hätte ich bei Java schon massiv Bedenken.



  • Wüsste nicht wo da genau das Problem sein sollte. Kommt natürlich auch immer drauf an wie man programmiert und mächtige komplexe GUI Frameworks verleiten natürlich zum Schludern. Andrerseits kann man das in C++ genau so.



  • Ich meine nicht die GUI. Ich denke vor allem an das DOM und die ganzen Operationen darauf. Allein durch Value Objekte ist da in C++ denke ich viel gewonnen, und allein ein Java-lastiger Stil wäre hier kontraproduktiv für die Performance.
    Jedenfalls halte ich sowas in Java für kaum praktikabel. Aber egal, ich wollt das Thema auch gar nicht wirklich vertiefen.


Log in to reply