Once upon a time, all software developers cared about performance and understood the cost of their abstractions before they committed to using them in their projects.