Java is one of the more widely used programming languages. Its popularity for web-related applications means that most translators will have heard of it, and if you didn't know that Java stands for "Just Another Vague Acronym", well, you do now.

A particular feature of Java applications is that they don't run on the operating system. Instead, they run on an extra layer of software called a "Virtual Machine". Versions of the virtual machine software are available for a number of operating systems, including Linux. The same Java program can be run on any system on which the virtual machine has been installed. This principle goes under the slogan "Write Once - Run Anywhere".

Java nomenclature is somewhat confusing. The virtual machine, besides also being called the VM, Java Virtual machine, or JVM, is sold - or given away - by a number of different vendors under names such as Java Runtime Environment, Java Technology Edition, or Mac OS Runtime for Java. It may also appear as a development environment, in which case it may be called the Java Development Kit or Java Developer's Kit (JDK), which Sun rechristened the SDK (software development kit) at some stage. These products also have different version numbering systems, and the one Linux users are interested in - the Java Runtime Environment - has two numbering systems, so version 1.3.1 of the Java Runtime Environment, for example, is actually version 1.3.1 of Java 2 and goes under the moniker J2RE 1.3.1. If that hasn't confused you, there's also Javascript, which has nothing to do with Java.

End users will generally only require the Java Runtime Environment. The development kits provide additional features, such as compiling routines. These versions may however be of interest to translators interested in localizing an open-source Java application.

The Java Runtime Environment (J2RE) is supplied with its own fonts. It also includes special fonts for Chinese, Japanese and Korean. You can install other fonts manually. J2RE version 1.4 onwards supports right-to-left languages in conjunction with applications which also support them.

The Java Runtime Environment (J2RE) for Linux can be downloaded from Sun.

Most popular Linux distributions include the Java Runtime Environment. Generally, however, the version provided is an open-source implementation and not the Sun version. Many applications will not run on these implementations, and installation of the Sun version is therefore recommended.

Whilst installing Java is usually very simple, replacing an existing Java installation with a new version can be more difficult. Not all Linux systems configure the newly installed version as the default, and doing so manually can be tricky. Should you for some reason need to install a newer version of Java, I recommend keeping the version originally installed and installing the newer version alongside it, either at system level or in the user's space. The Java application(s) requiring the new version can then be launched explicitly by statement of the full Java path in the launch command.

Other Java-related resources

Fonts and Internationalization in Java

Regular expressions in Java

This is of interest to anyone using regular expressions in Java, even as an end user; in this case, skip the initial part, which relates to Java programming.