scholarly journals COMPARISON OF OBJECT-ORIENTED AND FUNCTIONAL PROGRAMMING PARADIGMS IN SOFTWARE DESIGN

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


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.


2015 ◽  
Vol 131 ◽  
pp. 333-342 ◽  
Author(s):  
Victor Berdonosov ◽  
Alena Zhivotova ◽  
Tatiana Sycheva

1999 ◽  
Vol 9 (3) ◽  
pp. 253-286 ◽  
Author(s):  
G. DELZANNO ◽  
D. GALMICHE ◽  
M. MARTELLI

This paper focuses on the use of linear logic as a specification language for the operational semantics of advanced concepts of programming such as concurrency and object-orientation. Our approach is based on a refinement of linear logic sequent calculi based on the proof-theoretic characterization of logic programming. A well-founded combination of higher-order logic programming and linear logic will be used to give an accurate encoding of the traditional features of concurrent object-oriented programming languages, whose corner-stone is the notion of encapsulation.


Author(s):  
Hans Fehr ◽  
Fabian Kindermann

Before diving into the art of solving economic problems on a computer, we want to give a short introduction into the syntax and semantics of Fortran 90. As describing all features of the Fortran language would probably fill some hundred pages, we concentrate on the basic features that will be needed to follow the rest of this textbook. Nevertheless, there are various Fortran tutorials on the Internet that can be used as complementary literature. Fortran is pretty old; it is actually considered the first known higher programming language. Going back to a proposal made by John W. Backus, an IBM programmer, in 1953, the term Fortran is derived from The IBM Formula Translation System. Before the release of the first Fortran compiler in April 1957, people used to use assembly languages. The introduction of a higher programming language compiler tremendously reduced the number of code lines needed to write a program. Therefore, the first release of the Fortran programming language grew pretty fast in popularity. From 1957 on, several versions followed the initial Fortran version, namely FORTRAN II and FORTRAN III in 1958, and FORTRAN IV in 1961. In 1966, the American Standards Association (now known as the ANSI) approved a standardized American Standard Fortran. The programming language defined on this standard was called FORTRAN 66. Approving an updated standard in 1977, the ANSI paved the way for a new version of Fortran known as FORTRAN 77. This version became popular in computational economics during the late 80s and early 90s. More than 13 years later, the Fortran 90 standard was released by both the International Organization for Standardization (ISO) and ANSI consecutively. With Fortran 90, the fixed format standard was exchanged by a free format standard and, in addition, many new features like modules, recursive procedures, derived data types, and dynamic memory allocation made the language much more flexible. From Fortran 90 on, there has only been one major revision, in 2003, which introduced object oriented programming features into the Fortran language. However, as object-oriented programming will not be needed and Fortran 90 is by far the more popular language, we will focus on the 1990 version in this book.


Sign in / Sign up

Export Citation Format

Share Document