Detailed Concept Language Design for Mobile Application Development
VerifiedAdded on 2020/02/24
|15
|2973
|742
Essay
AI Summary
This essay presents a comprehensive design for a concept programming language tailored for mobile application development. It meticulously examines key parameters crucial for effective language design, including simplicity, orthogonality, data types, syntax design, support for abstraction, expressivity, type checking, exception handling, and restricted aliasing. The discussion delves into the specifications of each parameter, emphasizing how they contribute to the readability, writability, and reliability of the language. The essay highlights the importance of these features in enabling efficient mobile app functionalities such as event-driven behavior, battery optimization, graphical user interface support, multimedia capabilities, and data exchange. Furthermore, it analyzes the impact of characteristics like readability, writability, and reliability on the overall programming language design. The essay provides examples and illustrations to clarify the significance of each parameter and how they interact to create a robust and user-friendly language for mobile app development. The essay also provides the importance of exception handling in the programming language. The paper also provides the advantages of orthogonal programming language and why it is important in the programming language.

Running head: CONCEPT LANGUAGE DESIGN FOR MOBILE APPLICATION
Concept Language Design for Mobile Application
Name of the Student:
Name of the University:
Author Note:
Concept Language Design for Mobile Application
Name of the Student:
Name of the University:
Author Note:
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser

1CONCEPT LANGUAGE DESIGN FOR MOBILE APPLICATION
Programming language is the basic building block of software development, be it for
computer, laptop, tab or mobile phone. Many types of programming language have been
created since the creation of Plankalkul in the 1940s. Each programming language has some
good features as well as drawbacks. No programming language exists that is equipped with
all the best features required to develop a program (Joorabchi, Mesbah & Kruchten, 2013).
Some languages support single platform development like in Windows, Android, MACOS,
iOS and such whereas there are others like Java, Python, Dot Net and such that can be used to
develop applications in multiple platform environment. A programming language needs to
maintain certain parameters that will help a program developer to successfully develop and
implement a program for any platform (Amatya & Kurti, 2014). These parameters are as
follows:
Simplicity
Orthogonality
Data Types
Syntax Design
Support for Abstraction
Expressivity
Type Checking
Exception Handling
Restricted Aliasing
The essay will provide detailed specifications for the features mentioned above that
will be incorporated within a concept programming language design that can be used for the
development of mobile application (McWherter & Gowell, 2012).
Programming language is the basic building block of software development, be it for
computer, laptop, tab or mobile phone. Many types of programming language have been
created since the creation of Plankalkul in the 1940s. Each programming language has some
good features as well as drawbacks. No programming language exists that is equipped with
all the best features required to develop a program (Joorabchi, Mesbah & Kruchten, 2013).
Some languages support single platform development like in Windows, Android, MACOS,
iOS and such whereas there are others like Java, Python, Dot Net and such that can be used to
develop applications in multiple platform environment. A programming language needs to
maintain certain parameters that will help a program developer to successfully develop and
implement a program for any platform (Amatya & Kurti, 2014). These parameters are as
follows:
Simplicity
Orthogonality
Data Types
Syntax Design
Support for Abstraction
Expressivity
Type Checking
Exception Handling
Restricted Aliasing
The essay will provide detailed specifications for the features mentioned above that
will be incorporated within a concept programming language design that can be used for the
development of mobile application (McWherter & Gowell, 2012).

2CONCEPT LANGUAGE DESIGN FOR MOBILE APPLICATION
A programming language used for the development of mobile applications is expected
to perform functionalities like –
Ability to work efficiently and in an event-driven manner
Efficient in reducing battery usage of mobile device
Supports graphical user interfaces comprehensively
Ability to construct actual problems using customised data types
Capable of using multimedia like watching videos, listening to music, playing
games and such
Provide the ability to send or receive data from other devices or from a server
(Danado & Paterno, 2012).
A good programming language should have the following attributes:
Unity, Clarity and Simplicity – framework is provided for the thinking as well
as expressing of algorithms
Orthogonality – has meaning for every combination of features
Originality for the Application – the framework of the program projects the
logical structure of the algorithm
Support for abstraction – the data of the program projects resolution of
problem
Verification of program with ease – verification of proper functionality of a
program is determined
Environment of Programming – language gets external support
Program portability – ease of moving the program from the device where it is
developed to other devices
A programming language used for the development of mobile applications is expected
to perform functionalities like –
Ability to work efficiently and in an event-driven manner
Efficient in reducing battery usage of mobile device
Supports graphical user interfaces comprehensively
Ability to construct actual problems using customised data types
Capable of using multimedia like watching videos, listening to music, playing
games and such
Provide the ability to send or receive data from other devices or from a server
(Danado & Paterno, 2012).
A good programming language should have the following attributes:
Unity, Clarity and Simplicity – framework is provided for the thinking as well
as expressing of algorithms
Orthogonality – has meaning for every combination of features
Originality for the Application – the framework of the program projects the
logical structure of the algorithm
Support for abstraction – the data of the program projects resolution of
problem
Verification of program with ease – verification of proper functionality of a
program is determined
Environment of Programming – language gets external support
Program portability – ease of moving the program from the device where it is
developed to other devices
⊘ This is a preview!⊘
Do you want full access?
Subscribe today to unlock all pages.

Trusted by 1+ million students worldwide

3CONCEPT LANGUAGE DESIGN FOR MOBILE APPLICATION
Cost of use – execution, translation, creation and maintenance of program
(Vaupel et al., 2014).
The parameters of a programming language mentioned above are affected by the
characteristics Readability, Writability and Reliability.
(Source: "Design Criteria for Programming Languages", 2017)
Writability – This characteristic provides expressivity in a language. The writability
of the language should be clear, brief, quick and accurate. This characteristic measures the
ease with which a language can be used to develop programs for a chosen problem domain
(Marcotty & Ledgard, 2012).
Readability – The characteristic of readability ensures that the algorithm or nature of
computation of the language is understood by its reader even if the reader is not a
programmer (Teufel, 2012).
Reliability – This characteristic determines that the program is reliable that is, it does
not show unexpected behaviour at any point of time (Fernandez, 2014).
Cost of use – execution, translation, creation and maintenance of program
(Vaupel et al., 2014).
The parameters of a programming language mentioned above are affected by the
characteristics Readability, Writability and Reliability.
(Source: "Design Criteria for Programming Languages", 2017)
Writability – This characteristic provides expressivity in a language. The writability
of the language should be clear, brief, quick and accurate. This characteristic measures the
ease with which a language can be used to develop programs for a chosen problem domain
(Marcotty & Ledgard, 2012).
Readability – The characteristic of readability ensures that the algorithm or nature of
computation of the language is understood by its reader even if the reader is not a
programmer (Teufel, 2012).
Reliability – This characteristic determines that the program is reliable that is, it does
not show unexpected behaviour at any point of time (Fernandez, 2014).
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser

4CONCEPT LANGUAGE DESIGN FOR MOBILE APPLICATION
The specifications of the parameters of the programming language are as discussed
below:
Simplicity :-
The simplicity of the programming language is dependent on the following aspects –
Quantity of basic features – the simplicity of the program will depend on the number
of basic features that is present in the program. The more basic features are there in the
program the more hard the readability of the program will become. This is because the reader
may have knowledge of a different subset of language than the programmer. Even very less
amount of the features can hamper the readability of the program as an apparent single
operation may require several instructions to encode ("Notes on Chapter 1 of Sebesta's
"Programming Languages"", 2017).
Multiplicity of features – The program and its features will offer several options to
perform the same operation (Hsu, Chater & Vitanyi, 2013). For example: looping constructs
(while, do while, for)
Operator overloading – wise use can help in the readability of the program but can
hamper readability if used without consideration. For example, by using plus (+) symbol as a
comparison operator, the overloading of operator is possible (Hsu, Chater & Vitanyi, 2013).
The concept programming language need to have these aspects in order to attain
simplicity.
Orthogonality :-
The specifications of the parameters of the programming language are as discussed
below:
Simplicity :-
The simplicity of the programming language is dependent on the following aspects –
Quantity of basic features – the simplicity of the program will depend on the number
of basic features that is present in the program. The more basic features are there in the
program the more hard the readability of the program will become. This is because the reader
may have knowledge of a different subset of language than the programmer. Even very less
amount of the features can hamper the readability of the program as an apparent single
operation may require several instructions to encode ("Notes on Chapter 1 of Sebesta's
"Programming Languages"", 2017).
Multiplicity of features – The program and its features will offer several options to
perform the same operation (Hsu, Chater & Vitanyi, 2013). For example: looping constructs
(while, do while, for)
Operator overloading – wise use can help in the readability of the program but can
hamper readability if used without consideration. For example, by using plus (+) symbol as a
comparison operator, the overloading of operator is possible (Hsu, Chater & Vitanyi, 2013).
The concept programming language need to have these aspects in order to attain
simplicity.
Orthogonality :-

5CONCEPT LANGUAGE DESIGN FOR MOBILE APPLICATION
In the language of programming, orthogonality signifies a set of features or constructs
that can be used independently in any combination with each other. Orthogonality of a
program is less if –
Certain combinations are prohibited as exceptions or a particular combination is not
meaningful in relation to the meanings of its component parts (Gabriel, 2012).
The concept programming language need to be orthogonal and for that to happen less
amount of combinations should be present in the program features that are prohibited as
exceptions. In addition, each combination should have relevance in relation to its component
parts (Gabriel, 2012).
An illustration of non-orthogonality in C language is provided to clarify the
importance of orthogonality in the proposed conceptual programming language:
A function can return a value of any type except an array type or a function
type.
An array is able to store values of any type, excluding void or a function type.
Parameters to functions are passed by value excluding arrays, which are
passed by reference.
In the expression a+b, the meaning of b is dependent on the possibility of a
being a pointer type or not (Gabriel, 2012).
It is evident from the example provided above that non-orthogonality is not a good
option for a programming language as it creates many issues. However, the presence of
extreme orthogonality in a programming language creates issues for the readers. It is seen
that if the quantity of special rules or exception to rules is reduced, the language becomes
easier to learn, describe and implement (Gabriel, 2012). However, a programming language
In the language of programming, orthogonality signifies a set of features or constructs
that can be used independently in any combination with each other. Orthogonality of a
program is less if –
Certain combinations are prohibited as exceptions or a particular combination is not
meaningful in relation to the meanings of its component parts (Gabriel, 2012).
The concept programming language need to be orthogonal and for that to happen less
amount of combinations should be present in the program features that are prohibited as
exceptions. In addition, each combination should have relevance in relation to its component
parts (Gabriel, 2012).
An illustration of non-orthogonality in C language is provided to clarify the
importance of orthogonality in the proposed conceptual programming language:
A function can return a value of any type except an array type or a function
type.
An array is able to store values of any type, excluding void or a function type.
Parameters to functions are passed by value excluding arrays, which are
passed by reference.
In the expression a+b, the meaning of b is dependent on the possibility of a
being a pointer type or not (Gabriel, 2012).
It is evident from the example provided above that non-orthogonality is not a good
option for a programming language as it creates many issues. However, the presence of
extreme orthogonality in a programming language creates issues for the readers. It is seen
that if the quantity of special rules or exception to rules is reduced, the language becomes
easier to learn, describe and implement (Gabriel, 2012). However, a programming language
⊘ This is a preview!⊘
Do you want full access?
Subscribe today to unlock all pages.

Trusted by 1+ million students worldwide

6CONCEPT LANGUAGE DESIGN FOR MOBILE APPLICATION
where the principle of orthogonality is applied strictly may have conceptual obscurity when a
certain rule is applied to a context that has unusual combination. Therefore, this proves that
the conceptual language should have flexible orthogonality principle to have efficient
readability for the readers (Gabriel, 2012).
Data Types :-
Readability of a language improves with the adequate facilitation for defining data
types and structures. For example, the FORTRAN language in its early stage lacked record
construct. Therefore, the fields of an object failed to encapsulate within a single structure
(Gries, 2012).
The language should have adequate intrinsic data types as well. For example, the
initial versions of C programming language had no Boolean type that forced a programmer to
use int to represent true/false where zero is considered false and everything else is taken as
true (Gries, 2012). Therefore, flag = 1 is used to set flag to true.
Syntax Design :-
A syntax design is generally a format that a programmer maintains while coding on a
programming language. Every programming language has a different set of syntax design
that is required to be maintained strictly for the code to be executed properly in that particular
language. To create a syntax design for the conceptual programming language, certain norms
are required to be maintained (Stefik & Siebert 2013).
Identifier forms – the Identifier forms should be less restrictive on length unlike
BASIC and FORTRAN 77. In COBOL, dashes were included to identifiers that were often
mistaken with the subtraction operator.
where the principle of orthogonality is applied strictly may have conceptual obscurity when a
certain rule is applied to a context that has unusual combination. Therefore, this proves that
the conceptual language should have flexible orthogonality principle to have efficient
readability for the readers (Gabriel, 2012).
Data Types :-
Readability of a language improves with the adequate facilitation for defining data
types and structures. For example, the FORTRAN language in its early stage lacked record
construct. Therefore, the fields of an object failed to encapsulate within a single structure
(Gries, 2012).
The language should have adequate intrinsic data types as well. For example, the
initial versions of C programming language had no Boolean type that forced a programmer to
use int to represent true/false where zero is considered false and everything else is taken as
true (Gries, 2012). Therefore, flag = 1 is used to set flag to true.
Syntax Design :-
A syntax design is generally a format that a programmer maintains while coding on a
programming language. Every programming language has a different set of syntax design
that is required to be maintained strictly for the code to be executed properly in that particular
language. To create a syntax design for the conceptual programming language, certain norms
are required to be maintained (Stefik & Siebert 2013).
Identifier forms – the Identifier forms should be less restrictive on length unlike
BASIC and FORTRAN 77. In COBOL, dashes were included to identifiers that were often
mistaken with the subtraction operator.
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser

7CONCEPT LANGUAGE DESIGN FOR MOBILE APPLICATION
Special Words – Some words carry special meaning within a program such as class,
while, end, if and such. The syntax design of a language decides whether these special words
are stored for serving special purpose within the language or can be used as names of
variables and subprograms as well (Stefik & Siebert 2013). The order of signalling the
beginning or end of a compound statement such as a loop affects the readability of the
programming language.
Form and meaning – The form ideally defines the semantics of a syntactic construct.
For this to happen it is necessary to choose the special words wisely. For example, it is better
to use ‘if’ instead of ‘glorp’. It is beneficial if the meaning of a syntactic form coincides with
all the contexts, rather than having different meanings in different contexts (Stefik & Siebert,
2013).
Support for Abstraction :-
The process allows a programmer to define and deploy complex operations in such a
way so that the details of implementation can be ignored. It is a vital aspect in the process of
modern language designing. Data Abstraction and Procedural Abstraction are the two
examples of the parameter (Meyer & Weske, 2012).
Expressivity :-
The expressivity of a programming language is improved due to the presence of
strong operators in the language that helps programmers to achieve the operation of the
program developed by them while writing fewer codes. APL is a typical example of
expressivity, which is inclusive of many strong operators that are dependent on a large
character set (Nelson, Guha, Dougherty, Fisler & Krishnamurthi, 2013).
Special Words – Some words carry special meaning within a program such as class,
while, end, if and such. The syntax design of a language decides whether these special words
are stored for serving special purpose within the language or can be used as names of
variables and subprograms as well (Stefik & Siebert 2013). The order of signalling the
beginning or end of a compound statement such as a loop affects the readability of the
programming language.
Form and meaning – The form ideally defines the semantics of a syntactic construct.
For this to happen it is necessary to choose the special words wisely. For example, it is better
to use ‘if’ instead of ‘glorp’. It is beneficial if the meaning of a syntactic form coincides with
all the contexts, rather than having different meanings in different contexts (Stefik & Siebert,
2013).
Support for Abstraction :-
The process allows a programmer to define and deploy complex operations in such a
way so that the details of implementation can be ignored. It is a vital aspect in the process of
modern language designing. Data Abstraction and Procedural Abstraction are the two
examples of the parameter (Meyer & Weske, 2012).
Expressivity :-
The expressivity of a programming language is improved due to the presence of
strong operators in the language that helps programmers to achieve the operation of the
program developed by them while writing fewer codes. APL is a typical example of
expressivity, which is inclusive of many strong operators that are dependent on a large
character set (Nelson, Guha, Dougherty, Fisler & Krishnamurthi, 2013).

8CONCEPT LANGUAGE DESIGN FOR MOBILE APPLICATION
It is generally seen that assembly or machine languages do not possess expressivity
where each operation does something relatively simple. This is the reason why a single
instruction in a high-level language can be translated into many instructions in an assembly
language. Those languages that are functional languages are considered to be extremely
expressive as the functions are ‘first-class’ entities (Nelson et al., 2013).
Type Checking :-
A programming language should have type checking, which means that it should have
the capability to test for typing errors during the time of compilation and execution. The type
checking process is better to be implemented at the time of compilation rather than during
execution of a program. This is because, the process of type checking at the time of a
program execution requires high runtime and it is less complex and less expensive to detect
and repair such errors at the earlier phase of the program (Kastner, Apel, Thum & Saake,
2012).
An example can be cited in evidence of the theory mentioned above. In Java, the rule
of type checking during compilation is very strict due to which the only type errors that occur
during running time is caused due to explicit type casting by the programmer or from a wrong
input (Kastner et al., 2012).
Exception Handling:-
It is the process of response that is provided at the time of occurrence of unusual or
exceptional conditions that requires special processing. The process of exception handling
often results in changing of the normal procedure of program execution. It is a powerful
mechanism of handling the runtime errors to maintain the normal execution of an application
(Sawadpong, Allen & Williams, 2012).
It is generally seen that assembly or machine languages do not possess expressivity
where each operation does something relatively simple. This is the reason why a single
instruction in a high-level language can be translated into many instructions in an assembly
language. Those languages that are functional languages are considered to be extremely
expressive as the functions are ‘first-class’ entities (Nelson et al., 2013).
Type Checking :-
A programming language should have type checking, which means that it should have
the capability to test for typing errors during the time of compilation and execution. The type
checking process is better to be implemented at the time of compilation rather than during
execution of a program. This is because, the process of type checking at the time of a
program execution requires high runtime and it is less complex and less expensive to detect
and repair such errors at the earlier phase of the program (Kastner, Apel, Thum & Saake,
2012).
An example can be cited in evidence of the theory mentioned above. In Java, the rule
of type checking during compilation is very strict due to which the only type errors that occur
during running time is caused due to explicit type casting by the programmer or from a wrong
input (Kastner et al., 2012).
Exception Handling:-
It is the process of response that is provided at the time of occurrence of unusual or
exceptional conditions that requires special processing. The process of exception handling
often results in changing of the normal procedure of program execution. It is a powerful
mechanism of handling the runtime errors to maintain the normal execution of an application
(Sawadpong, Allen & Williams, 2012).
⊘ This is a preview!⊘
Do you want full access?
Subscribe today to unlock all pages.

Trusted by 1+ million students worldwide

9CONCEPT LANGUAGE DESIGN FOR MOBILE APPLICATION
For example, suppose a programmer attempts to execute a program developed on a
certain programming language that has ten statements. An exception occurrs in statement 4.
In normal situation the rest of the statements from statement 1 to statement 3 and from
statement 5 to statement 10 will also fail to execute. However, using exception handling will
ensure that the rest of the statements are executed barring statement 4 (Sawadpong, Allen &
Williams, 2012). This enables normality in the flow of the application. Therefore, exception
handling is an important parameter that is required to be implemented in the conceptual
programming language that will ensure a steady flow in the execution of a mobile application
even if any exception occurs during runtime (Sawadpong, Allen & Williams, 2012).
For example, suppose a programmer attempts to execute a program developed on a
certain programming language that has ten statements. An exception occurrs in statement 4.
In normal situation the rest of the statements from statement 1 to statement 3 and from
statement 5 to statement 10 will also fail to execute. However, using exception handling will
ensure that the rest of the statements are executed barring statement 4 (Sawadpong, Allen &
Williams, 2012). This enables normality in the flow of the application. Therefore, exception
handling is an important parameter that is required to be implemented in the conceptual
programming language that will ensure a steady flow in the execution of a mobile application
even if any exception occurs during runtime (Sawadpong, Allen & Williams, 2012).
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser

10CONCEPT LANGUAGE DESIGN FOR MOBILE APPLICATION
The following figure shows a flowchart on the exception handling in a programming
language –
Figure 1: Method of Exception Handling
(Source: Sawadpong, Allen & Williams, 2012)
The following figure shows a flowchart on the exception handling in a programming
language –
Figure 1: Method of Exception Handling
(Source: Sawadpong, Allen & Williams, 2012)

11CONCEPT LANGUAGE DESIGN FOR MOBILE APPLICATION
Restricted Aliasing :-
Aliasing is a process that refers to two or more distinctly different names that address
the same memory cell at the same instance. This process creates many issues at the time of
compilation. Restricted Aliasing is a rule that is formulated to resolve this issue. The role of a
restricted aliasing is to confirm the compiler that a pointer to something is not aliased to the
restrict qualifier keyword. In certain situations a compiler expects that an alias will occur in
which instance the restricted aliasing protocol confirms the compiler about the above-
mentioned situation ("Strict Aliasing", 2017).
For example, in the statement provided below confirmation is given to the compiler
that i1 and i2 will never point at the same memory location ("Strict Aliasing", 2017).
void foo(int * restrict i1, int * restrict i2);
The essay concludes with the fact that to design a conceptual programming language
that can be used in the problem domain of mobile application development, it is necessary to
implement the characteristics mentioned above wisely in the right format.
Restricted Aliasing :-
Aliasing is a process that refers to two or more distinctly different names that address
the same memory cell at the same instance. This process creates many issues at the time of
compilation. Restricted Aliasing is a rule that is formulated to resolve this issue. The role of a
restricted aliasing is to confirm the compiler that a pointer to something is not aliased to the
restrict qualifier keyword. In certain situations a compiler expects that an alias will occur in
which instance the restricted aliasing protocol confirms the compiler about the above-
mentioned situation ("Strict Aliasing", 2017).
For example, in the statement provided below confirmation is given to the compiler
that i1 and i2 will never point at the same memory location ("Strict Aliasing", 2017).
void foo(int * restrict i1, int * restrict i2);
The essay concludes with the fact that to design a conceptual programming language
that can be used in the problem domain of mobile application development, it is necessary to
implement the characteristics mentioned above wisely in the right format.
⊘ This is a preview!⊘
Do you want full access?
Subscribe today to unlock all pages.

Trusted by 1+ million students worldwide
1 out of 15
Related Documents

Your All-in-One AI-Powered Toolkit for Academic Success.
+13062052269
info@desklib.com
Available 24*7 on WhatsApp / Email
Unlock your academic potential
Copyright © 2020–2025 A2Z Services. All Rights Reserved. Developed and managed by ZUCOL.