We compare di erent degrees of architecture abstraction and communication reliability in distributed programming languages. A nearly architecture independent logic programming language and system with reliable communication, called VPL (Vienna Parallel Logic) is presented. We point out the contradiction between complete architecture independence and reliable high-level communication in programming languages. The description of an implementation technique of VPL's reliable communication on shared memory and distributed architectures comprises a major part of this paper. The reliable communication is based on the speci cation of consistent system states that must survive system failures.