What makes a "platform" is a set of strict guarantees about what will be present, that your application can rely on, and what format your application needs to be presented to the user in. A "platform" is a description of a boundary between your artifact (not just your program!) and the system which will absorb that artifact. "Linux" is not a platform not merely because "it's just a kernel" but because the shared idioms even between different desktop distros do not encompass such guarantees
@glyph this aligns well with something I was thinking about last night. Someone on here trying to relitigate "actually Linux is just a kernel GNU/Linux is the operating system" again, but imo there's no operating system called GNU/Linux that you can just install on your computer, it's a family of operating systems that have names like "Debian" and "GUIX" that are mutually incompatible with one another, which makes "porting to Linux" a nightmare.
Edited 26d ago