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:
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 –
A good programming language should have the following attributes:
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:
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.
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:
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).
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.
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).
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).
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).
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).
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)
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
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.
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 18 January 2021].
My Assignment Help. 'Language Design For Mobile Application' (My Assignment Help, 2018) <https://myassignmenthelp.com/free-samples/language-design-for-mobile-application> accessed 18 January 2021.
My Assignment Help. Language Design For Mobile Application [Internet]. My Assignment Help. 2018 [cited 18 January 2021]. 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.
Answer: The role of ethics in technology field has become substantially important as it becomes easier to use technology since it adversely affects people’s lives. Technological advancements are making people’s lives easier; however, these advancements have adversely affected the privacy of individuals (Raymond & Shackelford, 2013). Devices such as smartphone, smart watches, smart homes, and others collect the private data of p...
Read MoreAnswer: Introduction The foremost purpose of this reflective report is to focus on the importance of cloud computing and the privacy issues related to it. Cloud computing is defined as the type of computational standard used in different types of business enterprises, it is extensively used for storing significant data related to the business in a secure environment (Rittinghouse and Ransome 2016). According to me using the cloud services, cl...
Read MoreAnswer: a. Different Types of Biometric System The biometric access control system is the recognition system for humans with the help of their physical uniqueness and characteristics. The access control system is based on the substantiation (Galbally, Marcel & Fierrez, 2014). The unique biometric data is stored in the database of the organization or the secured zone, and this stored data is used to match the input to the biometric system....
Read MoreAnswer: Big data is a general phrase that is used to various kinds of facts that exist in the present world of the business. Big data may be defined as a set of data that are difficult and multifaceted that conventional data processing application software are insufficient to deal with them. On the other hand, IOT is the system of physical devices, vehicles, home appliances, and other item entrenched with software, sensors, electronics, actuat...
Read MoreAnswer: Introduction: Object Relational Mapping (ORM) can be defined as a technique in computer programming system that is implemented for connecting or mapping objects to the relational database. It resolves the data type mismatch issue between the Object Oriented Programmings (OOPs) and the relational database. It performs as a medium for the data conversion between object oriented programming languages and relational database (Correa, Wang...
Read MoreJust share requirement and get customized Solution.
Orders
Overall Rating
Experts
Our writers make sure that all orders are submitted, prior to the deadline.
Using reliable plagiarism detection software, Turnitin.com.We only provide customized 100 percent original papers.
Feel free to contact our assignment writing services any time via phone, email or live chat. If you are unable to calculate word count online, ask our customer executives.
Our writers can provide you professional writing assistance on any subject at any level.
Our best price guarantee ensures that the features we offer cannot be matched by any of the competitors.
Get all your documents checked for plagiarism or duplicacy with us.
Get different kinds of essays typed in minutes with clicks.
Calculate your semester grades and cumulative GPa with our GPA Calculator.
Balance any chemical equation in minutes just by entering the formula.
Calculate the number of words and number of pages of all your academic documents.
Our Mission Client Satisfaction
Really nice work and helpful, looking forward for more work in future thanks team
Australia
I am very pleased with the assignment and how fast it was able to be done. I received great remarks for this assignment. I received an A for the assignment.
Australia
It is not graded yet but his time management was good and he kept all our plan. It is not graded yet but his time management was good and he kept all our plan.
Australia
Excellent job, it turned out to be just what I needed. I will definitely recommend!
Australia