scholarly journals Programación multiparadigma como estrategia de aprendizaje de los lenguajes de programación en ingeniería de sistemas [Multiparadigm programming as a strategy for learning programming languages in Systems Engineering]

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 

2021 ◽  
Vol 297 (3) ◽  
pp. 34-38
Author(s):  
ANDRIY KOVAL ◽  
OKSANA YASHYNA ◽  
GALINA RADELCHUK ◽  
YURII FORKUN ◽  

This article describes two types of paradigms – object-oriented and functional paradigms. Paradigm stands for a style and an approach to perform any kind of coding activities. Relevance of usage for each of them as well as their differences and benefits were analyzed. Regardless of ever-changing tendencies in popularity of both paradigms it is impossible to acknowledge any of them to deprecate another one. Although object-oriented programming as well as functional programming are essential in their approaches they have the same goal – to make comprehensive programs without possible mistakes. OOP follows imperative programming model which is based on a set of primitives the given language provides. Functional paradigm is intertwined with declarative style which imply what is to be done, but not how to do it. We may come to conclusion that the consensus is that object oriented paradigm and functional paradigm can be effective in a peculiar situation. Therefore, developers are to choose and pick the programming paradigm for a given task to make a process as simple and productive as it can be. Object-oriented programming languages are a good choice when you have a fixed set of operations on things and you add new things for your code to evolve. You can achieve it by adding new classes that implement existing methods while existing classes remain the same. Functional languages may be a better choice if you have a fixed set of things and you add new operations on existing things for your code to evolve. You can achieve it by adding new functions which are to be computed with existing data types while existing functions remain the same. Object-oriented programming as well as functional programming has its place in modern approaches to software development. Meanwhile the functional programming is being reconsidered and used much more often due to Big Data Technologies while object-oriented programming remains popular to perform representation of real-life objects in the code.


Author(s):  
Omar Iván Trejos Buriticá

Este artículo aborda una propuesta metodológica para que la comprensión general de los paradigmas de programación funcional, imperativa y orientada a objetos se simplifique de forma que los estudiantes de informática tengan un fundamento sólido a partir del cual puedan comprender sus diferencias y aplicaciones. La propuesta se basa en la cristalización de tres modelos teóricos asociados al modelo computacional que privilegia dentro del contexto de sus propias características, y se enmarca dentro de una investigación educativa de carácter cualitativo, articulada con la teoría que subyace a cada paradigma, la cual se ha socializado con estudiantes de Ingeniería de Sistemas, y se han recogido algunas opiniones al respecto de su facilidad para comprender los tres paradigmas. A partir de la utilización de este modelo se han evidenciado, vía resolución de problemas teóricos, una aplicación directa y sencilla del concepto de paradigma así como una mejor utilización de las herramientas que giran en torno a ellos. La comprensión de las diferencias, coincidencias y aplicaciones de los paradigmas ha generado elementos de alta motivación y aprendizaje autónomo en los estudiantes.Palabras clave: Aprendizaje significativo, paradigma de programación, programación de computadores, programación imperativa, programación funcional, programación orientada a objetos.This article presents a methodological proposal to understand the basics of three computer programming paradigms (functional, imperative and object-oriented) to bring to informatics students a solid foundation to use their differences and their applications. We use three theorical models linked with de computational model associated to each paradigm and its characteristics. The methodology is allocated inside an educative and qualitative research accordingly the theory of each computer programming paradigm. The results of this methodology have been socialized with Systems Engineering students in the firsts and last semesters and we collected some opinions about it. From the use of this model and the use of problem based learning we evidence that the paradigm concept and its application is more direct and simple and, due this, the use of the tools around the concepts. Another effect of this methodology is a higher motivation and an autonomous learning in the students.Keywords: Computer programming, imperative programming, functional programming, meaningful learning, object-oriented programming, programming paradigm


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


2015 ◽  
Vol 6 (2) ◽  
pp. 6
Author(s):  
Cristian González García ◽  
Jordán Pascual Espada B. ◽  
Cristina Pelayo G-Bustelo ◽  
Juan Manuel Cueva Lovelle

Hace unos meses Apple presentó un nuevo lenguaje de programación para sus plataformas: Swift. Con Swift, Apple pretende atraer a los programadores de los lenguajes de programación basados en la sintaxis de C++ y darles una mayor abstracción, que con Objective-C, para que sea más fácil programar para las plataformas de Apple. Por estas razones, se hace necesario contrastar lo pretendido por Apple y realizar un estudio del lenguaje de programación a fin de contrastar su objetivo. Para ello, se hicieron dos evaluaciones, una cualitativa y otra cuantitativa, con el propósito de verificar en qué medida Swift es un avance respecto a Objective-C.DThe Future of Apple: Swift Versus Objective-CABSTRACTFew months ago, Apple presented a new programming language: Swift. With Swift, Apple pretends to attract the programmers of the programming languages based on C++ syntax and gives them a higher abstraction than with Objective-C for being easier to programme to Apple’s platforms. For these reasons, it is necessary to contrast what is intended by Apple and do a study of the programming language to ascertain their goal. For this purpose, we did two evaluations, firstly a qualitative evaluation and after, a quantitative evaluation to verify in how much Swift is an advance with respect to Objective-C.Keywords: computer languages, computer programming, functional programming, object oriented programming, programming, software.


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.


2021 ◽  
Author(s):  
Eduard Dadyan

The task of volume 2 of the textbook is to describe in detail, in an accessible way, and with practical examples, all the features of the C# language, one of the most promising modern object-oriented programming languages. The course assumes a good command of the material set out in volume 1 of the textbook, and is designed to learn additional features of the C#language. The work with strings, dates and times, threads and the file system, ISON and XML (using practical examples), etc. is considered in detail. The Visual Studio. NET environment is considered as the development environment. All sample programs are given in C#. Meets the requirements of the federal state educational standards of higher education of the latest generation. It is intended for students studying in the direction of training 09.03.03 "Applied Informatics", undergraduate and graduate students of all areas of training and specialties, as well as graduate students and students of the IPK.


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


2019 ◽  
Author(s):  
Budiman

During this period continued to develop computer software, programming language was no exception. At the start of the era of low level programming languages, then developed a high level programming language. It is characterized by the appearance of a method of programming offered by a programming language, that is, object-oriented programming (OOP). IDE (Integrated Development Environment) is a computer program that has some facilities that are required in the development of the software. The purpose of the IDEA is to provide all the necessary utilities in building software. As for the type of software text editor that can be used to manipulate the source code hereinafter referred to as the source code of programming languages such as Ultraedit, JediEdit, ClearEdit, cEdit, the Golden Pen, and so on. PuniEdit software is a text-based editor software that can simplify the user through correction, insertion, and modification of the source code. PuniEdit software is built using Borland Delphi 7.0 and SynEdit component. This software can be used for the Pascal programming language, C++ and HTML. In addition, the software PuniEdit can perform management of the token. This PuniEdit software, the user can clearly see every occurrence of the type of token as keywords (reserved word), identifier, operator, and so on.Keywords: Source code, programming language, source code is scanned.


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.


Sign in / Sign up

Export Citation Format

Share Document