E-Commerce System Development: PyTh Programming Language Design

Verified

Added on  2023/01/23

|14
|4291
|65
Report
AI Summary
This report details the design of the PyTh programming language, specifically tailored for e-commerce system development. The language, named PyTh, is designed to support both web and mobile applications, incorporating key features such as object-orientation, platform independence, simplicity, security, architecture neutrality, portability, robustness, multi-threading, interpretation, and distribution. The report explores the compilation method, prioritizing Just-In-Time (JIT) compilation for efficiency. It also delves into scoping features and memory management, explaining the PyTh memory structure, including the heap, stacks, and program counter register, along with garbage collection mechanisms. Furthermore, the report outlines the specifications and rationale for features like simplicity, orthogonality, and data types, including primitive and non-primitive data types. The design aims for ease of use, security, and efficient memory handling to facilitate the development of robust and secure e-commerce applications. The report is a comprehensive overview of the design considerations for a programming language optimized for the e-commerce domain, aiming to provide a detailed understanding of its core components and functionalities.
Document Page
Design Of PyTh Programming Language to Solve E-Commerce System Development
Student Name
College
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
A programming language can be defined as a set of grammatical protocols and
vocabularies that can be deployed to a computer or any computing device to perform its core
function precisely. Many programming languages have been designed and implemented since the
year 1940. Each programming language is designed to perform a specific task. Every
programming language has its own rules and regulations that guide the design and syntax of the
language and a guide for users of the language (Bresciani, 2017). Designing a programing
language starts with establishing a unique set of key words that are reserved, that define the
language. Key words represents the logic that the language needs to follow. A programming
language has to have good syntax. Syntax means that the instructions have to flow in a
systematic manner. For a computer to process a set of instructions, it first uses another program
to assess whether the syntax has been obeyed or not. If a set of instructio0ns fails to meet the
syntax of the language, it is considered incorrect, and should it be executed with the error, the
resulting error is called a syntax error (Gibson, 2014).
There are a number of programming languages currently, with each language having its
own syntax and design. Java, C, Python, R, C++ and C sharp are some of the most popular
programming languages. Each programming language is designed to solve a particular problem.
It could be in mobile industry, a web or internet problem or desktop problem. More robust
programming languages can deal with both or more of these problems. Programming languages
are designed to be effective in problem solving, flexible, robust and easy to maintain (Lee, Tan
& Wuwongse, 2016).
PyTh programming language
This programming language to be designed and developed should be as of a nature as to support
mobile and web based programs, as it was intended to solve a problem in the e-commerce
industry. The name of the language to be designed is called PyTh.
This programming language will help in development of both web based and mobile based
software’s. The following are the main features that will be included in the language (Pan, Chen
& Nguyễn, 2012) :
Document Page
i. Object Orientation: this programming language will be of object oriented
type. This will give it ease in extending it as programming languages based on object
oriented models allow for this extension ability (Thuraisingham, 2015).
ii. Platform independence – the PyTh programming language will, as
opposed to other programming languages will only be compiled to the platform for which
it is designed for.
iii. Simplicity – the PyTh Programming language will be designed for ease in
using and in learning. It will be very easy to master the language as long as it is properly
understood (Walters, 2014).
iv. Security – the language will be designed to incorporate security features
which will enable it to create software that cannot be tampered with by viruses. PyTh
programming language will be deployed on a two tier authentication model, employing
both symmetric and asymmetric encryptions.
v. Architecture Neutrality – PyTh Programming language will be producing
files in the format of architectural neutral which will enable the code to run in many
processors at the same time (Whiteley, n.d.).
vi. Portability – the language will be made as portable as possible since it will
not be tied to any architecture.
vii. Robustness – robustness can only be achieved when compilation, syntax
error check up and run –time error checkup are checked before the program is completed.
The programming language will eliminate run time errors which may erupt during run
time, during compiling and coding (Wong, 2013).
viii. Multi-threading – the programming language will have a multi-threading
feature that will allow for designing of programs that will be multi-tasking. The PyTh
programming language will be designed to allow for writing of programs that run
smoothly.
ix. Interpretation - PyTh programming language will interpret its byte code so
fast that the code will never have to be stored anywhere at all.
x. Distributed – the language will be designed and developed with the
intention of distributing I over the internet (Wong, 2013).
Document Page
Compilation Method
Compilation can be defined as the process through which the source code of a
programming language is translated into machine language that a computer can understand.
Different languages use different compilation methods. The two types of compilation methods
are the ‘just in time’ compilation and ‘Ahead of time’ compilation (Ancona, 2017).
Just In Time Compilation Method
The just in time compilation method will be given a higher priority in designing the PyTh
Programming language. The compilation process is called when a program or user invokes a
system to execute. This type of compilation is done during run time. Therefore, JIT normally
depicts a higher overhead during startups as opposed to the Ahead on Time method of
compilation (Ancona, 2015). During run time, the JIT is able to access data and any other
information about the program as well as variable values which helps in causing optimization for
example branch predictions.
JIT compilation method is able to record fast compilation speeds as opposed to static
compilation. This type of compilation is mostly employed by high level programming languages
(Brereton, 2010).
JIT compilation method is considered the best compilation method, and is therefore the
most popular. Therefore, JIT compilation method becomes the most appropriate method to be
used for the compilation of PyTh programming language. This will add to the efficiency of the
language, to make it serve well the purpose for which it is intended (Eid & Millham, 2012)..
Scoping Features and Memory Management
The memory management feature is a common feature for every programming language.
Memory is always considered a scarce in programming, therefore memory management is an
important consideration in the design of a programming language. These should be no leak of
memory at all, and memory management is tasked with ensuring that this is done. Allocation and
de-allocation of memory are critical processes which need to be done with a lot of precision so as
to ensure that there is no memory leak at all (Juts, 2017). As compared to other programming
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
languages, the PyTh language will employ a garbage collector object to manage and allocate
memory. Therefore, the programmer will nit have to create garbage collector instances or
instances for memory allocation. This will allow the programmer to focus on development of
programs ("What is Object-Oriented Programming? Webopedia Definition", n.d.).
For the PyTh programming language, allocation and de-allocation of memory will allow
for no leaks at all since all the memory will be managed by the program itself, and the
programmer will not have to interfere with the creating garbage collectors (Knudsen & Madsen,
2017).
The memory management features that will be incorporated in the design of the PyTh
programming language are:
i. Memory structure
ii. Garbage collection features
i. PyTh memory structure
The run time information area will be well defined and is to be employed when
programs are executing. The PyTh Collection machine will also create some areas.
However, some areas could also be created by threading, which will also be
effectively utilized by programs. Any memory that the collection machine will create
will be destroyed as the program exits (Kushin, 2016).
PyTh Heap
This includes the run time data that is shared, and can also be used to store objects in
their memories. For the PyTh programming language, the heap instance is created just as the
collection machine is started.
Allocation of this memory is done to all arrays and class instances. The heap can either
be dynamic or fixed depending on how the system is configured (Narbel, 2016).
Users will be able to determine the heap sizes based on the requirements, and this will be
made possible by the collection machine. Should a new key word be used, the heap memory will
Document Page
store the instantiated object. However, the same reference will be made in the Autossec
programming language stack.
PyTh Stacks
For PyTh programming language, the stack is created the same time the thread is created.
The major function of the PyTh stack is to store data and all the partial results that are needed
during the duration of returning values and while the dynamic linking process is going on.
The PyTh stack falls into two categories, dynamic or fixed in nature. This depends on the
size of the data that is expected to be received. The size of the stack can also be determined at the
creation of the stack. It is not necessary for the stack to be contagious.
PyTh Program Counter Register
Every thread in the PyTh programming language must have a program counter register
that should be associated with it.
i. How the PyTh garbage collection works
First, the collection machine triggers the garbage collection process, and this is the only
way that the process can be initiated. This garbage collection process makes the work of the
programmer easier since it uses allocation and de-allocation processes that are carried out
automatically. Garbage collection is costly in nature since it makes the threading process to come
to a stop or may lead to the process being paused ("What is object-oriented programming
(OOP)? - Definition ...", n.d.). Pausing the threading process while garbage collection is going on
is wholly unacceptable. This is the reason why the garbage collection feature will be
incorporated in the design of the PyTh programming language. There will be several garbage
collection algorithms that will be employed to eliminate the problem.
Having the knowledge on how the data and the program are able to be stored in PyTh
programming language is very much important since it enable the programmers when they have
intentions of making optimized code with respect to resources and its consumption. It also
further helps in getting the inconsistencies and leaks in the memory management as well as
debugging errors in the program.
Document Page
Specification and rationale for features of PyTh language
a. Simplicity
Program simplicity depends on how fast a programmer can understand and master a
programming language in order to employ it. A programming language is considered simple if
the programmer can understand it faster, and be able to use to develop robust programs.
Programming language simplicity involves usage of understandable and readable language. The
PyTh programming language will be easily understandable since it will make use of simple
language, and the rules will not be complex ("Object-oriented programming - Wikipedia", n.d.).
The semicolon (;) will be to terminate statements. The language will almost be like English,
hence will be easy to understand, as each statement shall start with a capital letter. Methods will
make use of simple rules also.
b. Orthogonality
When talking of the simplicity of a programming language, we also always have to talk
about orthography. A programming language is simpler as it is more Orthogonal. . in the context
of programming, Orthogonality is the ability of a programming language to allow for changes in
operation of one set of instructions without affecting other parts of the instruction code of the
program. Like Java, the PyTh programming language will be designed orthogonally in order to
reduce exceptions. This will be achieved by bringing in the concept of the Log feature in the
design of the language (Narbel, 2016). This feature will be responsible in storing all activities
that take place during system development of the PyTh programming language. All changes that
will be done will take place in the Log, and will not interfere with the rest of the parts of the
program. Additionally, the PyTh programming language will involve abstractions to improve its
Orthogonality.
c. Data types
Data types inform the interpreter or the compiler on the nature of the data that the
programmer is using, and how he/she is planning to employ them. The programing language will
make use of two categories of data types which are primitive and non-primitive data types. This
is because PyTh is designed as a high level programming language(Narbel, 2016).
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
The following are the categories of data types that will be used in the programming
language:
i. Boolean Data type – this will be used to store both true and false values.
ii. Char data type - will be used to store single letters.
iii. Float data type – will be used to store fractional numbers
iv. Long data type – will be used to store whole numbers
v. Int data type - will be used to store integers
vi. Double data type - will be used to store fractional data
vii. Short data type - will be used to store -32,768 to 32,767 numbers
viii. Byte data type - will be used to store -128 to 127
d. Syntax design
Syntax refers to guidelines in form of symbols that is used to determine the standard of
the structure of a language. For this programming language, the following syntax for
programming may take the following example:
class Syntax {
/* This is my first PyTh program.
* This will print 'Hello World' as the output
*/
void main class(string []args) {
Py.Scream “Hello World”; // prints Hello World
}
Document Page
From the above example, the syntax of the PyTh programming language can be seen and
explained out:
i. Case Sensitiveness. The PyTh programming language will be case sensitive. This
means that the name ‘Class’ and ‘class’ is understood differently in PyTh
ii. Class Names: For PyTh, the first letters of all class names should be in upper case
iii. Methods: all methods will have to start with the world void
iv. The file name of the program will have to be the same as the name of the class.
e. Support for abstraction
Basically, abstraction is the selection of data direct from the larger sea of data showing
only the most important details. This helps in the reduction of the effort of the programmer and
complexity of the program. The PyTh programming language will also employ the use of
abstraction in there program development. In this case the use of Auto Abstract classes will be
used. The use of abstract is the most important feature in the object oriented programming
languages (Narbel, 2016).
The use of abstract methods also will also enhance the support of the abstraction in PyTh
programming language. The usage of novel systems in like manner will moreover improve the
assistance of the appearance in PyThprogramming language. Information stowing away is
significant in online improvement of frameworks, framework which are created with a ton of
codes needs the language which can acknowledge information covering up. This will help in
appropriate plan of codes which can a be comprehended by another designer.
f. Expressivity
This is the ability of a programming language to be able to express the problem solution
in a clear, close, natural, concise, intuitive way, and in correlation to already solved problems.
PyTh programming language is more expressible as it will have a lot of external libraries which
will be installed to solve other problem. The language will allow open libraries from other
developers too in order to show the best problem solving capabilities (Narbel, 2016). For the
advancement of online frameworks for professional the internet shopping frameworks, the
language will have outside libraries which should be introduced to accomplish or call a specific
Document Page
technique, different designers will likewise have the capacity to create there claim libraries
which will be consolidated into the framework to make the critical thinking to be extremely
quick and all the more simple. The structures will likewise be fused into the language so as to
enable different engineers to create important systems which will be utilized for the
improvement of various kinds of online frameworks. Advancement of layouts will likewise be
permitted into the programming language so as to facilitate the rate at which frameworks are
created. This will make the language progressively expressible.
g. Type checking
This is another important feature in OOP. It is the ability of a programming language to
be able to detect error which the programmer is typing the syntax. PyTh programming language
will be the best type checking capability in such a way that once the programmer starts typing,
the language will be able to detect its syntax and correct appropriately. This will help to reduce
the number of errors (Narbel, 2016). This will decrease the amount of bungles. So as to tackle
the issue which are involvement in the advancement of the online stores and shopping
frameworks, the language type checking abilities will empower the designer to be in a situation
to have the capacity to check the mistakes and limitations which goes ahead the course of
improvement of the program.
h. Exception handling feature
This feature is used in handling errors which might occur at run time. The PyTh
programming language will have respective error handling code and capability which will enable
the programmer to catch the exceptions of errors which might occur in the process. This will
help in identifying the exact point where the error it hence make error correction very easy
(Narbel, 2016). With respect to the execution of the web based shopping sites which lies under
electronic business, the language will have best mistake taking care of strategies for the . The
utilization of special cases, for example, try{} catch(){} methods which are utilized in abnormal
state programming dialects like java will be utilized for the structure of this language to ensure
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
that the language moves toward becoming as simple as conceivable the designers and the clients
on the loose.
i. Restricted aliasing.
This is the restricting of the memory allocations to be accessed by the use of different
names. The same restriction function will be used for PyTh programming language since the use
of similar name in the same location might end up causing the program crush and reduces its
robustness ("Object-Oriented Programming (OOP) - Techopedia.com", n.d.).
Characteristics of the PyTh language
Readability
The readability of any programming language largely has more to do with the experience
of the programmer using the same language. For programmers who have already used other
programming languages, it will very easy to learn to use PyTh language. Blocks ({}) will be
used to indicate same set of instructions just like in other languages in order to make it more
readable so as to be used even with the beginners in the field. The conditions and loops like if,
while, etc are all self-understanding even in plain English language (Rajlich, 2012). The method of
declaring the variable and initializing data types will also be similar to other programming
languages. Therefore, the PyTh programming language will be more readable.
Writability
In order to learn PyTh language, time and experience is required. However, the steps for
creating programs are very easy and simple to memorize. Each and every block on the language
has a uniform format of which it can be natural to any person who has done programming. Data
encapsulation and shortening is like the capability of defining more than one data of the same
type like int b,t,s and the construction of the data abstractions writability ("Lesson: Object-Oriented
Programming Concepts (The Java ...", n.d.).
Document Page
Some of the shortcomings this programming language has include having its array
starting with zero and the fact that the statements are case sensitive though with type checking
feature.
Reliability
The reliability of the language is determined by how the language is able to handle errors
which were not seen by the compiler and the programmer too. The safety of the programs is
determine by the reliability of the programming language. PyTh programming language will be
more reliable since when release to the market for testing, it will be open for comments and error
checking s from the public. The reliability is therefore guaranteed language ("Introduction to
Object Oriented Programming Concepts (OOP ...", n.d.)..
References
Ancona, D. (2015). Preface to the special section on Object-Oriented Programming and Systems
(OOPS 2010). Science Of Computer Programming, 97, 281. doi: 10.1016/j.scico.2014.05.018
Ancona, D. (2017). Preface to the special section on Object-Oriented Programming and Systems
(OOPS 2015). Science Of Computer Programming, 140, 1. doi: 10.1016/j.scico.2017.03.004
Brereton, R. (2010). Object-oriented programming for personal computers. Chemometrics And
Intelligent Laboratory Systems, 19(1), 127. doi: 10.1016/0169-7439(93)80089-z
Eid, C., & Millham, R. (2012). Which Introductory Programming Approach Is Most Suitable For
Students: Procedural Or Visual Programming?. American Journal Of Business Education
(AJBE), 5(2), 173. doi: 10.19030/ajbe.v5i2.6819
Juts, H. (2017). White Box Testing with Object Oriented programming. International Journal Of
Recent Trends In Engineering And Research, 3(11), 156-160. doi:
10.23883/ijrter.2017.3505.xkmqq
Knudsen, J., & Madsen, O. (2017). Teaching Object-Oriented Programming is more than
teaching: Object-Oriented Programming Languages. DAIMI Report Series, 17(251). doi:
10.7146/dpb.v17i251.7607
Kushin, T. (2016). Object-Oriented Programming Languages: Tools for Effective
Communication on Application. International Journal Of Science And Research (IJSR), 5(8),
406-411. doi: 10.21275/2081602
chevron_up_icon
1 out of 14
circle_padding
hide_on_mobile
zoom_out_icon
[object Object]