Arksoft Home |  Java |  Javascript |  DOS/Shell Scripts
CSS |  HTML
I will be posting downloads in this section. What do you think of when you think of a computer program application? To name a few, Games!, Windows (GUI) programs, DOS(console) Programs (can be text based or graphical), System Programs which do task for you on your particular operating system (MS Windows, OS2 WARP, Mac OS X, Linux, Unix and possibly others), Networking Clients, Networking Servers, Micro Controllers, Daemon Processes (run in the background, also called TSR's on MS Windows), Hardware drivers, and I'm sure there are many other types of computer program applications. I will tell you about Java's strengths and weaknesses below.

Java is fair at GUI(Windows apps) development. Let me explain, with only a small amount of programming knowledge a person may code GUI's easily with Java. However to make the GUI look and act more robust and professional requires much skill. Java comes with a complete basic set of wigits for making GUI's. At first the newbie developer may run into quirky problems, but with experience these are overcome.

Java is not good for console applications though it may be used for such, Java almost totally supports GUI with nearly no support for the text screen. For text screen work a person must look for a 3rd party api add on, or produce a GUI Widget that emulates a text screen.

Java would only be good for certain types of Games such as, Text based adventures, tile based adventures and turn based games. Java can be used for real time games however architectural limitations of the language which cause timing problems make these games seem infirior to the same types of games written for instance in C or C++. Therefore in my opinion limited use of Animations would be ok where timing is not an issue such as turn based games. Other types of games Java would be great for would be puzzle games, board games, card games etc.

While Java could be used for some System programming, it certainly would not be useful for all system programming. This is because Java is given access to the system on a generic basis. Java is System Independent for 100% cross platform portability. So for example Java apps would not make TSR's, some types of Daemons, and Hardware drivers, or do any low level work with the system. Now Java could be used in conjunction with C++ to achieve such effects, but the application would no longer be system independent.

Java can be used for networking daemons such as servers very effectively. One example would be http://tomcat.apache.com which is the web server that sent you this web page. Java has super support for TCP/IP networking and can be used to build any kind of Client or Server.

Java Micro edition allows programming for micro controllers, such as PC Palm Pilots, Cell Phones, etc.

Again Java can be used for any kind of GUI application that a person could think of. You name it, Word Processors, Text Editors, HTML Editors, Database, Spreadsheet, CAD or Vector Graphics, Paint apps, utterly anything that can be imagined.

What does Java offer programmers? This is more technical but I will list some things that Java supports well though you may or may not understand.

On the server side Java supports the following.

This has been the best summary that I can give. I hope it helped you to know a little more about Java. I don't have time to write a more complete summary for more info see Sun's Java Web Site. But let me say something else on a technical note. Most Windows users are used to programs which are compiled specifically for the hardware that the Windows Operating System runs on, and specifically for the Windows operating System. There is a performance boost in running the software "On the Metal" so to speak. Many programs in the past have and still are interpreted, not compiled. Interpreted programs typically run slower than compiled programs. Java is a hybrid, where it is both compiled yet interpreted. Java is compiled to what is called Bytecode, a generic Machine code. This is what gives Java its 100% Cross Platform portability, meaning I can write a Java program on MS Windows, run it, then copy it to Unix or Macintosh, and still run it without altering the source, recompiling or even getting any error messages. Bytecode is run with a Java Virtual Machine again a (Generic computer). For you to use Java Applications you must first goto java.sun.com and download and install a Java Runtime Environment (JRE). Otherwise your web browser may have one installed for running of Applets. But to run applications you would still need to download and install the JRE. Developers would need to download and install the JDK also called SDK. tools with the SDK include the JVM, and command line development tools. Anyway to make a Java Program you build source files, and then compile them as you would using any compiled language. Then the JVM can interpret the bytecode that the compiler generated.

One more note: Javascript or JScript is NOT! Java. Search the web to find out more. Also while running typical Windows programs require two steps(install/run), running Java apps require various steps depending. For typical desktop apps, it requires (one time install of the JRE or JDK, then after that install(usually unzipping) of a download file, and usually running the app from the command line after reading a README file, but possibly in some cases clicking on a .jar file after reading the README file.