Unexpected double output in setup() - Why???

vaj4088:
It might be interesting to try

void setup() {

Serial.begin(9600);
 delay(3000) ;
 Serial.println("Serial Monitor initialized...");
}

void loop() {}




[I hate delay(...) but it is useful for this experiment.]

OK, the result is different by using the delay of 3 seconds!!! The initializing text is only printed once! I tried it by printing the increment in loop-function, so I can clearly state this new result.

UKHeliBob:
Note that the program will run when the code is uploaded to the Arduino, when the Arduino is reset or when it is powered up. Opening the Serial monitor causes the Arduino to reset and the program to run again.

Under exactly what circumstances are you see the double messages ?

Bob, the double printout comes only, when uploading the sketch (without any delay in setup). Once the sketch is uploaded and I press the rest-button on the Arduino, initializing text is printed a single time!

But why does this problem does not appear on other (not mine) environments???