Captain it's Wednesday - Folge 108 - Visuelles Programmieren

  Ralf Hersel   Lesezeit: 8 Minuten  🗪 1 Kommentar Auf Mastodon ansehen

Folge 108 des CIW Podcasts. Hardware und Software visuell erstellen und verdrahten.

captain it's wednesday - folge 108 - visuelles programmieren

Für ein optimales Hörerlebnis empfehlen wir eine Podcatcher-App zu verwenden. Zum Beispiel:

Der RSS-Feeds für den Podcast lautet: https://gnulinux.ch/podcast/gnulinux_newscast_rss.xml. Ihr findet uns in den Podcast-Verzeichnissen unter dem Suchbegriff: "GNU/Linux".

Wenn euch der Podcast gefällt, freuen wir uns über eine Unterstützung. Vielen Dank!

Shownotes

CIW - Folge 108 - 16.10.2024 - Visuelles Programmieren

  • Wir begrüssen alle Entwickler zur Folge 108 von "Captain it's Wednesday", dem Podcast über Freie Software und Freie Gesellschaft von GNU/Linux.ch, aufgenommen am 14. Oktober von Christian Müller-Zieroth und Ralf Hersel. In dieser Folge sprechen wir über das visuelle Erstellen von Software.

Hausmitteilungen

  • keine

Thema: Visuelles Programmieren

Vorbemerkungen
  • Ralfs Erfahrungen mit Gtk4 und Cambalache (Glade Nachfolger)
  • Alte Erinnerungen an Visual Objects werden wach:
    • 1980, Ashton Tate (ging 1991 an Borland), DBase
    • 1984, Nantucket (ging 1993 an Computer Associates), Clipper
    • 1990, Nantucket entwickelt Clipper weiter zu Visual Objects
    • 1993, Computer Associates, Visual Objects
    • 2012, GrafX Software, Visual Objects 2.8
Einleitung

Als visuelle Programmiersprache (englisch visual programming language, VPL) bezeichnet man eine Programmiersprache, in der ein Programm, Algorithmus oder Systemverhalten durch grafische Elemente und deren Anordnung definiert wird. Anstatt Programmcode zu schreiben, werden visuelle Elemente verwendet, um die Programmlogik abzubilden. Bei den visuellen Elementen handelt es sich um Icons, Blöcke, Flussdiagramme, Formulare und Diagramme, deren Ziel es ist, das Programm optisch darzustellen und zu bearbeiten.

Unterteilung

Überraschenderweise gibt es viel mehr VPLs als man meinen würde. Die Wikipedia listet weit über 100 VPLs auf und unterteilt diese in die Kategorien:

  • Allgemein
  • Bildung
  • Multimedia
  • Spiele
  • Systeme und Simulation
  • Automation
  • Data Warehousing
  • sowie Sonstige
Scratch und Snap!

Eine der bekanntesten VPLs aus dem Bildungsbereich ist Scratch. Die Sprache wurde 2007 am MIT entwickelt und veröffentlicht. Es ist eine blockbasierte visuelle Programmiersprache für Kinder und Jugendliche inklusive einer Entwicklungsumgebung und einer eng verknüpften Online-Community-Plattform. Der Werbespruch von Scratch lautet: "Erstelle Geschichten, Spiele und Animationen und teile sie mit anderen in der Welt".

Die Weiterentwicklung von Scratch heisst "Build your own blocks", bzw. Snap! Snap ist eine blockbasierte Programmiersprache, die Kinder und Erwachsene einlädt, spielerisch und experimentierend Informatik zu erfahren, ist aber auch eine Plattform für Informatik-Studierende sowie Forscherinnen und Forscher.

Grob gesagt, bietet Snap eine IDE, die im Webbrowser läuft. Dort findet man Blöcke, einen Skript-Bereich und eine Bühne. Die Blöcke entsprechen Programmbefehlen und sind in verschiedenen Bereichen kategorisiert: Bewegung, Aussehen, Ton, Kontrolle, Sensorik, Variablen usw. Diese Blöcke zieht man mit der Maus in den Skript-Bereich, um ein Programm zusammenzubauen. Auf der Bühne kann man das Programm in Aktion sehen.

Ein Beispiel zur Darstellung eines Farbbaums findet ihr in den Shownotes. Dort könnt ihr im Bühnen-Fenster auf die grüne Flagge klicken, um das Skript auszuführen.

Snap steht unter der AGPL 3.0 Lizenz.

Godot

Ein weiteres Beispiel für eine VPL ist die Godot-Engine, die unter der freien MIT-Lizenz steht. Damit kann man 2D- und 3D-Computerspiele erstellen. Godot ist die freie Alternative zur Unity Game-Engine. Auch Godot verwendet Blöcke, um Spielszenen zu entwerfen.

Node-RED
  • Ursprünglich von IBM entwickelt, jetzt Teil der OpenJS Foundation
  • Open-Source-Software unter der Apache License 2.0
  • Basiert auf Node.js und verwendet JavaScript
  • Hauptsächlich für IoT-Anwendungen und Datenverarbeitung
  • Unterstützt verschiedene Protokolle wie MQTT, HTTP, TCP/IP, Modbus, OPC-UA
  • Automatisierung von Prozessen
3D-Modellierung
  • PUPPICAD
  • Sverchok für Blender
  • Rhino Grasshopper (proprietär)
  • xGenerativeDesign (proprietär)
Visual Scripting mit Hardware
  • Arduino Plug and Make Kit
  • Idee von Christian und Co. - der Blob

Links

Outro

  • Euer Feedback ist uns wichtig. Ihr könnt uns über Matrix, Mastodon oder per E-Mail erreichen. Die Adressen findet ihr auf unserer Webseite.
  • GNU/Linux.ch ist ein Magazin, in dem die Community für die Community interessante Artikel erstellt und im Podcast darüber diskutiert. Helft mit, die Infos für die Community zu bereichern. Wie das geht, erfahrt ihr hier.

Tags

Podcast, CIW, Captain

V wie Vendetta
Geschrieben von V wie Vendetta am 16. Oktober 2024 um 13:28

Godot... Godot ist ja vor wenigen Wochen unangenehm aufgefallen, weil ein Community-Manager - offenbar mit psychischen Problemen - wie wild und willkürlich um sich gebannt hat. Die Antwort und Reaktion von Godot darauf war alles andere als professionell oder zufriedenstellend.