Penguin

Differences between version 12 and revision by previous author of Java.

Other diffs: Previous Major Revision, Previous Revision, or view the Annotated Edit History

Newer page: version 12 Last edited on Sunday, October 26, 2003 7:54:23 am by AristotlePagaltzis Revert
Older page: version 10 Last edited on Saturday, October 25, 2003 6:32:09 pm by StuartYeates Revert
@@ -1,24 +1,25 @@
-Java is a cross-platform ProgrammingLanguage that has an extensive API created by [Sun|http://java.sun.com ]. 
+[ Java] is a cross-platform ProgrammingLanguage created and controlled by [Sun]. 
  
-Java shares simlar syntax to [C]/[C++], but differs in some fairly major ways:  
-* GarbageCollection. The programmer need not worry about memory leaks, at the expense of having a garbage collector.  
-* Compiled to ByteCode. Java is compiled to a machine-independant byte code , something similar to an executable but machine/platform independant . This also means Java code needs a special run time environment to run.  
-* Huge standard [API]. Java's core API is enormous. It does lots and lots of stuff. 
+[ Java] shares simlar syntax to [C]/[C++], but differs in some fairly major ways:  
+; GarbageCollection : The programmer need not worry about memory leaks, at the expense of having a garbage collector.  
+; Compiled to ByteCode : Binaries are machine-independant ByteCode , the intention being "write once, run anywhere" . This usually works for non-windowing, non-audio applications. It means [ Java] binaries need a special run time environment to run.  
+; Huge standard [API] : It is enormous and does '' lots'' of stuff. 
  
-Java really shines in a couple of areas. Particularly documentation: the documentation of the Java API is excellent. It surpasses the masses of documentation found in Microsoft's [MSDN] in quality and beats documentation I have seen for any OpenSource project to date. 
+[ Java] really shines in a couple of areas, particularly documentation: the documentation of the [ Java] [ API] is excellent. It surpasses the masses of documentation found in Microsoft's [MSDN] in quality and beats documentation I have seen for any OpenSource project to date. 
  
-Java makes networking easy as pie. Networking between different platforms wasn't always too easy before Java, but it is very simple with Java. 
+[ Java] makes networking easy as pie. Networking between different platforms wasn't always too easy before [ Java] , but it is very simple with [ Java]
  
-Java even makes multi-threading easy. And platform independant (the programming is platform independant, but the running is platform dependant, unfortunately). 
+[ Java] even makes multi-threading easy. And platform independant (the programming is platform independant, but the running is platform dependant, unfortunately). 
  
-Java is an example of good object oriented design (generally). Almost all of Java's internal classes are very well defined and all follow a nice naming convention. 
+[ Java] is an example of good object oriented design (generally). Almost all of [ Java] 's internal classes are very well defined and all follow a nice naming convention. 
  
-Java applets allow Java programs to be written and displayed in web pages . Unfortunately, after Java 1.1, Microsoft didn't quite agree with Sun and stopped updating the version of Java that comes with InternetExplorer, the most common web browser . Because of this, most applets you see on the internet today are limited to a very old version of Java and don't make use of all the new features in Java today (version 1.4.1 at the time of writing). 
+[ Java] applets allow [ Java] programs to be written and run in [WebBrowser]s . Unfortunately, after [ Java] 1.1, Microsoft didn't quite agree with [ Sun] and stopped updating the version of [ Java] that comes with InternetExplorer, the most common WebBrowser . Because of this, most applets you see on the internet today are limited to a very old version of [ Java] and don't make use of all the new features in [ Java] today (version 1.4.1 at the time of writing). 
  
 [JavaBean]s allow dynamic introspection of software components and streaming of state-full objects across the network without full knowledge. 
  
-!Issues 
+! ! Issues  
+  
 But Java, like any ProgrammingLanguage, has cons. First, Java's Run-time Environment (JRE) is a big download and is needed for any user wishing to run a Java program. This JRE also incurs quite a large memory penalty, even running a simple application can take quite a large amount of memory. 
  
 Java has a GraphicalUserInterface library; in fact it has two. Swing, a high level and well-designed API which is built upon AWT (Abstract Window Toolkit). These work well enough, but don't take the native LookAndFeel of a system (though they can attempt to emulate it), and can look quite ugly. They can also be quite unresponsive. 
  
@@ -30,10 +31,12 @@
  
 The popular JREs start a new virtual machine for each java program, rather than sharing one amongst all programs. This combined with the large memory overhead can make it impractical on machines more than a few years old. (AddToMe - is this still true these days?) 
  
 The lack of a Free JRE (along with JRE size and speed issues) is probably one of the biggest obstacles to wide-spread adoption of Java on Linux. However, most of the issues mentioned above are implementation issues so could in theory be overcome. For example, the [GCC] project is part-way through a java compiler that would (of course) be licensed under the [GPL]. 
-  
  
 See JavaNotes 
+  
+''Lots to be refactored here. AddToMe.''  
+  
 ---- 
  
-CategoryProgrammingLanguages 
+CategoryProgrammingLanguages, CategoryImperativeProgrammingLanguages, CategoryObjectOrientedProgrammingLanguages