"J-P. Rosen" wrote in message news:rr9m63$ufd$1@dont-email.me... > Le 14/12/2020 à 19:53, Dmitry A. Kazakov a écrit : >> I think Robert Dewar argued that variables must be declared in the >> narrowest possible scope. Which would imply that at the beginning of >> that scope you should know the value, because it would be the first use >> of the variable. > > Not applicable if your variable is used in a loop: > > V : Integer; > begin > loop > Get (V); > exit when V =0; > -- do something with V > end loop; > > Clearly, initializing V makes no sense. Saying that you *meant* to have an uninitialized value does make sense, though: V : Integer := <>; -- Not Ada, but should be IMHO. Whenever something is omitted, one never knows whether it was on purpose or a mistake. You get similar issues when "else" is omitted (RR's style guide only allows that in very specific circumstances). It's unfortunate that Ada doesn't have a positive way to indicate default initialization, outside of aggregates. Randy.