Questo è un residuo del retaggio C/Unix.
Se il programma viene chiamato all'interno di uno script, è utile per lo script sapere se il programma ha avuto esito positivo. Così, è nata la convenzione di restituire 0 per il successo da programmi eseguibili.
C non ha tipi booleani nativi, quindi questo era un numero intero. E questo ci ha permesso di restituire numeri diversi per diversi tipi di errori.
Questa convenzione si diffondeva a funzioni regolari, poiché, come altri hanno pubblicato, C/C++ non aveva originariamente eccezioni, e anche una volta che avevamo delle eccezioni, ci volle disciplina per usarle correttamente, e c'era molta legacy codice (e programmatori legacy) utilizzando la convenzione del valore di ritorno.
Se tutto ciò che ti interessa è successo/fallimento, allora lo sarà 0 per il fallimento e 1 per il successo.Per i valori di ritorno interni, anche se attualmente ci sono solo due valori, consiglierei di usare un tipo enum
poiché i bi-stati hanno un modo di evolvere in tri-stati, e sarà più facile seguire ciò che stai facendo.
per qualche motivo mi hai appena ricordato dell'Assemblea !! – medopal