Text this: Assertions in Programming: From Scientific Theory to Engineering Practice