Comparitive Programming Language Essay 2022

Verified

Added on  2022/09/28

|15
|4161
|19
Essay
AI Summary
tabler-icon-diamond-filled.svg

Contribute Materials

Your contribution can guide someone’s learning journey. Share your documents today.
Document Page
Running head: COMPARITIVE PROGRAMMING LANGUAGE
COMPARITIVE PROGRAMMING LANGUAGE
Name of the Student
Name of the University
Author Note
tabler-icon-diamond-filled.svg

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
1COMPARITIVE PROGRAMMING LANGUAGE
Introduction
Programming languages are developed to make work done in easier ways. A large
number of programming languages have been implemented and designed for its own specific
problem domains and it is made with a set of design, decisions and compromises. There are
languages that are loosely typed and strongly types (Sestoft, 2017). Languages that support
object oriented features and abstraction of data types. There are languages that use dynamic
and static rules of scoping. Programming languages that provide management of memory.
Programming languages that allow the passing of functions. Programming languages that
allow creation of interface and many more features.
The main goal of this essay is to design a language for the problem domain of
banking. The programming language should have the following features such as speed,
robustness and efficiency. Banking covers a number of areas such as finance, business and
the relation with the customers (Liu et al.,2016). The purpose of the language is to do the
banking tasks very efficiently without any hindrance. The language that will be designed
must help the banking system with the following features. The programming language should
have a good performance that is it should not be slow. The programming language should use
data types and structures that are precise. The code of the language must be well maintained.
The design of the language should be flexible and the implementation must be properly done.
The strong requirements in a domain that is critical. The security features of the language
should also be good so that the there is no problem in the banking domain. The language
should be platform independent and should have the properties that will help the banking
domain to do its business smoothly.
Document Page
2COMPARITIVE PROGRAMMING LANGUAGE
Interpretation and Compilation methods
It is known that compilation is the very first step while executing the programming
language that will be designed. There should be a compiler that will compile the code and the
compiler should be included in the development kit of the programming language. A
compiler is also a program that takes the input if form of a code and then gives output in
machine language. The code that is in the machine language can execute any number of times
using various data each time. The compiler performs operations such as the lexical analysis,
semantic analysis, pre-processing optimization of code, and generation of code. The compiler
that can be used for the banking domain is source-to-source compilers (Yang , Feng &
Chakradhar, 2017). A source-to-source are the compiler type that takes the high-level
language as the input and gives output if the form of a high-level language. A specific source-
to-source compiler can be automatic parallelizing compiler. An automatic parallelization
compiler can be used for compiling the code for the domain of banking. This compiler
applies automation for compiling the codes. It converts the codes that are sequential into
codes that are multi-threaded to use the multiple processors concurrently in the shared
memory multiprocessor machine (SMP). The programmers use this compiler because they do
not have to do the hectic work and the error in the code can be easily detected and debugged.
The banking domain can use this compiler as it is used for the analysis of complex programs.
The codes that are written for banking are very complex. So to avoid the hectic work and
errors, automatic parallelization can be used. The automatic parallelization mainly focuses on
the loops as the execution time of a program takes place inside the loops. The technique of
automatic parallelization consists of four stages. The parsing of the codes, analyzing the
codes, scheduling the code and the last stage is the generation of the codes.
Document Page
3COMPARITIVE PROGRAMMING LANGUAGE
An interpreter is a program that implements the instructions written in a programming
language. The programming language does not have to be compiled into machine language
program. An interpreter uses the following plan for the execution of a program:
 Parsing the code and then perform the behaviour of the code directly.
 The interpreter translates the source code into some representation that is intermediate
and then executes the code immediately.
 The precompiled code is then executed using the compiler that is a part of the interpreter
system.
In the domain of banking, a high-level interpreter can be used because the code
written is very complex. An interpreter that can be used for banking domain is a Threaded-
code interpreter. A threaded-code interpreter is an interpreter that uses pointers for
interpreting a code (Zhang,2015). Each of the instructions is a word that points to a sequence
of instructions that is followed by a parameter. The threaded code interpreter fetches the
instructions that are in the loops and then calls the functions they point. It then fetches the
instruction that appears first and jump to it. This interpreter can be useful for the banking
domain because it does not have any limit of the number of instructions, address space or the
memory that is available. The code for the domain of banking is very complex and the very
large, so this interpreter can be useful for the domain of banking. The code for the banking
domain should be write once run anywhere. This means that the code should be platform
independent. As the code for the domain of banking is complex and long, writing the code,
every time is a tedious process.
Memory management and Scoping features
Memory management is the procedure of co-ordinating and controlling the computer
memory to assign memory portions known as the blocks to the different programs that are
tabler-icon-diamond-filled.svg

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
4COMPARITIVE PROGRAMMING LANGUAGE
running to optimize the performance of the system (Jones, Hosking & Moss,2016). The
management of memory resides in the operating system, in the hardware and in the
applications of program. The programming language that can be used for the banking domain
should manage the memory itself without the intervention of the programmer. The garbage
collector makes sure that the space that is not used is cleaned and the memory can be freed
when it is not needed. The programmer should not bother about the destroying the objects in
the programming language. The garbage collector does this. The memory management of the
programming language should be known to write programs whose performances are high and
that will not crash. The allocation and the de-allocation of the memory is very critical task
and it needs a lot of consideration and care. The garbage collector of the programming
language manages the allocation of memory. However, in some other language such as C, the
programmer has the direct access to the memory and he allocates the memory to the codes. It
creates many leaks in the scope. The programming language should have a virtual machine
that will define the area for the run time data during the time of execution. The virtual
machine and the threads that will be used in the program should create the areas. The
memory of the programming language should be divided into various parts. The various parts
include area of heap, the area of method, stack area, a native method stack area and the
program counter resistors.
The scoping features of the programming language means accessible features of the
programming language. The scopes of the programming language will the determined by the
access specifiers that are used during the coding in this programming language. As this
program will have the object-oriented concept, the access specifiers will be created according
to this concept. The access specifiers can be public, private and protected. Private access
specifier means that the program will be accessed from any part of the program or another
program. It can be accessed from another package. Private access specifier means that the
Document Page
5COMPARITIVE PROGRAMMING LANGUAGE
program cannot be accessed outside the program or another package. It can be accessed with
in the class it is defined. The protected access specifier means that the member of the data can
be accessed within the same package or the sub classes in the package that are different.
Specification and Rationale
Simplicity
Simplicity is very important in a programming language. The programming language
for the banking domain should be simple. The efficiency and the performance of the
programming language maters a lot but the simplicity of the programming language is very
important (O'Connor,2017). The programming language for the domain of banking should be
simple, easy to read and comprehend. Complex programming languages are very difficult for
the programmer to decipher hence writing the code for complex programming languages is
also tougher. The logic should also be simple for the programming language. The
programming language should not have magical logic. The efficiency at the readability cost
should be avoided. Avoiding the magical logic helps in the readability of the programming
language. The programming for the banking domain is simple when it has the following
features:
 The syntax of the programming language must be easier for the programmer to
understand.
 The programming language should not have complicated features such as the explicit
pointers and operator overloading.
 The programming language should not remove the objects that are not referenced. The
automatic garbage collection is there in the programming language which destroys the
object that are not referenced
Document Page
6COMPARITIVE PROGRAMMING LANGUAGE
Orthogonality
The orthogonality of a programming language means that the features of the
programming language can be used without worrying about the effects it has on the other
features of the programming language. The programming language designed for the domain
of banking should be orthogonal. It should not worry about the effects it has on the other
programming language. Non-orthogonality means exceptions to the general rules of language
that make it hard to learn. The programming language for the banking domain should be
orthogonal because orthogonal languages are easy to learn. The language should be easy for
the programmers to do the coding in the programming language. Too much orthogonality
makes it possible to say the things that are silly in the language. Too much orthogonality
makes the compiler complicated. Therefore, the programming language for the domain
should not be too much orthogonal and non-orthogonal. It should be in between non-
orthogonal and too much orthogonal that will make the programming language more compact
and it will be easy for the programmers to code in this programming language. This
programming language is a orthogonal language.
Data types
All the variables in this programming language use data-type during the declaration of
the variables to restrict the data type to be stored. It can be said that data types are used to tell
the variables the type of data the variable can store. If a variable is declared in this
programming language, the compiler of this programming language allocates some amount of
memory for the variable that is based on the data type with which the data type is declared.
Various data types need various amount of memory. The data types in this programming
language are divided into two types:
 Primitive data types: The primitive data types in programming language for the domain of
banking include char, byte, Boolean, short, int, long, float and double.
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
7COMPARITIVE PROGRAMMING LANGUAGE
 Non-primitive data types: The non-primitive data types in the programming language for
the domain of banking should include Classes, Interfaces and Arrays. These are the
In the programming language for the domain of banking, the primitive data types
are the building blocks of the manipulation of data. These data types are the most basic
that are available in this programming language.
There are eight primitive data types:
1. Byte data type
2. Boolean data type
3. Char data type
4. Short data type
5. Int data type
6. Long data type
7. Float data type
8. Double data type.
Data type Default value Default size.
Char ‘\u0000’ 2 byte
Boolean false 1 bit
byte 0 1 byte
short 0 2 byte
Int 0 4 byte
long 0L 8 byte
float 0.0f 4 byte
double 0.0d 8 byte
Document Page
8COMPARITIVE PROGRAMMING LANGUAGE
The non-primitive data types are the data types that will be created by the
programmers. This programming language has the scope of creating the data types. It is an
important feature of this programming that will be used in the domain of banking. The
variable of the non-primitive data type will get stored in the heap memory. The non-primitive
data type will consists of classes, arrays and interface. The default value of any non-primitive
data type must be null as the non-primitive data will be created by the user.
Syntax design
The syntax of a programming language are the rules that defines how the program is
interpreted and written. The syntax of the programming language for the domain of banking
should have the set of rules about the how will the program will be written. The syntax of the
programming language should be simple for the programmers to understand (Xin,&
Reiss,2017). If the syntax is complex then it will not be easy for the programmers to write the
code. The syntax in java should have a set of identifiers. The identifiers are the name of the
element in the code that will be written in this programming language. The syntax of this
programming language should not be case sensitive. It will be easy for the programmers to
code if the syntax is not case sensitive. There should be a set of keywords in the
programming language that cannot be used as a variable, methods as well as classes. The
programming language will have two types of variables. One is the local variable and the
other is the global variable. The programming language will have the advantage of giving
comments in the code for better understanding. There can be single line comment and
multiple line comments in the programming language. The programming language will have
operators for performing the operations during the coding. The syntax of the programming
language will be simple so that the programmers can use it well.
Document Page
9COMPARITIVE PROGRAMMING LANGUAGE
Abstraction
Abstraction is one of the most essential features of a programming language.
Abstraction means to display only the information that is important and hiding the details.
Abstraction can be implemented in the classes of this programming language (Mao et
al.,2015). The class will decide which of the data member will be visible to the outside and
which is not. Abstraction in the programming language can be done with the help of the
access specifiers. The members of the data that are declared as public can be accessed from
anywhere in the program. The data members that are declared as private can only be accessed
within the class only. They cannot be accessed from outside of the program. There are
advantages in using the feature of abstraction in the programming language. The advantages
are:
 The abstraction will help the programmer to avoid the code that is low level.
 It will avoid the duplication of the code and it increases the reusability of the code.
 It will increase the security of the program as the details are only with the programmer.
Expressivity
The expressive power of a programming language in one of the most important
features. The programming language for the domain will be expressive. Being expressive, it
will help the programmers to code very easily. The expressive power of the programming
language can be increased by adding more features to the programming language. New
features will be added to the programming language such as the object oriented concept to
make it more expressive. The object-oriented concept is the concept where object can be
created of the class and the methods. It will make the coding of the programming easier for
the programmer.
tabler-icon-diamond-filled.svg

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
10COMPARITIVE PROGRAMMING LANGUAGE
Type checking
Type checking means to check the type of the variables either during the run time of
the program or during the compile time of the program. The programming language will have
static type checking. Static type checking is the type checking where the type is checked
during the compile time of the program (Eggers et al.,2016). Dynamic type checking is the
type checking where the type will be checked during the run time of the program. It will be
easier to use static type checking in the programming language for the domain of banking
because in static type checking the variable needs to be declared before they are assigned
with values. The type will be checked during the compile time of the program.
Type conversion can also be done in the programming language. There are two types
of type conversion- implicit type conversion and the explicit type conversion. Implicit type
conversion is the type of conversion where the compiler of this programming language will
automatically change one data type into another data type. When the smaller data type will be
assigned to a larger type explicit type conversion will not be required. The conversion will be
done automatically done by the compiler. In this type of conversion, the smaller type will be
always converted to larger type like byte to short, short to int, int to long and float to double.
In the explicit type conversion, the larger type will be converted to smaller data type.
The compiler will not convert the data type automatically. The programmer with the help of
certain functions will do it. The explicit type will be done forcefully. It is the conversion of
the larger type into the smaller type like double to float, float to long, long to int, int to short
and short to byte.
Exception handling
Exception is an unwanted situation which comes across during the execution of the
program. The programming language must handle these situations that will help in the
Document Page
11COMPARITIVE PROGRAMMING LANGUAGE
smooth compilation of the code for the domain of banking (Kery, Le Goues & Myers,2016).
The programming language must have specific keywords for the handling of the exception.
Like java, have five keywords for the exception handling. The keywords are try, catch, throw,
throw and finally. This programming language will also need to have keywords to handle the
exceptions. All the exception and the errors of this programming will be under a class. There
are different kinds of exceptions that will come across during the coding in this programming
language. There will be a readymade block of code to handle the exception that has occurred.
It will be known as the exception handler.
Readability, Writability and reliability
The programming language must be readable by the programmer. The compiler reads
the source code. The code readability is very important. The code readability is the one most
essential features of a code that is good. If the code is easy to read of this programming
language then it will be very easy to understand that means it will be easy to debug maintain
and extend. The syntax of the programming language must be readable. It will be very easy
for the programmers if the readability of the programming language is readable.
Readability of programming language is important to writability. The programming
language needs to readable to be writable by the programmer. If the programming language is
difficult to read and understand then it will be difficult for the programmer to create code that
are new for the banking domain. The code of the banking domain will be very complex so,
the readability and the writability must be very clear for the programming language.
Sometimes the code has to be modified and if the program is difficult to read then will be
difficult to write codes that are new.
The reliability of the programming language must be reliable. The programming
language for the banking domain needs to be robust. The exception handling of the
Document Page
12COMPARITIVE PROGRAMMING LANGUAGE
programming language will be reliable which will handle all the exceptions and the errors in
the code of the programming language. The code will be secured when it is compiled. The
code that will be written in this language will be compiled into a high-level language and it
will be interpreted by a virtual machine. Hence, the programming is reliable and can be used
in the banking domain for the transactions in the bank. The programming language is also
secured as it has the feature of abstraction.
Conclusion
The essay aim to create a programming language for the domain of banking. The
programming language has all the features that other programming languages possess. The
compilers and the interpreters of this programming language is more advanced as the codes
of the banking domain will be complex. The memory management and the scoping features
are different from the programming languages that are already there. The readability,
writability and the reliability of the programming language is also simple as readability is
essential for the writability of the code for the banking domain. The syntax is simple for the
programmers to quickly understand. The process of abstraction that will hide the details of
the code also secures the codes. The code of this programming language is write once run
anywhere that is it is a platform independent programming language.
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
13COMPARITIVE PROGRAMMING LANGUAGE
References
Eggers, S. J., Ceze, L., Fortuna, E., & Anderson, O. (2016). U.S. Patent No. 9,336,125.
Washington, DC: U.S. Patent and Trademark Office.
Jones, R., Hosking, A., & Moss, E. (2016). The garbage collection handbook: the art of
automatic memory management. Chapman and Hall/CRC.
Kery, M. B., Le Goues, C., & Myers, B. A. (2016, May). Examining programmer practices
for locally handling exceptions. In 2016 IEEE/ACM 13th Working Conference on
Mining Software Repositories (MSR) (pp. 484-487). IEEE.
Liu, J., Grundy, J., Avazpour, I., & Abdelrazek, M. (2016, September). A domain-specific
visual modeling language for testing environment emulation. In 2016 IEEE
Symposium on Visual Languages and Human-Centric Computing (VL/HCC)(pp. 143-
151). IEEE.
Mao, R., Xu, H., Wu, W., Li, J., Li, Y., & Lu, M. (2015). Overcoming the challenge of
variety: big data abstraction, the next evolution of data management for AAL
communication systems. IEEE Communications Magazine, 53(1), 42-47.
O'Connor, R. (2017, October). Simplicity: A new language for blockchains. In Proceedings
of the 2017 Workshop on Programming Languages and Analysis for Security (pp.
107-120). ACM.
Sestoft, P. (2017). Programming language concepts. Springer.
Xin, Q., & Reiss, S. P. (2017, October). Leveraging syntax-related code for automated
program repair. In Proceedings of the 32nd IEEE/ACM International Conference on
Automated Software Engineering (pp. 660-670). IEEE Press.
Document Page
14COMPARITIVE PROGRAMMING LANGUAGE
Yang, Y., Feng, M., & Chakradhar, S. (2017). U.S. Patent No. 9,658,823. Washington, DC:
U.S. Patent and Trademark Office.
Zhang, W. (2015). Efficient Hosted Interpreter for Dynamic Languages (Doctoral
dissertation, UC Irvine).
chevron_up_icon
1 out of 15
circle_padding
hide_on_mobile
zoom_out_icon
[object Object]

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

Available 24*7 on WhatsApp / Email

[object Object]