M
interpreter schrieb:
masterofx32 schrieb:
loller schrieb:
masterofx32 schrieb:
undeterministisch
lol. your attempt to be smart failed
Kann man das nicht so sagen? Oder gibt's nur "nichtdeterministisch"?
"undeterministisch" bedeutet, dass nicht reproduzierbare und undefinierte Zustände auftreten können. Da ein Compiler nicht mit "undeterministischen" Algos arbeiten kann, ist der Ausdruck hier bissel unpassend.
Das ist ja klar, dass der Compiler schon den Maschinencode(oder was auch immer) erzeugt, der auch den definierten Zweck erfüllt. Die genaue Arbeit des Compilers ist aber aus Sicht des Programmierers nichtdeterministisch, weil er sich im Idealfall nur an den Standard hält und der Compiler diesen auch bestmöglich umsetzt und sein Code mit jedem Compiler für jeden Prozessor lauffähig ist. Natürlich kann er mit einem bestimmten Compiler in einer bestimmten Version nachschauen, welcher Maschinencode dabei entsteht. Aber wenn er den Code veröffentlicht, kann er nicht wissen, mit welchen Compilern andere Personen seinen Code compilieren und somit, welcher Maschinencode daraus entsteht. Dass es in der Praxis nicht so ist und man sich leider doch an die Eigenheiten diverser Compiler anpassen muss, ist ja so nicht vorgesehen.
In der Netzwerktechnik werden Netzwerke, in denen Kollisionen auftreten ja auch als "nichtdeterministisch" bezeichnet, obwohl die Daten natürlich wie gewünscht am Ziel ankommen.(Ist natürlich nicht ganz das gleiche, weil dort wirklich unvorhersehbares Verhalten vorliegt, aber ich finde den Begriff auch bei dem besprochenen Sachverhalt anwendbar)