Wortspiele?
Von mir aus!
Betrachte es als Wortspiel.
Wie auch Kinder mit Dingen spielen, ihnen so helfen die Welt zu begreifen.
Das kleine Drama dabei ist, dass sich manchmal Begrifflichkeit und Bedeutung von einander entfernen.
z.B. der Begriff "Blockadefrei Programmieren" impliziert den Verzicht auf langlaufende Schleifen(Endlosschleifen).
Oder Wartezeiten.
Betrachtet man die Nebenläufigkeiten. Das ist das schon mal eine Mehrzahl.
Und jede dieser nebenläufigen Dinge kann dann Schleifen und Wartezeiten beinhalten
Ja, ich weiß, ich war auch mal ein Priester des Schleifenausrollens.
Aber schöner und klarer, macht es die Programme nicht.
Der µC macht mit Deiner Lib am Ende auch nichts anderes als alles nacheinander abzuarbeiten. Nur das alles in der Lib versteckt ist. Wenn man Funktionen mittels millis schreibt und diese in der loop aufruft, kommt am Ende das Gleiche bei raus.
Faktisch ja.
Kann mich aber auch nicht daran erinnern, jemals was anderes behauptet zu haben.
(außer evtl in Sachen 2 Kern µC)
Hier habe ich letztens noch wieder so einen Brocken rausgehauen.
6 Tasks, welche ihr Ding abhandeln.
1 Merker für die Kommunikation zwischen den Tasks.
Jeder TaskBlock ist eine while(1) Endlosschleife.
Bei den TaskMakros war die Schleife noch öffentlich.
Dafür hats dann Kritik, oder Unverständnis gehagelt.
Jetzt ist die Schleife verborgen.
(so wie auch das Goto, auf dem die ganze Show basiert)
Es ist also nicht so sehr ein Wortspiel, sondern eine Betrachtungsweise.
An einer Stelle gibts da:
virtual void run() override
{
TaskBlock
{
taskWaitFor(flag & muster);
digitalWrite(pin,HIGH);
taskPause(interval);
digitalWrite(pin,LOW);
taskPause(interval);
}
}
Da könnte man genauso schreiben:
virtual void run() override
{
TaskBlock
{
while(1)
{
taskWaitFor(flag & muster);
digitalWrite(pin,HIGH);
taskPause(interval);
digitalWrite(pin,LOW);
taskPause(interval);
}
}
}
Macht keinen Unterschied.
Und wenn da nur 5 mal geblinkt werden soll, kommt da eben eine for Schleife in den TaskBlock, welche bis 5 zählt.
Es ist halt die Betrachtungsweise, welche einerseits Schleifen und Warten erlaubt, oder eben verbietet oder als falsch/böse definiert.
Auch wenn faktisch hinten das gleiche dabei raus kommt.
es riecht nur anders 