Bisher habe ich mich auf die Tutorials aus der Hilfe des Propeller Tools, sowie einige andere Sources beschränkt. Ohne Chip etwas Programmieren ist unsinnig
Für alle die bereits programmiert haben sollte es relativ einfach sein den sources zu folgen.
Nun, was haben wir in Spin .. Spin beherscht Objekte was denke ich jeden freuen wird der diese zu schätzen weiß.
Variablendeklaration lass ich links liegen, das sollte jedem klar sein
Modular ist Spin auch, für mich fast schon etwas zu übertrieben ist die Kapselung der Objekte ..
Wir haben konstanten, variablen, funktionen und methoden .. was will man mehr
Funktionen .. haben wir die wirklich? Ich für meinen Teil bin der Meinung das alle Programmteile aus Objekten besteht, ergo -> keine Funktionen, nur Methoden
Also .. alles Objekte!
Schön!
Nun beginnt allerdings der Trugschluß. Die Methoden der Objekte werden nur wenn das Objekt instanziert ist wie gewohnt angesprochen [Objekt.Methode(arg1,arg2)]
Innerhalb des Objektes wird die Methode wie eine gewöhnliche Funktion angesprochen. Und jetzt immer schön im Hinterkopf behalten, auch wenn es INNERHALB des Objektes wie eine Funktion behandelt wird, es ist keine.
Die Methoden kennen Private und Public, zu verwenden wie üblich
Vererbung fehlt komplett, meines erachtens aber nicht weiter tragisch.
Eine Besonderheit die der Kapselung der Objekte etwas widerspricht ..
Mit VAR und CON deklarierte Symbole sind GLOBAL verfügbar
Was mir dabei nicht ganz klar ist, wie lange sind diese Symbole verfügbar? Bis die Instanz des Objektes in der sie deklariert sind geschlossen ist?
Kontrollstrukturen .. Nun, wir haben alles was das Herz begehrt .. Schleifen und Kontrollabfragen
case .. nur ordinaltypen ? scheint so .. lasse mich aber gerne eines besseren belehren

selbst wenn, wer ist denn schon besseres gewohnt

Nagut, ich, aber was solls

Das ist für mich eh ein Treppenwitz der Geschichte .. schimpfen sich Hochsprachen und können nur Ordinaltypen in einem switch-case Block abarbeiten

Was mir persönlich nicht an den Kontrollstrukturen gefällt ist der vollständige Verzicht auf Klammern jeglicher Art.
Anstelle von Klammern werden die zu einer Kontrollstruktur gehörenden statements um 2 Leerzeichen eingerückt
Gut, auch in anderen Sprachen wird nur eingerückt, allerdings ist das wohl eher Geschmackssache.
Immerhin, man muss zugeben, macht das Propeller Tool als IDE seinen Job gut so das man eigentlich auf den ersten Blick verstehen kann welche Statements zu welcher Kontrollstruktur gehören
Der DAT Teil von Spin spricht eigentlich auch für sich selbst.
Allerdings stellt sich mir und bestimmt auch anderen die Frage:
Muss man sich PASM nun auch noch antun oder kann man darauf weitestgehend verzichten?
Zum besseren und schnelleren Verständnisses des Sources wäre das schon nicht schlecht ..
Und es macht einen unterschied ob man sich in eine oder zwei Sprachen einarbeitet die im Prinzip die selbe Hardware ansteuern und somit das gleiche tun
(eigentlich!)
mfg hacktick