Was ist der Unterschied zwischen einer Funktion und einer Subroutine? Mir wurde gesagt, dass der Unterschied zwischen einer Funktion und einer Subroutine wie folgt ist:
Eine Funktion nimmt Parameter entgegen, arbeitet lokal und ändert keinen Wert und arbeitet nicht mit Werten außerhalb ihres Bereichs (hohe Kohäsion). Sie gibt auch einen Wert zurück. Eine Subroutine arbeitet direkt mit den Werten des Aufrufers oder des Code-Segments, das sie aufgerufen hat, und gibt keine Werte zurück (niedrige Kohäsion), d.h. sie verzweigt bestimmten Code zu anderem Code, um Verarbeitungen durchzuführen und zurückzukehren.
Ist das wahr? Oder gibt es keinen Unterschied, nur zwei Begriffe für dasselbe?