Das ist im Prinzip erst mal völlig egal. Man kann genau so gut Debug Versionen verteilen. Wenn ich irgendwie Programme an Freunde weiter gebe sind das auch meist Debug Versionen. Oft liegt das bei mir auch ein wenig an Faulheit. Man muss bedenken, bei Release kommen doch ziemliche andere Versionen der Exe Datei dabei raus. Der C++ Compiler von Visual Studio weißt im Debug Modus jeder Variable Standardwerte zu. Bei Release macht er das nicht mehr. Benutzt du jetzt also eine nichtinitialisierte Variable, so gibt es bei Release einen Fehler und bei Debug nicht. Davon abhängig, dass man natürlich darauf achten sollte vernünftigen Code zu schreiben bei welchem alles vernünftig initialisiert wird (das war auch nur ein Beispeil), die Release Version sollte noch mal separat getestet werden. Das kostet halt Zeit. Wenn ich nun aber irgendein kleines Tool schreibe und einem Kumpel schicke (oder vielleicht auch nur selbst nutze), dann habe ich auf diese zusätzliche Arbeit nicht unbedingt lust. Die Geschwindigkeit der Debug Version reicht mir aber im Normalfall, weshalb es für mich in so einem Fall eigentlich nicht nötig ist. Meiner Meinung nach ist das halt wieder eine Kosten/Nutzen Frage. Soll nicht heißen, hört auf eure Programme als Release-Version zu veröffentlichen, sondern beachtet dass ihr dann noch mal gründlich testen solltet.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“