Kheman Dundi Computer Programming I Date: 04/17/2008 Dr. Genis Java Essay Java is a language developed in the early 90’s and later introduced to the world in the mid 90’s, it attempts were to solved problems of all other languages that already exists and also to make programming more user friendly, fast and efficient. With that in mind they also wanted to produce programs that were just as powerful as a program that was written in C or C++. Today many large companies are switching to Java. This is because Java is secure, safe and relatively fast. Java cuts programming time into half, which means that the time it would take someone to write an application in C++ it would take them half of that time to write the same application in Java. Many companies want powerful applications to perform various functions, but they also want productivity and performance. This is where Java comes in very handy and useful because it was an attempt to solve all of the above problems as well. Java was also intended to have a user-friends field and at the same time also be durable. Java is an object oriented language, which lets you write codes that are reusable. Another big advantage of Java is that Java is an independent language. This is a major advantage in the programming world because your computer requires Java Runtime Environment (JRE) in order to execute Java codes. Their goal was to write an application once and be able to run it anywhere. With that being pointed out this means that you will be able to create an application in Java on a Windows XP Operating System and it will be able to run on any other Operating System as long as the Java Runtime Environment (JRE) is present and because Java applications are compiled into byte-code which makes this possible. Having a language that is easy to move from one Operating System to another is a major advantage to business. They would no longer need to pay programmers to write program for separate Operating System, they can just write it in once Java which they will then later be able to use on any other Operating System, whether its Microsoft Windows, Linux or Solaris. Java also has a great documentation capability. Also it would be very simple and fast to make updates the old programs in the future. This will help many business save large amount of money and also a lot of time, which they would’ve had to spend in creating software that is suitable for their tasks. Java code closely resembles C which makes it easy for many people to switch to this new language, because they already have some knowledge about it. Java also got rid of pointers which are a bit confusing to many people; this makes it very easy for people to learn programming. Java has a built in garbage collector, which helps Java to free the memory automatically by performing automatic garbage collection. Java also include built in data structures and algorithms for creating Graphical User Interface (GUI) and communicating with other computers over a network. While Java may have many advantages over other languages it also has some disadvantages too. Java is a bit slower on execution and more memory consuming than language such as C and C++. This is because of the fact that Java compiles into byte-codes instead of native code. Java also requires the Runtime Environment to execute applications, and since the majority of the computer world uses Windows and the runtime doesn’t come preinstalled this could be a bit of a disadvantage. The Java Runtime Environment will read the byte-code from your program and translate it into native code which makes program written in Java a little slower than a program that would’ve been written in C++. Also Java has a few other limitations, such as the switch statement. The switch statement in java will only allow integral value which could be worked around but in C++ it will take any value, whether it’s some integral value or string. Another disadvantage that Java has is, it does not let you access the memory as you would be able to in C++. Java has many advantages, but it also has a large disadvantage. Java performs many times slower than C++, especially when it comes to I/O operations. The ease of development, reusability and portability make Java well worth the time to learn. Even though Java is a very powerful language there are many limitations to it, where as C++ the limitation is up to the programmer. I am a Computer Science major and is currently taking Java Programming I, introduction to java and I have to admit Java is an awesome language and I hope to learn more in-depth about Java. Hopefully I will get the opportunity to be a Java Programmer some day.