Composable vs Contextual
2013-01-24 16:17:27.704768+00 by ebradway 0 comments
Neal Ford writes a blog I need to start following. And in this recent entry, he uses a programmer's relationship with their primary tool and how that relates to larger software architecture issues. Contextual systems (Eclipse, Windows) reduce the initial learning curve at the expense of customizability. Composable systems (Emacs, Linux) have a higher learning curve but allow for infinite customizability.
Personally, I think the real difference is contextual systems have an asymptotical learning curve that starts close to zero but increases at least exponentially as you move away from the origin, eventually reaching a point of impossibility (e.g., I need install Windows, I need to write a simple program for Windows, I need to write a device driver for Windows, I need to modify the Windows kernel). Composable systems have a linear learning curve that sometimes starts above zero but increases only as a factor of the distance from the origin, (e.g., I need to install Linux, I need to write a simple program for Linux, I need to write a device driver for Linux, I need to modify the Linux kernel).