Abstractions are never perfect. Every new layer creates failure points, interoperability hassles, and scalability problems. New tools can hide complexity, but they can’t justify it... The more complex the system, the more difficult it is to fix when something goes wrong.To the above, I will add a quote by Prof Robert W Grubbström (2001, p. 1133):
Simplicity is the opposite of complexity and simplicity is valuable.References:
Cook, John D (2010), "Abstractions Are Never Perfect," The Endeavor, Retrieved on Jan 13, 2010 from http://www.johndcook.com/blog/2010/01/11/abstractions-are-never-perfect.
Grubbström, R W (2001). "Some Aspects on Modelling as a Base for Scientific Recommendations," Kybernetes, 30(9/10), 1126-1138.
Richardson, L & Ruby, S (2007), RESTful WEb Services, Sebastopal, CA: O'Reilly Media.