The cloud! The cloud!  Everything in technology is an
abstraction of something else. The browser is an abstraction,
the keyboard is an abstraction, C# is an abstraction; they all
sit on top of other things and hide the details, with the goal
of making you productive. (And each of those layers is actually
comprised of many substrata.)  An abstraction is successful when
we no longer need to look under the covers. It takes a while to
get to that point. Usually an abstraction layer is imperfect,
requiring us to look behind the curtain more often than we’d
like.  You might think in 2009 that nobody would need to write
HTML anymore. And yet, Microsoft is taking the historically
unusual path of moving toward less abstraction on its web
platform. (MVC is much closer to the metal than webforms.)
Perhaps there is a “Goldilocks” level of abstraction that
programmers settle into: not too much, not too little.  For
example, I am willing to define my own HTML, but not necessarily
write it. What’s the difference? It’s wort