Invited paper for New Generation Computing 1 Programming Languages for Distributed Applications