1



What's in a name?


Java programmers used to class names being nouns are frequently taken aback by the Isolate class of JSR-121 because the verb form of this word is so common. But the namer of isolates, Glenn Skinner of Sun Microsystems, took great care and had this in mind:


    A person, thing, or group that has been isolated, as by geographic, ecologic, or social barriers. 2. Biology A population of bacteria or other cells that has been isolated. 3. Linguistics A language isolate. - American Heritage Dictionary


Maintaining the American tradition of language novelty, the spoken pronunciation for the Java Isolate is as if it rhymes with applet, that is, as if it was spelled “Isolet.” However, experience with those using the dictionary pronounciation makes it clear that either is fine in everyday experience.


But Java programmers familiar with common operating system terminology might also wonder why a new name has been used: why not just use Process, Task , AddressSpace, or one of a number of traditional terms? The answer is that all of these names come with historical baggage that is confusing. The term Task, for example, would have been a very nice fit in the mid 70s when minicomputers offered features like “MultiTasking FORTRAN” that relied on software partitioning of application state and offered something lighter than a process but heavier than typical current day threads. But over time, Task settled into the computer science literature with a meaning relating to parallel programming that is in conflict with the intended meaning in a Java setting. Likewise, Process carries with it well established associations and besides that, it's already part of the core Java class library with a well understood mapping to external operating system processes. The term AddressSpace has promise but suggests a passive boundary while isolates have life cycles and contain at least one active thread whose fate is tied to that of its container. The key concept for understanding the term Isolate is Java type safety and the natural boundary that this type safety manifests as object visibility: no objects but those belonging to a single isolate are visible to that isolate, period.


So after the JSR-121 expert group tried hard to find a better name, when all the dust had settled, Isolate was left standing as the best choice. After a similar process stressing the need to avoid unintended meanings, the expert group settled on the name Link for the other main class defined by this JSR.