While Windows PE EXE files just have named sections as defined by section headers, ELF files have named sections, but also something called "program segments", which are unnamed, and are defined by a separate table of headers called program headers. What's up with that?