How the separation of concerns makes programming magic · HackerTrans