Posted by Winnie Melda on February 6th, 2019
Today technology is part of our lives as it helps us create connections as well as gain access to applications and content from anywhere to anywhere across the globe (Michael, 1996). Even the digital devices that help us form these connections are also getting smarter every day and consequently helping us to gain knowledge through the interactions with other people across the world. Programmers are people who love to sneer at the trends in the programming technology that is blowing like a breeze (Chan & Lee, 1996). In the programming field, there are also improvements that are leading to greater efficiency, ease of use as well as increased customization. There are emerging programming technologies where Java has inclusion that helps to offer those elements above to programming. The usage of Java in the development of the application is bringing new energy and flavor in the programming arena, and their applications are of high quality and interoperable than before. Improvements are also taking place in Java so as to keep pace with the advance in technology.
The history of Java
The history of Java starts from the Java Team members, also called as the Green Team who initiated the task of developing a language that can apply to the digital devices. Those devices include the television and set to boxes. Although it was a significant improvement, many programmers took it as an Internet programming language and so they used it. Later Java had incorporation into the Netscape. That small team from the Sun Microsystems initiated Java programming language in 1991. The language evolved from another language called Oak developed earlier by the same company, Sun Microsystems at the beginning of the 1990s (Flanagan, 1996). The Oak language was a platform-independent language that allowed the communication of entertainment appliances like the VCRs and game consoles. The language WebRunner made appearances on the set-top boxes that offered video-on-demand services during those times. At those times, the deals between Sun Microsystems began falling and fortunately at the same time the Web began emerging, and so it gave an excellent opportunity for then Sun Microsystems to take advantage.
Sun Microsystems the shifted their attention to the World Wide Web and as the demand for the set-top boxes was falling, and then they consequently came up with an Oak-enabled browser (Gosling & Yellin, 1996). They called the web browser as WebRunner. It is then that the developers of Oak changed its name from Oak to Java as they also changed the name for WebRunner to HotJava web browser. Thanks to the rapid Internet development that made many software vendor and manufacturers to come up with Java development tools. That has been instrumental for many programmers to and vendors to continue discovering Java and its numerous features. The developers of the Java language wanted to meet ten increasing demand for network technology as well as the execution of code remotely. For the developers to meet those objectives, they sometimes had to use the extensions like CORBA, OSGi (or the Internet Communications Engine). In the year 2009, the Oracle Corporation took ownership of the Sun Microsystems and consequently became the legal owners of Java and Solaris that were Sun Microsystems’ software assets. Currently, Java is a foundation of the development and the delivery of the Web content (Niemeyer & Peck, 1996). Many Java developers, over 9 million do exist across the globe plus over 3 billion mobile devices that are running in Java.
The Features of Java
Object orientation is the first characteristic of Java, and it refers to a method of programming as well as language design. Although there are many definitions of object orientation, the meeting point is that object orientation entails the combining of different types of data with their operations during the design of a language. That is to say, data and code have combination to form objects. An object, in this case, means that it is that container that embodies the code and the data or state. The usage of object orientation aims at changing the independent things from those that should remain dependent (Chan & Lee, 1996). The separation of the code and the data in that form offers a stable foundation for the design of software leading to easier management of large software systems that are easily manageable. That consequently leads to quality improvement apart from the reduction of the numbers of failing projects.
The platform independent feature means that if a programmer writes a program using the Java language, those programs can run on any hardware (Gosling et al., 2005). It is what the programmers call, write once, run anywhere. That is possible because most of the Java compiler does compile the Java programs half-way forming the Java bytecode. These are simple machine instructions that are useable only on the Java platform. The Programmers then run the bytecode on a virtual machine. That is a program written in the native language used for instructions on the host machine and it is the one that then executes the Java bytecode and makes them run on that hardware. Other Java compilers also exist, and they can compile the native object code to remove the intermediate bytecode stage (Oyenike, 2012). That kind of platform independent for the Java programming language is being useful in server-side applications, for instance, the servlets, embedded systems, Enterprise JavaBeans and Web services.
Automatic garbage collection
Garbage collection is very imperative in helping to manage the memory in Java applications so that the programmers do not have to carry out manual memory management (Chan & Lee, 1996). In other languages, it is the programmers that handle allocating and de-allocating the memory to objects. If the programmer fails to perform memory de-allocation or does not do it early enough, what results is a memory leak. That means that the object will consume a hugeamount of space unnecessarily. There is the avoidance of that problem in Java because of the existence of garbage collector that takes place automatically rather than manual intervention by the programmer. The garbage collector handles deleting the unreachable objects and then freeing the memory for other uses. Thus, there is no memory leak. The Java garbage collector is virtually invisible to the programmer or the developer because it is inbuilt.
The weakness of the Java programming language
The weakness for the Java programming language is the lack of object-orientation purity and facilities. Those primitive types have their values in the stack instead of making them references to values. The language’s primitive types are not objects. The developers of Java left that out for the reasons of performance. For that reason, many developers deem Java as not purely an object-oriented language for programming (Gosling et al., 2014). The features that the developers of Java decided not to incorporate in it include tuples, multiple inheritance, class properties and operator overloading.
The keybenefits of Java
As I will be doing my internship in i5 Tech Inc, I will have an opportunity to make improvements and gain much knowledge and understanding in the area of Java development. I will participate in an in-depth research into the area of Java programming so as to help the Java developers in the company and to help the company create high quality and powerful applications. The researcher will take advantage of the forthcoming technologies and the ongoing research into the area of programming. I will then collect a large amount of information that will be useful in carrying out the research in the company in question. The usage of the action research methodology will be very effective in unifying the knowledge, skills and experience of the various research participants so as to ensure a mutual benefit from the research process. Because the participants will improve their practices, there will also be the improvement of the company at large. I will ensure that I plan my internship well so as to meet my objective and goals from the iterations in which I will have involvement. Below are the iterations explained and what I will be doing.
The orientation phase is the first iteration of the ten weeks that I will be having in the company while working as an intern. The company, human resource manager, will help me to understand how the company operates and ensure that I also integrated into the system harmoniously. I will learn in this iteration how to carry out myself in the period that I will be working as an intern in this company. I will go round through the company and understand the location of different departments and offices so that I will not have confusion when looking for a certain office later. There will also be the issuance of the internship card that I will be presenting at the gate to show that am taking my internship in that company. If that does not happen, they will not allow me to conduct any business or perform any task without a proof of my identity.
The training will involve the knowledge of Java programming and how to develop market-oriented applications while working in the company. I will also receive training on the Java programming principles and standards so as to develop applications that can be useful in the legal requirements and ISO standards. It is aware I will also learn about project development and the stages of software development life cycle. I will learn how that will apply to my study in the company as a Java developer. There will be many staffs conducting the training, and each will be handling a specific section in light of their expertise. The training will end with an assessment, and the purpose of that assessment is to test how much I could comprehend during the training. It will also be the one to determine the type of project assignment that I will be working on while taking my internship.
The coding is where I will work on the assigned project and then test the application after that to eliminate bugs and defects in its functioning. I will have a requirement to carry out research into the application that I will be developing and understand its requirements, assumptions, and constraints. I will then work with the relevant Java developed as assigned to me so as to make necessary consultations regarding the application under development and the technicalities of programming. The failure to make those consultations is a punishable offense in many organizations as the area of programming or systems development is the one that requires much care and caution. While coding, I will also be making consultations with what in learned during the training phase because the coding draws its basis from the training phase.
In the testing phase is where I will liaise with the project development team to test the developed application so as to find and eliminate the errors that might be in that application. I, together with the team members will utilize some tests such as unit testing, integration testing, systems testing, alpha testing, beta testing, and acceptance testing among others. The testing will ensure that the developed application is free from bugs and that it works as per the system and user requirements as highlighted in the objectives. After each type of test, we will have to prepare test cases and present them to the review team for them to give a go-ahead for the subsequent phases’ progression. The review team consists of senior developers and the quality assurance personnel that understand the standards and application of a system ought to meet for it to be complete of acceptable. Testing will also have to utilize various platforms so that the application developed will not be platform independent and thus unacceptable by the end users.
In the implementation phase, I will be working with the system analyst so as to determine if I met the objects as laid down for the application developed. There will also be the final testing that will take place in the environment of the end users. After complete elimination of bugs and errors in the application, it will have an installation in the company’s data systems and be useful in their day-to-day operations. In the implementation phase, the system analyst will have to ensure that the staff and employees havetheexperienceandskills to work with the developed application so as to encourage its early adoption.
Chan, P. & Lee, R. (1996). The Java Class Libraries: An Annotated Reference (Java Series). Addison-Wesley Publishing Co.
Flanagan, D. (1996). Java in a Nutshell: A Desktop Quick Reference for Java Programmers (Nutshell Handbook). O'Reilly & Associates.
Gosling, J. & Yellin, F. (1996). The Java Application Programming Interface (Java Series). Longman Publishing Group.
Gosling, J.,. (2005).(3rd ed.). Addison-Wesley.
Gosling, J., Joy, B., Steele, G., Bracha, G. & Buckley, A. (2014). (8 Ed.).
Michael, C. (1996). Java for C/C++ Programmers. John Wiley & Sons, New York.
Niemeyer, P. & Peck, J. (1996). Exploring Java. O'Reilly & Associates.
Oyenike, O. (2012). Comparative analysis of some programming languages. Transitional jourbnal of science and technology, 2(5).
Sherry Roberts is the author of this paper. A senior editor at MeldaResearch.Com in graduate paper writing service if you need a similar paper you can place your order from custom research paper writing service.
Like it? Share it!
About the AuthorWinnie Melda
Joined: December 7th, 2017
Articles Posted: 364
More by this author