Groups and programming