📝Extensible system makes it easy to apply the changes

For an extensible system, changes should be easy to apply. If I have to learn a new build tool, recompile the app and restart it, I am exponentially less likely to bother.


  • Emacs. Changes are extremely easy to apply: you write a function, you evaluate it.
  • Smalltalk. The same.
  • Linux kernel. Modules make it more extensible than other monolithic kernels. While I can’t re-define functions on the fly, Linux kernel allows re-loading modules on the fly.

    • Micro-kernels are arguably even more extensible.