Securing Higher Grades Costing Your Pocket? Book Your Assignment at The Lowest Price Now!

Language Design For Mobile Application

tag 0 Download10 Pages 2,443 Words tag Add in library Click this icon and make it bookmark in your library to refer it later. GOT IT

Question:

Write an Essay on Concept Language Design for Mobile Application.
 
 

Answer:

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).

 


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
  • 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).

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 :-

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 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.

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).

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).

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).

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)

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 forma

 

References

Amatya, S. &. (2014). Cross-platform mobile development: challenges and opportunities. In ICT Innovations , 219-229.

Danado, J. &. (2012). Puzzle: a visual-based environment for end user development in touch-based mobile phones. Human-centered software engineering , 199-216.

Design Criteria for Programming Languages. (2017). Retrieved August 28, 2017, from Jcsites.juniata.edu: https://jcsites.juniata.edu/faculty/rhodes/lt/plcriteria.htm

Fernández, M. (2014). Programming languages and operational semantics: a concise overview. Springer .

Gabriel, R. P. (2012, October). The structure of a programming language revolution. In Proceedings of the ACM international symposium on New ideas, new paradigms, and reflections on programming and software. ACM , 195-214.

Gries, D. (. (2012). Programming methodology: a collection of articles by members of IFIP WG2. 3. Springer Science & Business Media .

Hsu, A. S. (2013). Language Learning From Positive Evidence, Reconsidered: A Simplicity?Based Approach. Topics in cognitive science , 5 (1), 35-55.

Joorabchi, M. E. (2013, October). Real challenges in mobile app development. In Empirical Software Engineering and Measurement, 2013 ACM/IEEE International Symposium on. IEEE , 15-24.

Kästner, C. A. (2012). Type checking annotation-based product lines. ACM Transactions on Software Engineering and Methodology (TOSEM) , 21 (3), 14.

Marcotty, M. &. (2012). The world of programming languages. Springer Science & Business Media .

McWherter, J. &. (2012). Professional mobile application development. John Wiley & Sons .

Meyer, A. &. (2012). Data support in process model abstraction. Conceptual Modeling , 292-306.

Nelson, T. G. (2013, August). A balance of power: Expressive, analyzable controller programming. In Proceedings of the second ACM SIGCOMM workshop on Hot topics in software defined networking. ACM , 79-84.

Notes on Chapter 1 of Sebesta's "Programming Languages". (2017). Retrieved August 28, 2017, from Cs.scranton.edu: https://www.cs.scranton.edu/~mccloske/courses/cmps344/sebesta_chap1.html

Sawadpong, P. A. (2012, October). Exception handling defects: An empirical study. In High-Assurance Systems Engineering (HASE), 2012 IEEE 14th International Symposium on. IEEE , 90-97.

Stefik, A. &. (2013). An empirical investigation into programming language syntax. ACM Transactions on Computing Education (TOCE) , 13 (4), 19.

Strict Aliasing. (2017). Retrieved August 28, 2017, from Dbp-consulting.com: https://dbp-consulting.com/tutorials/StrictAliasing.html

Teufel, B. (2012). Organization of programming languages. Springer Science & Business Media .

Vaupel, S. T. (n.d.). Model-driven development of mobile applications allowing role-driven variants. In International Conference on Model Driven Engineering Languages and Systems , 1-17.

OR

Cite This Work

To export a reference to this article please select a referencing stye below:

My Assignment Help. (2018). Language Design For Mobile Application. Retrieved from https://myassignmenthelp.com/free-samples/language-design-for-mobile-application.

"Language Design For Mobile Application." My Assignment Help, 2018, https://myassignmenthelp.com/free-samples/language-design-for-mobile-application.

My Assignment Help (2018) Language Design For Mobile Application [Online]. Available from: https://myassignmenthelp.com/free-samples/language-design-for-mobile-application
[Accessed 15 December 2019].

My Assignment Help. 'Language Design For Mobile Application' (My Assignment Help, 2018) <https://myassignmenthelp.com/free-samples/language-design-for-mobile-application> accessed 15 December 2019.

My Assignment Help. Language Design For Mobile Application [Internet]. My Assignment Help. 2018 [cited 15 December 2019]. Available from: https://myassignmenthelp.com/free-samples/language-design-for-mobile-application.


With time, MyAssignmenthelp.com has become one of the best college essay writing services. Our all rounded services give students the confidence to overcome assignment related issues. Our services are fast enough to meet most urgent deadlines. We are capable of delivering fast essay writing services with the help of our specially designed provisions and writers' teams. Our urgent essay help services guarantee most rapid delivery of assignment solutions. Some of our most popular essay services are application essay help, exploratory essay help, literary review essay help and argumentative essay help.

Latest It Write Up Samples

2808ICT-IT Security And Risk Assessment

Download : 0 | Pages : 20
  • Course Code: 2808ICT
  • University: Griffith University
  • Country: Australia

Answer: Introduction  Remarkable University has been intending on implementing digitization in the field of result declaration system. The major concern of Remarkable University is to increase the efficiency of the result distribution among the students of Remarkable University. During the implementation of digitalized data base, the major concern for Remarkable University was the security related issues that are present in the course of...

Read More arrow

ISYS326-Major Issues That Are Faced Due To Data Security

Download : 0 | Pages : 5

Answer: Introduction  Data security is a way to protect the sensitive and confidential data stored over the digital network. Data security assures that no unauthorised user is allowed to access the data. In short it can be stated, that data security is used to protect the data from being breached. It is every important to undertake data security measures so that data is accessed only by valid user (Harfoushi, et. al, 2014). In this repor...

Read More arrow

INFS703-A Global Systems Development Plan For Fonterra

Download : 0 | Pages : 11

Answer: Part 1: Approaches for Global system development at Fonterra 1.1 Introduction The paper mainly focuses on the organization "Fonterra" which is one of the global dairy nutrition company (Verzuh, 2015). It is found that to expand its business and for reaching to more number of customers, the organization requires a global information system. It is identified that to develop the information system, the number of development approaches l...

Read More arrow

ICTICT511-Enterprise System Redesign Project Report

Download : 0 | Pages : 8

Answer: Introduction In order to fully prepare recommendations for EnglishForYou enterprise website redesign, we must effectively evaluate the strategic direction of the organization and find out the needs for introducing the new changes in the organization’s website. As a move to venture into this critical aspect of the organization’s business, this particular document seek to solve the dilemma that has consumed the EnglishForYou...

Read More arrow

HI5019 Strategic Information Systems 4

Download : 0 | Pages : 16

Answer: Introduction Westpac Banking Corporation is an Australia based bank and other financial services, provider. This organization is commonly known as Westpac Bank. Company headquarter is located at 275 Kent St, Sydney, New South Wales. Name of the bank Westpac is a Portmanteau of Western and Pacific. Bank is reported in the list of Australia’s “Big Four” Banks. As per 2018, the bank has around 4 million customers served...

Read More arrow
Next
watch

Save Time & improve Grades

Just share your requirements and get customized solutions on time.

question
We will use e-mail only for:

arrow Communication regarding your orders

arrow To send you invoices, and other billing info

arrow To provide you with information of offers and other benefits

1,164,011

Orders

4.9/5

Overall Rating

5,051

Experts

Our Amazing Features

delivery

On Time Delivery

Our writers make sure that all orders are submitted, prior to the deadline.

work

Plagiarism Free Work

Using reliable plagiarism detection software, Turnitin.com.We only provide customized 100 percent original papers.

time

24 X 7 Live Help

Feel free to contact our assignment writing services any time via phone, email or live chat.

subject

Services For All Subjects

Our writers can provide you professional writing assistance on any subject at any level.

price

Best Price Guarantee

Our best price guarantee ensures that the features we offer cannot be matched by any of the competitors.

Our Experts

Assignment writing guide
student rating student rating student rating student rating student rating 5/5

1265 Order Completed

97% Response Time

James Cook

Masters in Management

Wellington, New Zealand

Hire Me
Assignment writing guide
student rating student rating student rating student rating student rating 5/5

93 Order Completed

100% Response Time

Jackson Mitchell

MiM (Masters in Management) in Supply Chain Management

New Jersey, United States

Hire Me
Assignment writing guide
student rating student rating student rating student rating student rating 5/5

798 Order Completed

97% Response Time

Benjamin Blakeman

MSc in Medical Technology

London, United Kingdom

Hire Me
Assignment writing guide
student rating student rating student rating student rating student rating 4/5

248 Order Completed

100% Response Time

Lloyd Bernabe

MSc in Accounting

London, United Kingdom

Hire Me

FREE Tools

plagiarism

Plagiarism Checker

Get all your documents checked for plagiarism or duplicacy with us.

essay

Essay Typer

Get different kinds of essays typed in minutes with clicks.

edit

GPA Calculator

Calculate your semester grades and cumulative GPa with our GPA Calculator.

referencing

Chemical Equation Balancer

Balance any chemical equation in minutes just by entering the formula.

calculator

Word Counter & Page Calculator

Calculate the number of words and number of pages of all your academic documents.

Refer Just 5 Friends to Earn More than $2000

Check your estimated earning as per your ability

1

1

1

Your Approx Earning

Live Review

Our Mission Client Satisfaction

thank you again, it is a good work, everything is perfect. I am very happy. It is not the first time and I know that I can count on you.

flag

User Id: 265909 - 14 Dec 2019

Australia

student rating student rating student rating student rating student rating

Gave them a small amount of time and they pulled through for me. Wonderful.Gave them a small amount of time and they pulled through for me. Wonderful.

flag

User Id: 357602 - 14 Dec 2019

Australia

student rating student rating student rating student rating student rating

It was very good work and I got an 85% on it. Thank you very much for your help and fast response

flag

User Id: 348363 - 14 Dec 2019

Australia

student rating student rating student rating student rating student rating

Was very good work and I get a full mark on it. Thank you very much for your help

flag

User Id: 348363 - 14 Dec 2019

Australia

student rating student rating student rating student rating student rating
Have any Query?