- LiTime Speicher und Akkus         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 20

Thema: Vorstellung meines Programmiertutorials auf Youtube

  1. #1

    Vorstellung meines Programmiertutorials auf Youtube

    Anzeige

    Praxistest und DIY Projekte
    Hallo,

    ich habe ein Programmiertutorial zum Thema Programmierfallen erstellt und auf YouTube veröffentlicht:

    https://youtu.be/1U-v84M-1t0

    Gibt es noch weitere Themen, wo ihr noch ein Tutorial dieser Art sucht?

  2. #2
    ces
    Gast
    Vielen Dank für die Erleuchtung, so Leute bräuchte es viel mehr. Das Video kann ein Jahrzehnt grübeln einsparen.
    Dachte das wäre nur bei SPS Simatic so und deshalb nervig, weil z.B. Ausgänge nur einmal belegt werden können.
    Jetzt find ich es genial und habs auch verstanden. Ein Irrweg dorthin war Logikmodul LOGO!

    Betreff objektorientierte Programmierung ist mir z.B das Herausarbeiten welche Daten (oder Zustände) ich den
    Eigenschaften oder Methoden() und set() get() zuordne ein weiterer Hemmschuh.

    - - - Aktualisiert - - -

    Ja und für welche Problemstellung ist objektorientierte Programmierung unumgänglich?

  3. #3
    HaWe
    Gast
    Zitat Zitat von ces Beitrag anzeigen
    Ja und für welche Problemstellung ist objektorientierte Programmierung unumgänglich?
    gar nichts ist hier unumgänglich, auch C++ wurde ja als Erweiterung von C alleine mit den C-Bordmitteln möglich, also kann man es z.B. auch selber ohne die ++ Erweiterung alleine mit ANSI C (C99) schaffen. Java hat dann C++ nur von Grund auf neu erfunden (ohne historischen C-Ballast, sogar main() ist hier eine OOP-Methode).

    OOP (C++, Java, Pascal/Delphi, C#,...) macht aber vieles sehr viel einfacher, wenn man eine große Anzahl gleichartig oder ähnlich funktionierender Funktionsstrukturen hat (=> mehrere Instanzen derselben Basis-Objekts), und wenn einige davon sich nur in wenigen Details von anderen unterscheiden (=> Vererbung).
    Beispiele:
    - Fensterobjekte mit gleichartigen Grundsteuerungen sowie optionalen Menüs und Gadgets in GUI-Applikationen
    - Simulationsspiele mit-zig Spielfiguren, die dort alle gleichartige oder ähnliche Grundeigenschaften und Funktionsfähigkeiten haben (Age of Empires, Civilization, Siedler, Fifa, MarioCart, Lemminge, ...)
    - Softwaredriver für mehrere Implementierungen von gleichartigen Hardware-Devices (gleichartige Grundobjekte für verschiedene Displays wie bei Adafruit GFX mit identischer API, mehrere Instanzen derselben Device-Objekte, wenn nicht nur 1, sondern viele davon parallel betrieben werden sollen,...)

    Es geht auch hier sicher ohne OOP, aber mit OOP muss man nicht immer wieder das Rad neu erfinden.

  4. #4
    Erfahrener Benutzer Roboter Genie Avatar von White_Fox
    Registriert seit
    04.10.2011
    Beiträge
    1.473
    Zitat Zitat von HaWe Beitrag anzeigen
    Java hat dann C++ nur von Grund auf neu erfunden (ohne historischen C-Ballast, sogar main() ist hier eine OOP-Methode).
    Naja, ein paar Designentscheidungen, die sich bei C++ als häufige Fehlerquelle erwiesen haben, wurden schon besser gelöst. Keine Mehrfachvererbung, und Pointer mußte man in Java auch noch niemandem erklären. Oder gar Pointerarythmetikfehler beheben. Oder das Überschreiben fremder Speicherbereiche.


    Zitat Zitat von HaWe Beitrag anzeigen
    Es geht auch hier sicher ohne OOP, aber mit OOP muss man nicht immer wieder das Rad neu erfinden.
    Ganz genauso ist es. Ich möchte noch anfügen, daß sich die Realität objektorientiert oft sehr einfach beschreiben läßt. Und manche sehr komplexe Problemstellung läßt sich objektorientiert wunderbar elegant lösen, wenn man sich mal ein paar Entwurfsmuster ansieht. Das Dekoratormuster ist da so mein Lieblingsbeispiel:
    https://www.philipphauer.de/study/se.../decorator.php
    Man kann sowas natürlich auch prozedural lösen, sogar in Assembler...aber warum will man das, wenn es auch anders geht?

  5. #5
    ces
    Gast
    Kurze Frage noch bevor ich mich mich mal versuche.
    Es gibt für dieselbe Problemstellung immer nur eine einzig richtige Beschreibung und Entwurfsmuster?
    Jeder z.B. C++ Programmierer würde zum selben Ergebnis kommen und es dann "einfach" innerhalb der Methoden etwas anders umsetzen?

    - - - Aktualisiert - - -

    Ach ja und ist es Plicht sich um Garbage Collector und Exceptions (sieht man selten) explizit zu kümmern?
    Bin am Buch "Java in 21 Tagen" kläglich gescheitert. Habe genau 0 verstanden, Java gewählt weil kein GC notwendig.

    - - - Aktualisiert - - -

    Mein Hello World das ich mir immer aussuche ist meine Waschmaschiene:

    Anhang 34404

    Konkrete "Basisgerichte"
    Pumpen Abpumpen Heizen Waschen Spülen Schleudern

    Konkrete "Beilagen"
    Temperatur Umdrehungszahl Optionen ExtraSpülen

  6. #6
    HaWe
    Gast
    Zitat Zitat von Tesla42 Beitrag anzeigen
    Gibt es noch weitere Themen, wo ihr noch ein Tutorial dieser Art sucht?
    ja, auch ich finde, dass OOP ein gutes Thema ist für Tutorials.
    Allerdings ist die Umsetzung so stark PL-abhängig, dass ein sinnvolles Tutorial PL-spezifisch sein sollte (höchstens eine SEHR kurze Einfühung mit Flowcharts) - andernfalls versteht man nur, wie es grundsätzlich funktionieren KÖNNTE, scheitert aber bereits beim PL-spezifischen Objektdesign und erst recht dann bei der korrekten Implementierung von Methoden und der späteren Instanziierung.
    Da hier im Forum wesentlich mehr Leute C++ als irgendwas anderes nutzen dürften (allein schon alle Arduino-Nutzer, aber auch auf dem Pi ist C++ verbreiteter als z.B. Java), würde ich zumindest konkrete Beispiele in C++ empfehlen.
    Wichtig fände ich es auch, dass man (zumindest fast) alle Resourcen zum Tutorial in Schriftform downloaden kann (pdfs und Sourcecode, am einfachsten über github!)

  7. #7
    Erfahrener Benutzer Roboter Genie Avatar von White_Fox
    Registriert seit
    04.10.2011
    Beiträge
    1.473
    Entwurfsmuster an sich kann man schon sehr allgemein erklären, da gibt es nur sehr wenig was programmiersprachenspezifisch ist (z.B. Vererbungsbäume kreuzen erlaubt ja/nein). Aber die meisten OO-Sprachen haben, was ihren Funktionsumfang angehe, doch eine recht große Schnittmenge. Die Bezeichnungen für ein und dasselbe sind vielleicht unterschiedlich.

    Ich habe, als ich mich mit OOP befasst habe, mal das Buch Entwurfsmuster von Kopf bis Fuß durchgearbeitet (sehr gutes Buch). Da wurde alles mit Java-Code erklärt mit dem Hinweis, daß alles in C++ genauso funktioniert. Bis auf ein Detail, die in C++ umsetzbar ist, in Java aber nicht wegen der verbotenen Kreuzvererbung.

    Da man mit Java auf Mikrocontrollern aber leider nicht allzuweit kommt wäre C++ vielleicht wirklich nicht schlecht, aber besser wäre m.E. wenn das programmiersprachen- und problemunabhängig wäre. Damit können Systematiken besser in den Vordergrund gerückt werden und es artet weniger in stumpfem Nachmachen aus.



    Zitat Zitat von ces Beitrag anzeigen
    Es gibt für dieselbe Problemstellung immer nur eine einzig richtige Beschreibung und Entwurfsmuster?
    Jeder z.B. C++ Programmierer würde zum selben Ergebnis kommen und es dann "einfach" innerhalb der Methoden etwas anders umsetzen?
    Ist das ein Witz, den ich nur nicht verstehe? Richtiger ist doch viel mehr "Viele Wege führen nach Rom".

  8. #8
    ces
    Gast
    Nein kein Witz, dachte bei OOP kommt man wenn es verstanden ist ohne Gefrickel aus.
    Die "Schönheit" der Beispiele täuscht wohl.
    https://www.forschung-und-lehre.de/f...e-physik-2045/

  9. #9
    HaWe
    Gast
    Zitat Zitat von ces Beitrag anzeigen
    Nein kein Witz, dachte bei OOP kommt man wenn es verstanden ist ohne Gefrickel aus.
    Die "Schönheit" der Beispiele täuscht wohl.

    in C++ ist man ebenso frei, seine Programme zuschreiben, wie bei C - eigentlich noch freier, da C nur eine Untermenge von C++ ist. Niemand schreibt vor, welche Variablen isoliert sind oder in einer Struktur stehen oder in einer class, und niemand schreibt vor, was in einer class public oder private oder protected ist, und niemand schreibt vor, welche Funktionen global sind oder in einer class als Methode stehen und dort private, public oder protected, und niemand schreibt vor, ob Funktionen void sind oder Rückgabewerte haben und ob Variablen per value oder per reference übergeben werden.
    Um aber die Ratschläge eines Tutorials zu verstehen und auch praktisch umsetzen zu können, ist eine Codierung der Beispiele in der Zielsprache (hier: C++) unumgänglich, denn über 90% der user hier sind ja wahrscheinlich sowohl OOP- als auch C++ -Anfänger, für die C++-Objekt-Kodierung noch völlig unbekannt und absolut verwirrend ist.
    Bei OOP steht der Gedanke im Vordergrund, alles in einem Objekt zu verkapseln (Varablen, Methoden), was dieses Objekt für seine volle Funktionsfähigkeit benötigt, und alle Aufgaben des Objekts vom Objekt selber erledigen zu lassen.

  10. #10
    ces
    Gast
    "Viele Wege führen nach Rom"
    Es ist immer nur ein Weg, der kürzeste.

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Digitales Multi-Effektgerät auf YouTube
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 0
    Letzter Beitrag: 17.04.2011, 13:48
  2. Youtube Video verlinken
    Von _|Alex|_ im Forum Offtopic und Community Tratsch
    Antworten: 12
    Letzter Beitrag: 10.03.2011, 21:36
  3. Interessante Roboter-Dokumentation auf youtube
    Von wisda.noobie im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 4
    Letzter Beitrag: 19.11.2009, 15:23
  4. Youtube: Linienfolger Hexas
    Von gimme1302 im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 6
    Letzter Beitrag: 07.05.2009, 18:17
  5. interessanter robot auf youtube
    Von robocat im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 21
    Letzter Beitrag: 28.02.2007, 13:36

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiTime Speicher und Akkus