This is an unedited manuscript accepted for publication and provided as an Article in Press for early access at the author’s request. The article will undergo copyediting, typesetting, and galley proof review before final publication. Please be aware that errors may be identified during production that could affect the content. All legal disclaimers of the journal apply.

Shilpi Saxena,

Ashish Singh,

Vaibhav Rajendra Chaudhari,

Jolly Pandey,

Ashwin Singh,

Mritunjay Kr. Ranjan,
- Assistant Professor, Department of Computer Application & IT, Lords University, Rajasthan, India
- Student, School of Computer Sciences and Engineering, Sandip University, Nashik, Maharashtra, India
- Assistant Professor, School of Computer Sciences and Engineering, Sandip University, Nashik, Maharashtra, India
- Assistant Professor, Department of Information Technology, Gaya College, Gaya, Bihar, India
- Lecturer, Department of Information Technology, Sandip Polytechnic, Sandip Foundation, Nashik, Maharashtra, India
- Assistant Professor, School of Computer Sciences and Engineering, Sandip University, Nashik, Maharashtra, India
Abstract document.addEventListener(‘DOMContentLoaded’,function(){frmFrontForm.scrollToID(‘frm_container_abs_110878’);});Edit Abstract & Keyword
This paper attempts to provide some insights on the efficiency of modern programming paradigms via a comparative study and explore the important role played by compiler design in optimization of these languages. Programming languages have been evolving quickly over time and different paradigms: imperative, functional or object-oriented programming come with their own idiosyncrasies and optimization techniques. The study starts by defining the foundational principles of each paradigm it then goes on to perform an in-depth analysis as how these organisational ideas impact computer design and efficiency. A series of benchmark tests conducted over several different but representative languages from each paradigm, comparing performance metrics such as execution speed, memory usage and ease of optimization. These results clearly show big differences in efficiency, dependent on the programming paradigm and individual design decisions made inside of a compiler. Additionally, investigation of what trade-offs are implied by language features and how it impacts the programmer productivity conducted. The goal of this work is to generate insights supporting language designers, educators and the developers themselves in their decisions on which programming paradigm best supports their requirements. In short, the results demonstrate that using appropriate high-level programming paradigms leveraged to specific project needs can effectively maximize both development and runtime efficiency.
Keywords: programming paradigms, language efficiency, compiler design, performance analysis, execution speed, memory optimization.
[This article belongs to Recent Trends in Programming languages (rtpl)]
Shilpi Saxena, Ashish Singh, Vaibhav Rajendra Chaudhari, Jolly Pandey, Ashwin Singh, Mritunjay Kr. Ranjan. Comparative Analysis of Modern Programming Paradigms: Evaluating Language Efficiency and Compiler Design Technique. Recent Trends in Programming languages. 2024; 11(03):-.
Shilpi Saxena, Ashish Singh, Vaibhav Rajendra Chaudhari, Jolly Pandey, Ashwin Singh, Mritunjay Kr. Ranjan. Comparative Analysis of Modern Programming Paradigms: Evaluating Language Efficiency and Compiler Design Technique. Recent Trends in Programming languages. 2024; 11(03):-. Available from: https://journals.stmjournals.com/rtpl/article=2024/view=0
References
document.addEventListener(‘DOMContentLoaded’,function(){frmFrontForm.scrollToID(‘frm_container_ref_110878’);});Edit
[1] Wiese ES, Rafferty AN, Kopta DM, Anderson JM. Replicating novices’ struggles with coding style. In2019 IEEE/ACM 27th International Conference on Program Comprehension (ICPC) 2019 May 25 (pp. 13-18). IEEE. [2] Pereira R, Couto M, Ribeiro F, Rua R, Cunha J, Fernandes JP, Saraiva J. Ranking programming languages by energy efficiency. Science of Computer Programming. 2021 May 1;205:102609. [3] Weintrop D, Wilensky U. Transitioning from introductory block-based and text-based environments to professional programming languages in high school computer science classrooms. Computers & Education. 2019 Dec 1;142:103646. [4] Mritunjay Kr. Ranjan, Krishna Barot, Vaishnavi Khairnar, Vaishnavi Rawal, Anujaa Pimpalgaonkar, Shilpi Saxena, Arif Md. Sattar. Python: Empowering Data Science Applications and Research. Journal of Operating Systems Development & Trends. 2023; 10(1): 27–33p. [5] Ghose S, Boroumand A, Kim JS, Gómez-Luna J, Mutlu O. Processing-in-memory: A workload-driven perspective. IBM Journal of Research and Development. 2019 Aug 8;63(6):3-1. [6] Wang X, Zhang Z. Analysis of the Design of Several Modern Programming Languages. In2022 IEEE 2nd International Conference on Computer Systems (ICCS) 2022 Sep 23 (pp. 40-44). IEEE. [7] Alarcón SL, Wong E, Humble TS, Dumitrescu E. Quantum programming paradigms and description languages. Computing in Science & Engineering. 2023 Nov;25(6):33-8. [8] Chandrashekhar BN, Sanjay HA, Srinivas T. Performance analysis of parallel programming paradigms on CPU-GPU clusters. In2021 International Conference on Artificial Intelligence and Smart Systems (ICAIS) 2021 Mar 25 (pp. 646-651). IEEE. [9] Forcael E, Garcés G, Lantada AD. Convergence of Educational Paradigms into Engineering Education 5.0. In2023 World Engineering Education Forum-Global Engineering Deans Council (WEEF-GEDC) 2023 Oct 23 (pp. 1-8). IEEE. [10] Agarwal A, Gour MM. Establishing a Novel CAD-Based Paradigm for Design of VLSI Integrated Circuits. In2024 International Conference on Optimization Computing and Wireless Communication (ICOCWC) 2024 Jan 29 (pp. 1-6). IEEE. [11] Jomaa N, Nowak D, Grimaud G, Hym S. Formal proof of dynamic memory isolation based on MMU. Science of Computer Programming. 2018 Sep 15;162:76-92. [12] Pan R, Peach G, Ren Y, Parmer G. Predictable virtualization on memory protection unit-based microcontrollers. In2018 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS) 2018 Apr 11 (pp. 62-74). IEEE. [13] Czarnul P, Proficz J, Drypczewski K. Survey of Methodologies, Approaches, and Challenges in Parallel Programming Using High‐Performance Computing Systems. Scientific Programming. 2020;2020(1):4176794. [14] Dageförde JC, Kuchen H. A compiler and virtual machine for constraint-logic object-oriented programming with Muli. Journal of Computer Languages. 2019 Aug 1;53:63-78. [15] Tan J, Jiao S, Chabbi M, Liu X. What every scientific programmer should know about compiler optimizations?. InProceedings of the 34th ACM International Conference on Supercomputing 2020 Jun 29 (pp. 1-12). [16] Peitek N, Apel S, Parnin C, Brechmann A, Siegmund J. Program comprehension and code complexity metrics: An fmri study. In2021 IEEE/ACM 43rd International Conference on Software Engineering (ICSE) 2021 May 22 (pp. 524-536). IEEE. [17] Thoman P, Dichev K, Heller T, Iakymchuk R, Aguilar X, Hasanov K, Gschwandtner P, Lemarinier P, Markidis S, Jordan H, Fahringer T. A taxonomy of task-based parallel programming technologies for high-performance computing. The Journal of Supercomputing. 2018 Apr;74(4):1422-34. [18] Starr WB. A preference semantics for imperatives. Semantics and Pragmatics. 2020 Jul 28;13:6-1. [19] Chen J, Patra J, Pradel M, Xiong Y, Zhang H, Hao D, Zhang L. A survey of compiler testing. ACM Computing Surveys (CSUR). 2020 Feb 5;53(1):1-36.

Recent Trends in Programming languages
| Volume | 11 |
| Issue | 03 |
| Received | 22/10/2024 |
| Accepted | 23/10/2024 |
| Published | 05/11/2024 |
function myFunction2() {
var x = document.getElementById(“browsefigure”);
if (x.style.display === “block”) {
x.style.display = “none”;
}
else { x.style.display = “Block”; }
}
document.querySelector(“.prevBtn”).addEventListener(“click”, () => {
changeSlides(-1);
});
document.querySelector(“.nextBtn”).addEventListener(“click”, () => {
changeSlides(1);
});
var slideIndex = 1;
showSlides(slideIndex);
function changeSlides(n) {
showSlides((slideIndex += n));
}
function currentSlide(n) {
showSlides((slideIndex = n));
}
function showSlides(n) {
var i;
var slides = document.getElementsByClassName(“Slide”);
var dots = document.getElementsByClassName(“Navdot”);
if (n > slides.length) { slideIndex = 1; }
if (n (item.style.display = “none”));
Array.from(dots).forEach(
item => (item.className = item.className.replace(” selected”, “”))
);
slides[slideIndex – 1].style.display = “block”;
dots[slideIndex – 1].className += ” selected”;
}
