I hear that representing the absence of value as a number was invented about 6000 years ago, perhaps we should abandon that as antiquated as well..
also, to wit, a Unix kernel of recent vintage:
$ uname -msr
OpenBSD 6.3 amd64
$ du -skc bsd.rd bsd
9664 bsd.rd
12912 bsd
22576 total
vs, say, a Linux kernel of recent vintage: $ uname -msr
Linux 4.9.0-8-amd64 x86_64
$ du -skc /boot/vmlinuz-4.9.0-8-amd64 /boot/initrd.img-4.9.0-8-amd64 /lib/modules/4.9.0-8-amd64
4152 /boot/vmlinuz-4.9.0-8-amd64
21616 /boot/initrd.img-4.9.0-8-amd64
212248 /lib/modules/4.9.0-8-amd64
238016 total
yes, there are likely more drivers in the latter.
highly doubt there is an order of magnitude more though.not to mention some 'modern' npm+webpack monstrosity.
that said, given the latter, i can hardly fault a <10Mb go executable as 'excessive', so you're right on that front.
That's exactly what they are; ~180M of those 212M are in drivers/. And even outside that, it includes stuff like fs/ocfs2, which I don't think OpenBSD supports.
Curious people can read more about it at https://en.wikipedia.org/wiki/Unix_philosophy or https://homepage.cs.uri.edu/~thenry/resources/unix_art/ch01s...
The websocketd site outlines this fairly well with the big quote on their homepage.
Looked at another way, a Unix-like ecosystem satisfies two of the principles of a SOLID software architecture: the Single Responsibility Principle and (arguably) the Open-Closed Principle.
If websocketd focuses on handling the nuts and bolts of websocket connections and invoking other programs and piping data into and out of them over a standard interface, then it's a Unix-like architecture, even if it's a fat, monolithic, statically linked binary.