Control Flow and Data Flow: Concepts of Distributed Programming