1. A method, comprising: accepting as input a program written in a formal language, wherein the formal language allows a declarative co-grouping of one or more tables, each with an alignment function, and a specification of zero or more procedural operations to be performed on each resulting co-group; translating the program into one or more jobs, wherein each job comprises one or more structured calls to an application programming interface for encoded logic that is operable to generate a plurality of tasks for the parallel processing of the job on one or more data processing devices in a distributed system.