Artful Computing

Java

Java has interest as a close relation of Processing. I never personally used Java for a commercial project, though I learned the language to a high degree of competence as part of a master's degree in Computing and I supervised a contract team that did a Java port of one of my earlier C++ GUI projects.

The main selling point of Java was its "write-once-run-anywhere" claim, with the ability to move a program across the internet to run, for example, within a browser on a remote host computer.

Though it is a fully object-oriented language core syntax is much easier to learn than C++, especially for people with experience of languages, such as C, from the same family. However, the real power of the Java environment is in the packages of libraries that come with every installation. It is normally quite difficult to move applications with complex graphical user interfaces from one type of computer to another (e.g. Linux to Windows) because there are extensive differences in the way the windowing systems work. Java hides all that below layers of libraries that look the same to the programmer, and which also produce equivalent functionality on the screen - even though they may look somewhat different. (This is one of the reasons why we can run the same Processing sketches on Window PCs, Apple Macs and on Linux computers.)

Learning to use Java effectively is really about learning to exploit the libraries, which is a much more substantial challenge, but once this is mastered it becomes relatively straightforward to produce richly featured applications - including sophisticated graphical interfaces - with comparatively modest effort.

You could use raw Java to do creative computing work, but the Processing language makes it even easier.

Java was supposed to have a strong security model, but in recent years has been shown to be vulnerable to hacker attacks, so some web browsers no longer support the required plug-ins.

Breadcrumbs