Loading [MathJax]/extensions/MathMenu.js
Comparative analysis of functional and object-oriented programming | IEEE Conference Publication | IEEE Xplore

Comparative analysis of functional and object-oriented programming


Abstract:

The choice of the first programming language and the corresponding programming paradigm is an important part of the software development process. Knowing the advantages a...Show More

Abstract:

The choice of the first programming language and the corresponding programming paradigm is an important part of the software development process. Knowing the advantages and constraints of individual programming paradigms is important as it can be crucial for successful software implementation. In this paper we conduct an empirical comparison of functional and object-oriented programming languages using analog examples in C#, F#, Haskell, and Java. Three algorithms were implemented: algorithm for solving N queens problem, algorithm for generating n-th left-truncatable prime and merge sort algorithm in C#, F#, Haskell and Java programming languages. An overview of programming languages efficiency is given by measuring two basic parameters: number of lines of code and program execution speed. Also, system resource usage is monitored during execution. Limited experiments showed that the programming language Java is faster than the other three languages whose performances were measured. Java was surprisingly fast on these problems that are more suitable for functional programming languages. Haskell was less memory intensive (up to two times less than Java) with similar execution times, while .NET languages were slower up to four times in comparison to Java. Object-oriented languages C# and Java had significantly more lines of code for all three algorithms when compared to functional programming language Haskell and the hybrid one F#.
Date of Conference: 30 May 2016 - 03 June 2016
Date Added to IEEE Xplore: 28 July 2016
ISBN Information:
Conference Location: Opatija, Croatia

Contact IEEE to Subscribe

References

References is not available for this document.