Short for "communications", you can for example open a COM port as a stream I/O device with say FILE* port = fopen( "COM1", "wr" ).
The term COM is just a device name prefix used in Windows (and previously MS-DOS) for a serial (UART) port.
USB is significantly more complex that RS-232 which defines only the physical (hardware) layer whereas USB requires a complete software protocol stack. USB includes a low-voltage power supply to allow devices with moderate power requirements to be powered by the bus - that is also why USB ports can be used for charging battery powered devices. USB differs significantly from RS-232 in a number of ways it is a master/slave (or host/device in USB terminology), rather than peer-to-peer, the USB device cannot initiate communication, it must be polled by the host. Similarly a UART based serial port is not device specific, reflected by the U in UART. The term Universal in USB merely reflects the fact that it is not a specific device interface such as the dedicated mouse or keyboard ports found on older hardware. What these have in common is that they are implemented using a UART ( Universal Asynchronous Receiver/Transmitter). You are right in that the term serial-port in the context of a PC normally means an RS-232 port, but there are other serial port standards such as RS-422 and RS-485 often used in industrial applications. The word serial in both terms implies no relationship other than the width of the data path. The term "serial port" simply means that the data is transferred one bit at a time over a single signal path - in that sense even Ethernet is serial in nature.
USB stand for Universal Serial Bus not Port.
And these drivers often misbehave in impossible to diagnose ways when you jerk a USB device while your program is using it. Discovering the specific serial port to open is very difficult. Rather imperfect support btw, these emulators never support plug-and-play well. So programmers can use the legacy support for serial ports built into the operating system and about any language runtime library.
Device manufacturers do not like writing and supporting drivers, they often take a shortcut in their driver that makes it emulate a legacy serial port device. The only reason that serial ports are still relevant in on Windows these days is because a USB device requires a custom device driver. It competed with FireWire, a very similar approach and championed by Apple, but won by a land-slide. And it is a Bus, you can plug a USB device into an arbitrary port. It is Universal because it can support many different kinds of devices, from coffee-pot warmers to disk drives to wifi adapters to audio playback. It replaced legacy devices in the latter 1990s. Empowered by the ability to integrate a micro-processor into devices that's a few millimeters in size and costs a few dimes.
RS-422 and RS-485 were not uncommon, using a twisted pair for each signal, providing much higher noise immunity and allowing multiple devices connected to each other. It is the simplest one with very low demands on the device, supporting just a point-to-point connection. RS-232 was an electrical signaling standard for serial ports.
LPT was the device name for parallel ports, short for "Line PrinTer".
This name was carried forward into Windows, most any driver that simulates a serial port will create a device with "COM" in its name. Computers in the 1980's usually had two serial ports, labeled COM1 and COM2 on the back of the machine. Parallel I/O has completely disappeared from computer designs, caught up by tremendous advances in bus transceivers, the kind of chip that can transmit an electrical signal down a wire.ĬOM comes from MS-Dos, it is a device name. Parallel was useful if you wanted to go fast, typ 8 times faster than serial, but cables and connectors were expensive. Serial is simple to hook up, it doesn't need a lot of wires. One of the two basic ways to interface a computer in the olden days, parallel ports were the other way. Serial port is a type of device that uses an UART chip, a Universal Asynchronous Receiver Transmitter.