ProductsLogo
LogoStudy Documents
LogoAI Grader
LogoAI Answer
LogoAI Code Checker
LogoPlagiarism Checker
LogoAI Paraphraser
LogoAI Quiz
LogoAI Detector
PricingBlogAbout Us
logo

Comparative Programming Languages: Java

Verified

Added on  2023/01/12

|20
|4843
|2
AI Summary
This report provides an overview of Java programming language, focusing on its features and functionality. It discusses object-oriented programming, interpretation/compilation methods, memory management, and scoping features. The report highlights the advantages of using Java for e-commerce websites and its support for write once, run anywhere. It also emphasizes the simplicity, security, and robustness of Java, along with its effective community support.

Contribute Materials

Your contribution can guide someone’s learning journey. Share your documents today.
Document Page
Running head: COMPARATIVE PROGRAMMING LANGUAGES
COMPARATIVE PROGRAMMING LANGUAGE –JAVA
Name of the Student
Name of the University
Author Note

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
1COMPARATIVE PROGRAMMING LANGUAGES
Table of Contents
Introduction......................................................................................................................................2
Overview of Java programming language.......................................................................................2
Object oriented programming paradigm......................................................................................4
Interpretation/compilation method used in Java..............................................................................5
Memory management and scoping features....................................................................................6
Scoping features in Java..............................................................................................................8
Specification and rationale for major language features in terms of:..............................................9
Simplicity.....................................................................................................................................9
Orthogonality.............................................................................................................................10
Data types..................................................................................................................................10
Syntax design.............................................................................................................................10
Support for abstraction..............................................................................................................11
Expressivity...............................................................................................................................12
Type checking............................................................................................................................12
Exception handling....................................................................................................................12
Restricted aliasing......................................................................................................................13
Characteristic possessed by Java language....................................................................................13
Readability features...................................................................................................................13
Reliability..................................................................................................................................13
Document Page
2COMPARATIVE PROGRAMMING LANGUAGES
Writability..................................................................................................................................14
Conclusion.....................................................................................................................................14
References......................................................................................................................................15
Document Page
3COMPARATIVE PROGRAMMING LANGUAGES
Introduction
The main objective of this report is describing a language that will be able to overcome
the challenges that are faced with the E-commerce websites. E-commerce website includes
working on different aspects such a finance, business and customer relationships. Thus it
becomes essential to ensure that proper programming language has been implemented with the
E-commerce site so that it can ensure better performance throughout the system. The
implementation of proper programming language will help in flexibility throughout the system
and will also provide better way of handling the data within the site. Thus the report will focus
on describing the main features and functionality that are offered with the chosen language. After
analyzing all the activities and security aspects within the e-commerce website it can be stated
that Java offers extremely developed features that will help in enhancing the functions performed
by the e-commerce site. The programming paradigm that is offered with the java language is
object oriented programming language. The report will describe all the features offered with the
language so that it becomes easy perform the functions and will maintain proper working of the
e-commerce site.
Overview of Java programming language
Java is a programming language that is being developed with the help of object oriented
programming paradigm. Java is mainly a programming language that allows the user to program
the website effectively and offers software for multiple platforms. This language was developed
in the mid of 1990s by James A. Gosling. Java platform is basically used for the purpose of
providing a wide range of environment towards the customers (Mahadik & Thakore, 2016). The

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
4COMPARATIVE PROGRAMMING LANGUAGES
main structure and syntax rules that are followed by this programming language are defined by
Java. Java is case sensitive language and hence it becomes essential to ensure that proper
structure is maintained throughout the coding. The programming language uses the concept of
OOP paradigm and supports all the features that are provided with the Object oriented
programming paradigm. Java language is derived from C language hence the coding structure
followed by java is similar to C language. The codes written within the Java are being processed
within {} braces. The Java language starts its processing with the help of packages. Packages are
mainly used a namespace mechanism (Magalhães et al., 2016). These packages are further
divided into classes, methods, variable, constants and many more.
Java programming language offers write once and run anywhere feature. This ensures
that the code written once can be used at any platform. The main reasons behind choosing this
language Java are as follows:
Object oriented: Java focuses on object rather than on procedure. This focuses on
developing the code by relating with real world entities. Thus it becomes easy to extend the
codes as it is prepared based on the object model.
Platform independent: Java is a platform independent language and can be run over any
machine. However the languages other than Java are not platform independent and hence they
cannot be compiled in other platform (Mandal & Naskar, 2017). Java generates a byte code that
can be distributed over the internet and this are further interpreted by the java virtual machine so
that it can be used over any platform easily.
Document Page
5COMPARATIVE PROGRAMMING LANGUAGES
Simple structure: Java is one of the simplified languages that helps the users to access
the codes easily. The design of this language is easy to understand and learn. This is basically
developed on the concepts of OOP.
Secure: java offers a secure feature that helps the user to develop code without any virus
and does not allows any unauthorized person to tamper with the system. The java platform
ensures proper authentication techniques that use the public key encryption method (Savitch,
2017). With the help of this it becomes easy to manage the codes.
Robust: java makes the effort for eliminating the errors that has the chances to cone
while running a particular program.
Dynamic: java programming language is considered to be one of the most dynamic
languages as it is being developed in a way that helps in evolving with environment. This can be
easily used for the purpose of accessing the code at run-time.
Effective community support: apart from all the benefits one of the important benefit
that is offered with Java programming language is that it offers a huge community support
throughout the site. Thus enhances the working and also ensures that the community members
are allowed to share their knowledge (Madsen, Zarifi & Lhoták, 2018). The open source java
developers help in testing the source code and also ensure that the codes are being developed
effectively.
Object oriented programming paradigm
The main concept of object oriented programming paradigm is that it focuses on objects
that will be able to hold data in the form of fields and code that are basically referred to methods.
This paradigm is mainly class based and objects are referred to as the instances of class (Liang,
Document Page
6COMPARATIVE PROGRAMMING LANGUAGES
2017). The main features that are offered with object oriented paradigm includes encapsulation,
inheritance, and polymorphism and open recursion.
Encapsulation is referred to the process in which the data and functions are encapsulated
so that it can prevent unauthorized person from accessing the data. This helps in hiding
the data from outside people. This ensures that the variables present within the system is
private and can be accessed only when they are provided with proper access permission
(Lancia & Bouffard, 2015). This also provides public setter and getter methods for the
purpose of modifying the variable values.
Inheritance feature is one of the most important features of OOP that allows the code to
inherit data from previous codes. This is referred to as parent classes and the newly
formed class is known as the child class. The functions can be easily inherited from the
parent class.
Polymorphism is referred when a same code is being called by different classes to
perform the same activity (Rosà et al., 2016). This has the ability of object to take any
form. The main use of this feature is that when a parent class uses the class methods for
referring to the child class.
Open recursion is a feature that helps object method to call other objects for the aim of
performing same function. The key words that are used include this or self.
Interpretation/compilation method used in Java
In order to perform the compilation process within the Java, the complier used is Java
compiler. Java compiler is used for the purpose of programming the java. Java virtual machine
load the class files and interprets into the byte codes so that it can be used by the programmer

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
7COMPARATIVE PROGRAMMING LANGUAGES
while executing the codes. The codes are written in .java files and then these are compiled by the
Java compiler (Pombrio, Krishnamurthi & Fisler, 2017). Byte code is basically referred to the set
of instructions that are provided for the purpose of accessing on the Java Virtual machine.
Moreover the abstraction process of java compiler is different from other languages and is
suitable for the CPU. The java virtual machine interprets the codes at runtime and executes the
program files along with instruction. The java virtual machine reads and interprets .class files
and executes the programs as per the instruction provided on the native hardware platform. Java
virtual machine starts interpreting the byte code as soon as the CPU interprets the assembly
language. The java virtual machine acts as the core component for java language and helps in
interpreting the codes into different forms. This offers the principle write once and run anywhere
(Jackson, 2016). Java virtual machine is available for all the major platforms and ensures that
multiple interfaces can be provided towards the system. It is expected that with the use of java
compiler the codes executed will be much more efficient towards the programmer.
Memory management and scoping features
Java is one of the modern object oriented programming language that is developed with
all useful features. Java includes a frequent occurrence of phenomenon that is mainly related
with memory management. This mainly deals with memory creation and destruction with the
help of temporary objects. Java temporary objects are referred to the objects where two strings
are concatenated as a result of this a String buffer gets created. Two java string objects cannot be
simply added thus in order to provide support a StringBuffer is being used that helps in
constructing the resultant java string object. The scoped memory concept of java helps in
allocating the fixed amount of memory to a string and also allocated the time period so that the
Document Page
8COMPARATIVE PROGRAMMING LANGUAGES
system can understand at what time the memory will be freed (Horstmann, 2016). This helps in
defining a boundary and brings predictability within the memory management. With the help of
proper predictability real time programming becomes easier. Memory management in java is
divided in old generation and young generation. The young generation basically referred to the
place where all the newly created objects are stored. With the complete filling of young
generation the garbage collection takes place (Nowicki, Górski & Bała, 2017). This garbage
collection is named as Minor GC. This generation is basically divided into three parts that are
Eden memory and two survivor memory spaces. The main points associated with the java young
generation space are as follows:
The newly created objects are placed within the Eden space memory.
Once the space of Eden memory gets filled with newly objects than the Minor GC starts
performing its activity and all the survivor objects are transferred to one of the survivor
spaces.
Minor GC manages all the space effectively so that it can ensure proper freed space is
provided towards the users.
The object that remains available after all the garbage removal process is further is
further moved to old generation memory space.
Apart from this the old generation memory management in java contains the objects that
has lived for a longer time and has survived all the major removal round performed by
garbage collector. Java garbage collector starts its process for the purpose of identifying and
removing the unused objects that are present within the memory. This helps in freeing the
space so that it can allocate it to newly created objects for the purpose of future processing.
Java programming language offers one of the most attractive features that is it offers
Document Page
9COMPARATIVE PROGRAMMING LANGUAGES
automatic garbage collection. This is not present in other languages and hence it ensures an
efficient way of managing the details for further processing. There are several types of java
garbage collector available that are used for performing different types of management
towards thee memory.
Further memory structure of java is divided into two big parts this are stack and heap.
Heap memory contains a lot of data as compared to stack memory. Stack memory is mainly
responsible for storing the references to heap objects and also stores the value types. This
stores thee value itself rather than referring to a heap. The visibility of the variables stored
within the stack has a certain level and hence this is called as scope (Hoffman, 2016). On the
other hand the heap part stores the real objects within the memory and is basically references
by the variables form stack. In order to ensure that proper memory is available towards the
users “new” keyword is being used. Moreover java also offers different types of referencing
objects this are strongly reference, weak reference, soft and phantom references. This is
mainly used for referring to the objects that are eligible for garbage collecting process.
Scoping features in Java
Scope of a variable is basically used for the purpose of defining the section of code in
which the variables will be available. Java ensures a general rule that states a lifetime of a code is
till its block and cannot be accessed outside its block. This is used mainly for the purpose of
checking the lifetime of a variable so that it can be understood for how long the variable will
exist. However apart from all this one of the major difference between this three types of
variables is that access specifies are only used for instance variables. Thus it can be stated that
scope of a variable is basically referred to the lifetime of an object and are determined by the

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
10COMPARATIVE PROGRAMMING LANGUAGES
location they are being described in. There are mainly three times of variables available that are
instance variables, local and argument variables.
Instance variables are referred to those variables that are defined within the class and
cannot be used outside it in any other constructor or method. The scope of this variables are
limited to its class and are determined with the help of access specified that is basically applied
to these variables. The lifetime offered to this variables are same as the life time offered to the
objects.
Argument variables are mainly defined at the header part of the constructor or a method.
The scopes of these variables are limited to the constructor in which they are being defined. The
lifetime is limited to these method itself and it gets destroyed as soon as the program ends it
execution process.
Local variables are one of the variables that are being declared within a method. Thus the
scope of the variables is limited to its method only.
Specification and rationale for major language features in terms of:
Specification of a programming language is basically referred towards the official
documents that are needed to be followed by the users while using the language. Java language
and virtual machine specifications are divided into different editions. The specification includes
the types and values that are offered towards an object. The different types available are
primitive type, reference types, operators on Boolean, operators on flotation and operators on
integral values.
Document Page
11COMPARATIVE PROGRAMMING LANGUAGES
Simplicity
Java offers easy way to learn the language and also offers simple syntax that can be easily
understood by a beginner. The reason behind considering java as one of the simplified language
is that the syntax is being developed based on C++. Thus it becomes easy to understand the
codes after learning C++. In addition to this with the evaluation of the language it is observed
that the java language has removed several complicated and rarely used features such as explicit
pointers, operator overloading and many more. Apart from all this the java language has also
included automatic garbage collection that ensures the unreferenced objects are being removed
automatically without any explicit command.
Orthogonality
Orthogonality of Java is referred to the concept used for describing the maintainability
and modularity of the software. This enables the user to establish relatively simple mental model
for developing complex application use cases. Orthogonality reduces the complexity that is
brought towards the software programs. This includes breaking down the complicated
movements of points is that they can be manipulated easily based on the powerful idea.
Data types
The different types of data that are offered with java include primitive data type and non
primitive data types. The primitive data types includes Boolean, byte, short, int, long, float and
char. On the other hand non primitive data types include classes, arrays and interfaces. The
different data types are used for storing different default values. The default value of Boolean
false and default size 1 bit. The char default size is 2 byte; byte offers a default size of 1 byte. On
Document Page
12COMPARATIVE PROGRAMMING LANGUAGES
the other hand short offers a default size of 2 byte (Fumero et al., 2015). The float offers a
default size of 4 byte and double offers an 8 byte code.
Syntax design
Java is an object oriented programming language. Java syntax can contain at least one
class and any java system. The java program is considered as one of the strongly typed code.
This is case sensitive and follows a strict structure. This are basically defined as a collection of
objects that has the ability to communicate with methods.
Java is case sensitive hence it becomes essential to ensure that each object is being typed
effectively so that it can provide proper output. Moreover it becomes essential to ensure that the
method names are defined with lower case letter. On the other hand class names are defined by
upper case. Java program starts with the main () method that is important for java program.
Public class MyFirstJavaProgram {
/* This is my first java program.
* This will print 'Hello World' as the output
*/
public static void main(String []args) {
System.out.println("Hello World"); // prints Hello World

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
13COMPARATIVE PROGRAMMING LANGUAGES
}
}
Support for abstraction
Abstraction is the process that helps in hiding the implementation details from the users.
Only that part of data is being made visible that are essential for the users. In order to achieve
abstraction, the abstract classes and interfaces are being used. This is one of the characteristics
that are offered with object oriented programming paradigm. Data abstraction is mainly
performed within the java language in order to ensure that the unwanted details are hidden from
the users and only important data are made visible to the users.
Expressivity
Expressivity of a programming language is referred to the capability of java
programming language to express the solution in which the problem can be solved. This is
mainly referred to the quality of a language so that it can express the terms effectively for the
purpose of solving the problems. With an effective syntax it is observed that java offers a great
expressivity feature that helps in understanding the codes easily by the users.
Type checking
Type checking is mainly referred to the process of analyzing the programs within the java
language so that it can ensure proper way for expressions. Java is a statically typed language that
ensures maximum type checking performed by the complier. As soon as the variable is declared
Document Page
14COMPARATIVE PROGRAMMING LANGUAGES
to a certain type than it becomes the responsibility of the compiler to ensure proper values are
assigned towards that type.
Exception handling
Java exception handling features are managed mainly with the help of five keywords that
are try, throw, throws, catch and finally. The working of exception handling in java is the
ArithmeticException and ArrayIndexOutOfBoundsException (AbdelGawad, 2017). The
statement defined within a program gets executed if any certain type of exception takes place
within a block. The main aim behind using exception handling is that it helps in managing the
errors throughout the java programs. This helps in separating error handling code that from the
regular and helps in propagating errors up the call stack. This also ensures that the error types are
grouped and defined properly.
Restricted aliasing
Aliasing is referred to a situation where different objects are being provided with same
name. This means that a multiple aliases to a location can be updated. However there will be no
compilation occurs as there is a specific syntax followed while using the alias objects.
Characteristic possessed by Java language
Readability features
The source code developed in java can be read by both the compiler. Readability ensures
that proper ease is provided towards the users so that they can easily understand the code written
for executing the program. Code readability is one of the most important features as it helps the
developers at the time of enhancing or expanding the codes for future use. Java offers a platform
Document Page
15COMPARATIVE PROGRAMMING LANGUAGES
that ensures better syntax processes with a readable code so that it can be accessed by the users
in most concise way (Bidve & Sarasu, 2016). However it becomes important for the developers
to maintain a proper structure while developing the code so that it can be accessed and
understood easily by the users.
Reliability
Java performs a series of checks so that they can ensure proper reliability over these
codes. Reliability ensures that the problems are identified at early stages and proper solutions are
provided so that they can be compiled effectively without any problem.
Writability
Writability feature of java ensures that the program is being developed in an effective
way. Java also ensures simple rules for writing the codes. Writability is connected with
readability hence it is important to ensure that proper readability is offered so that they can
develop better codes (Caponetti & Castellano, 2017). Wirtability is performed based on the basic
rules set for java. Before execution it is important to develop the codes effectively so that they
can be executed without any error.
Conclusion
Thus from the above report it can be stated that with the help of Java programming
language it will become easy to provide proper support towards the e-commerce business site.
The report has explained the main features offered with java programming language. Java is a
strongly typed language that is case sensitive and provides an effective support towards the
object orientation. There are several rules for scoping the variables within a class that are needed
to be focused while executing a program. The report has described the performance that is

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
16COMPARATIVE PROGRAMMING LANGUAGES
offered with java and the code syntax that is provided towards the coding language. The report
has also described the main functionalities and features that are associated with the programming
language. Hence it can be stated that with the help of this programming language it will become
easy to overcome the E-commerce challenges.
Document Page
17COMPARATIVE PROGRAMMING LANGUAGES
References
AbdelGawad, M. A. (2017, June). Towards a Java Subtyping Operad. In Proceedings of the 19th
Workshop on Formal Techniques for Java-like Programs (p. 3). ACM.
Bidve, V. S., & Sarasu, P. (2016). Tool for measuring coupling in object-oriented java
software. IACSIT International Journal of Engineering and Technology, 8(2), 812-820.
Caponetti, L., & Castellano, G. (2017). Fuzzy Logic for Image Processing: A Gentle Introduction
Using Java. Springer International Publishing.
Fumero, J. J., Remmelg, T., Steuwer, M., & Dubach, C. (2015, September). Runtime code
generation and data management for heterogeneous computing in java. In Proceedings of
the Principles and Practices of Programming on The Java Platform (pp. 16-26). ACM.
Hoffman, A. (2016). Java: The Best Guide to Master Java Programming Fast-Volume 2.
CreateSpace Independent Publishing Platform.
Horstmann, C. S. (2016). Big Java, Binder Ready Version: Early Objects. John Wiley & Sons.
Jackson, W. (2016). Objects and Object-Oriented Programming: OOP Primer. In JSON Quick
Syntax Reference(pp. 31-50). Apress, Berkeley, CA.
Lancia, J., & Bouffard, G. (2015, November). Java card virtual machine compromising from a
bytecode verified applet. In International Conference on Smart Card Research and
Advanced Applications (pp. 75-88). Springer, Cham.
Liang, Y. D. (2017). Introduction to Java Programming, Brief Version, Student Value Edition.
Document Page
18COMPARATIVE PROGRAMMING LANGUAGES
Madsen, M., Zarifi, R., & Lhoták, O. (2018, February). Tail call elimination and data
representation for functional languages on the Java virtual machine. In Proceedings of the
27th International Conference on Compiler Construction (pp. 139-150). ACM.
Magalhães, G. G., Sartor, A. L., Lorenzon, A. F., Navaux, P. O. A., & Beck, A. C. S. (2016,
November). How programming languages and paradigms affect performance and energy
in multithreaded applications. In 2016 VI Brazilian Symposium on Computing Systems
Engineering (SBESC) (pp. 71-78). IEEE.
Mahadik, P. P., & Thakore, D. M. (2016). Survey on automatic test data generation tools and
techniques for object-oriented code. Int. J. Innovat. Res. Comput. Commun. Eng, 4, 357-
364.
Mandal, S., & Naskar, S. K. (2017, June). Towards generating object-oriented programs
automatically from natural language texts for solving mathematical word problems.
In International Conference on Applications of Natural Language to Information
Systems (pp. 222-226). Springer, Cham.
Matsuzawa, Y., Ohata, T., Sugiura, M., & Sakai, S. (2015, February). Language migration in
non-cs introductory programming through mutual language translation environment.
In Proceedings of the 46th ACM Technical Symposium on Computer Science
Education (pp. 185-190). ACM.
Nanz, S., & Furia, C. A. (2015, May). A comparative study of programming languages in rosetta
code. In 2015 IEEE/ACM 37th IEEE International Conference on Software
Engineering(Vol. 1, pp. 778-788). IEEE.

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
19COMPARATIVE PROGRAMMING LANGUAGES
Nowicki, M., Górski, Ł., & Bała, P. (2017, September). Evaluation of the Parallel Performance
of the Java and PCJ on the Intel KNL Based Systems. In International Conference on
Parallel Processing and Applied Mathematics (pp. 288-297). Springer, Cham.
Pombrio, J., Krishnamurthi, S., & Fisler, K. (2017). Teaching programming languages by
experimental and adversarial thinking. In 2nd Summit on Advances in Programming
Languages (SNAPL 2017). Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik.
Rosà, A., Zheng, Y., Sun, H., Javed, O., & Binder, W. (2016, October). Adaptable runtime
monitoring for the java virtual machine. In International Symposium on Leveraging
Applications of Formal Methods (pp. 531-546). Springer, Cham.
Savitch, W. (2017). Java: An Introduction to Problem Solving and Programming Plus
MyProgrammingLab with Pearson eText--Access Card Package. Pearson.
1 out of 20
[object Object]

Your All-in-One AI-Powered Toolkit for Academic Success.

Available 24*7 on WhatsApp / Email

[object Object]