Description
Perhaps the default port name should be changed to a string which users can understand means they have not yet selected a port?
Today the default is COM1. Perhaps this dates all the way back to Arduino's origin, when the board actually had a 9 pin serial connector and most PCs still had physical 9 pin serial ports? Today almost no PCs have 9 pin serial ports exposed, but it's still very common to have an unused 10 pin header on the motherboard which actually implements COM1.
When a first-time user tries to upload to their Uno, Nano, or other AVR-based board, they see this rather unhelpful error:
avrdude: ser_open(): can't open device "\.\COM1": The system cannot find the file specified.
Or...
Using Port : COM1
Using Programmer : wiring
Overriding Baud Rate : 115200
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer
Ideally the first-time user experience should be a helpful message which explains they need to click Tools > Ports to select the their board. If the default name were something which could not possibly be a valid port on any OS, then the IDE could check for that setting before running AVRDUDE or other upload tools.