A Critical Evaluation on Programming Paradigms to Achieve Optimal Resource Utilization of Mobile Softwares in Mobile Devices

2014 ◽  
Vol 5 (1) ◽  
pp. 50-59
Author(s):  
Selvakumar Samuel ◽  
Arangasamy Kovalan

This paper evaluates the features of mainstream programming paradigms. Imperative, object oriented programming and functional programming concepts are considered here. This is an effort to identify the programming paradigms which consume less resource from mobile devices. Designers usually depend on the programming languages, language oriented programming design is in current practice. Choosing appropriate programming paradigms during the mobile application design is not in practice now; Failure to use the best approaches for mobile computing from programming paradigms will cause mobile applications to consume more mobile resources. Imperative paradigm concepts such as inheritance, creating redundant objects, unnecessary constructors, recursion, strings concatenation, thread synchronization, using global variables and abstract methods results in redundancy, memory leaks, stack overflow, low execution speed and consumes more memory. These features are relatively not suitable for mobile software development. Functional paradigm concepts such as higher order functions, tail recursion, lazy evaluation, referential transparency, parametric polymorphism, and list comprehension principles are suitable for mobile software development as they consume less memory and or use less processing power. Using appropriate paradigms will optimize the resource utilisation of mobile applications in mobile devices.

Author(s):  
Ricardo Timarán Pereira ◽  
Javier Jiménez Toledo ◽  
Anivar Chaves Torres

Resumen Para el desarrollo de software se cuenta con varios paradigmas de programación, cada uno provisto de sus metodologías, técnicas y herramientas y orientado a un determinado campo o a un conjunto de problemas, y por ende, ninguno es suficiente por sí mismo para solucionar todos los problemas que se puedan suscitar. En este artículo se presentan los resultados del proyecto de investigación que tiene como objetivo la apropiación y aplicación del modelo de programación multiparadigma con el entorno Mozart-Oz para el desarrollo de software en el programa Ingeniería de Sistemas de la Universidad de Nariño. Esta investigación se realizó en tres fases en las que se estudian y evalúan la programación estructurada y orientada a objetos, la programación funcional y la programación por restricciones, con el fin de desarrollar en los estudiantes las competencias específicas en la solución de problemas utilizando estos modelos y entorno. Palabras ClaveProgramación Multiparadigma, Entorno de Desarrollo Mozart-Oz, Aprendizaje de Lenguajes de Programación.  Abstract For software development has several programming paradigms, each equipped with their methodologies, techniques and tools aimed at a particular field or set of problems, and therefore, none is sufficient by itself to solve all problems that can inspire. This paper presents the results of the research project that aims at the appropriation and application of multiparadigm programming model with the Mozart-Oz environment for software development in the Systems Engineer program at the Universidad of Nariño. This research was conducted in three phases in which structured and object-oriented programming, functional programming and constraints programming was studied and evaluated, in order to develop in students the specific skills to solve problems using these models and environment.KeywordsMultiparadigm Programming, the Mozart-Oz Development Environment, Learning Programming Languages 


Information ◽  
2020 ◽  
Vol 11 (4) ◽  
pp. 220 ◽  
Author(s):  
Witold Chmielarz

The main objective of this article was to identify the conditions for the use of smartphones and mobile applications in Poland in the second half of 2018. The scope of the present analysis was limited to a selected sample of more than 470 respondents, and it examined the group of the most active users of smartphones and mobile applications. The author adopted the CAWI (computer associated web interview) method, which was previously verified by a randomly selected pilot sample, in his study. The obtained results were compared with the findings of other studies. They indicated that users of smartphones and mobile applications in Poland do not differ in their assessments from users in Europe and around the world. In this context, the key implication for researchers is the identified level of development of the use of smartphones and mobile applications in Poland at the end of 2018. The main limitation of the research was the selection of the research sample, which consisted only of members of the academic community. The scope of this article aimed to fill a gap in terms of the quantitative and qualitative methods that are applied to examine the use of mobile devices and mobile software. At the same time, this study creates the foundations for further research on intercultural differences. It is important to note that the present research sample needs to be extended beyond the academic community for the research results to be fully generalized.


Author(s):  
Sergey Yu. Smogluk ◽  
Eugeniy N. Garin ◽  
Daria S. Romanova

The article presents a programming paradigm that defines a new style of program development called procedural-parametric programming (PPP). The paradigm is based on parametric polymorphism, which allows the procedures to accept and process variant data types without the algorithmic choice of alternatives within these procedures. In procedural programming languages, such types are described by unions (union in C, C++) or variant entries (in Pascal). Algorithmic processing of variants is carried out by means of conditional operators or switches. This approach is a development of procedural programming methods and acts as an alternative to object-oriented programming. The procedural-parametric paradigm of programming is an extension of the procedural approach. It makes possible to increase the capabilities of the latter by supporting data polymorphism. The application of the proposed approach will allow to increase the functional capabilities of the procedures without making any internal algorithmic changes. Procedural-parametric programming can be used both independently and in combination with other programming paradigms


Author(s):  
Jan Bartoníček

Abstract This paper's goal is to briefly explain the basic theory behind programming languages and their history while taking a close look at different programming paradigms that are used today as well as describing their differences, benefits, and drawbacks


Author(s):  
Prof. Shilpa Shitole ◽  
Rohit Maurya ◽  
Tanaya Pawar ◽  
Siya Randhe

Industries evolve. Our thinking changes as well. Programming languages need evolvement too. “The thing is that ideas for new features with its ways of thinking will be flourished, and so perfectly designed those languages won’t be perfect anymore.” Where did logical programming go? “Notice that you can use this paradigm and just provide a set of constraints for a website and expect the website to develop automatically based on them.” It is possible to implement that. Likewise, new paradigms will sooner or later be born. It can’t be that we’ve explored everything. “Technologies are born likewise the old way of thinking, which represents by the previous programming languages might not be adequate. This project is an open-source modern object-oriented programming language that aims to bridge the gap between modern expressive programming paradigms like python and strictly typed rigid languages like Java and C#. Our goal is to provide the usefulness of an object-oriented programming language while holding the simplicity of an expressive programming language without having to sacrifice performance.


2016 ◽  
Vol 12 (30) ◽  
pp. 40
Author(s):  
Rais Aziz Ahmad

Software requirements are one of the root causes of failure for IT software development projects. Reasons for this may be that the requirements are high-level, many might simply be wishes, or frequently changed, or they might be unclear, missing, for example, goals, objectives, strategies, and so on. Another major reason for projects’ failure may also be the use of improper techniques for software requirements specification. Currently, most IT software development projects utilise textual techniques like use cases, user stories, scenarios, and features for software requirements elicitation, analysis and specification. While IT software development processes can construct software in different programming languages, the primary focus here will be those IT projects using object-oriented programming languages. Object-oriented programming itself has several characteristics worth noting, such as its popularity, reusability, modularity, concurrency, abstraction and encapsulation. Object-oriented analysis and design transforms software requirements gathered with textual techniques into object-oriented programming. This transformation can cause complexity in identifying objects, classes and interfaces, which, in turn, complicates the object-oriented analysis and design. Because requirements can change over the course of a project and, likewise, software design can evolve during software construction, the traceability of software requirements with objects and components can become difficult. Apart from leading to project complexity, such a process can impact software quality and, in the worst-case scenario, cause the project to fail entirely. The goal of this article is to provide interface-driven techniques that will reduce ambiguity among software requirements, improve traceability and simplify software requirements modelling.


Object Oriented Software Engineering(OOSE) is popular and widely used in developing the real time complex projects and products due to innovations in the Software Engineering and the Development of Software Industry. Object Oriented Programming(OOP) is one of the key elements of Object Oriented Software Engineering(OOSE) besides Object Oriented Analysis(OOA) and Object Oriented Design(OOD).Object Oriented Programming(OOP) is one of the Programming Paradigms for the past few decades. The OOP Paradigm Has oven taken the Procedure Oriented Paradigm or POP, where real time complex projects an products can be developed by using OOP in an easy and reliable way. The main difference between the Object Oriented Programming(OOP) and Procedure Oriented Programming(POP) is “Data controlling access to Code” in OOP where as “Code acting on Data” in POP. In this Paper I am going to discuss about the Principles of Object Oriented Programming(OOP) , its concepts and some of the Popular and widely used Object Oriented Programming Languages. I also discussed the difference between Object Oriented Programming and Procedure Oriented Programming. Merits and Issues of Object Object Oriented Programming


2018 ◽  
Vol 4 (2) ◽  
Author(s):  
Eugenio Scalise ◽  
Nancy Zambrano

In this paper it is presented a software development model based on transformations that allows to derive, in an automatic way, classes in object-oriented programming languages (Ada 95, C++, Eiffel and Java) starting from formal specifications. The set of transformations that conforms the software development model are a systematic steps, which starts from the algebraic specification of a type. This algebraic specification describes the abstract behavior of a type (type of interest) by means of other type, previously specified and implemented (representation type). In a progressive way, the transformations steps allow get a program (class) nearby to the initial specification (type of interest). These transformations obtain -in the first step- an intermediate specification (class specification) that it describes the operations of the type of interest by means of pre and post-conditions. Then, the intermediate specification is used to obtain imperative code in language-independent notation (pseudo-class); and finally the pseudo-class is transformed to any object- oriented programming language for which it has been defined transformations.


Author(s):  
Pavel Petrov ◽  
Svetoslav Ivanov ◽  
Petar Dimitrov ◽  
Georgi Dimitrov ◽  
Oleksii Bychkov

The management of the technology start-up company for development of software for mobile devices includes various activities such as creation of specification, development, implementation, sale, and maintenance of software for mobile devices, as well as services for it. Usually the main activity is the production and maintenance of software for mobile devices, but there may be different options and sub-options in the business model of the technology start-up, which are divided into two main categories - products and services. In recent years, there has been a trend to move into a business with service providers. The objective of our study is to outline some specifics about the operation of technology start-up companies for mobile software development in areas such as the management of human and financial resources, choosing the suitable methodology for software development and business model to follow.


2021 ◽  
Author(s):  
Conor Muldoon ◽  
Levent Görgü ◽  
John J. O’Sullivan ◽  
Wim G. Meijer ◽  
Gregory M. P. O’Hare

<pre>The paper discusses practices and patterns for the development of maintainable and testable software using the React and Spring Boot frameworks. There have been many textbooks written on both React and Spring Boot, but little in the way of comprehensive research studies and critical analyses in the literature. The paper draws from a well-known software development guideline for encapsulation and modularity, namely the `Law of Demeter’, but differs from it in a number of ways. It extends the application of the principle of least knowledge to non-pure object-oriented programming languages, first-class JavaScript functions, and the properties of React components. Additionally, it introduces component closure factories, which address the prop drilling problem in React. Component closure factories differ from other solutions to this problem that make state global and make it more difficult to reuse components. Providing guidelines in relation to the development of testable React and Spring Boot applications is important in that these technologies are widely used in industry. In addition to the principle of least knowledge and component closure factories, the paper discusses a number of supplementary practices and provides a case study. </pre><div><br></div>


Sign in / Sign up

Export Citation Format

Share Document