Different global computers may provide different guarantees. Therefore, different programming languages may be appropriate in each case. As an example, consider the following programming languages that support mobile computation. Telescript agents may migrate to new locations while active, but cannot engage in distributed communication. Telescript agents run only on a dedicated global computer that guarantees the integrity and security of agents.
Mobile computations maintain distributed connections as they move.
Obliq can run effectively on any single reliable global computer, but does not deal with administrative domains or widespread unreliability. Mobility, however, is restricted to transmitting program sources, in preprocessed form, and not computations. As a consequence, Java works satisfactorily in unreliably-connected environments, since passive sources do not maintain connections. Each of these three languages is better suited than the others to a particular kind of global computer. However, none of them is particularly well suited for carrying out general computation over the World-Wide Web.