Ich wüde mich ja nicht unbedingt als guten programmierer betrachten, aber soweit ich weiss gibt es bzw. muss es immer etwas geben, was bestimmend ist also nicht zufällig. wenn man z. B. sagen will, dass man eine for Schleife irgendwann stoppen will, dann muss man einen genauen wert dafür eingeben.
Ich glaube mich aber daran erinnern zu können, dass es etwas gibt - also einen algorithmus oder so - das zufällige werte ausgibt. Nur ist das höchstwahrscheinlich programmierter "zufall" und somit kein echter. das bedeutet, dass da ein algorithmus dahinter steckt. Der wird aber wiederum extrem lang sein, um möglichst zufällig auszusehn. Vielleicht beginnt man dann immer bei einer anderen Stelle des algorithmus, um nach einiger zeit wieder das gleiche zu bekommen...
Also ich würde sagen, dass da immer ein Algorithmus dahinter steckt, der sehr lange ist. Durch das beginnen an anderen stellen vom algorithmus ergibt sich dann so etwas wie wahrscheinlichkeit.
Dazu gibt es auch noch einen link den mal schnell gefunden habe, der das bestätigt, abgesehn von dem mit dem beginnen an verschiedenen stellen:
https://www.gutefrage.net/frage/wie-kann-man-zufall-programmieren
Völlig richtig erkannt, Zufall lässt sich gar nicht programmieren!
Im Computer verwendet man nur Pseudozufallszahlen, die man auf der Grundlage von gewissen Zahlenfolgen erzeugt, die möglichst vielen statistischen Zufallstests genügen. Allerdings ist nichts daran "zufällig" - fängt man mit den selben Startwerten an, dann kommt immer die selbe Zahlenfolge raus.
Ein einfaches Beispiel für einen Pseudozufallszahlengenerator ist z.B., wenn man eine beliebige Zahl > 1 als Startwert nimmt, sie mit sich selbst multipliziert, und jeweils nur die mittleren zwei (oder n) Ziffern als nächste Zahl nimmt. Diese ist dann eine weitere "Zufalls"zahl und die Eingabe für die nächste Runde.