No Detail Found!

A Comparative Study of Contemporary Programming Languages in Implementation of Classical Algorithms

Author(s)
Null Department of Computer Science & Information Technology, University of Balochistan, Quetta, Pakistan
Abstract
Computer algorithm is the nucleus of computer science and vital prerequisite of computer science professionals. However, it is hard to comprehend. Issues in learning of algorithms are typically addressed through expounding the algorithms with their implementation in a programming language. As there are numerous programming languages, the choice of apposite programming language for plausible implementation of algorithms remains a challenging issue. In this article, standard computer algorithms of data structures are measured by analyzing their implementation in C, C++, Java and Python. During the study, 200 standard algorithms are chosen and their implementation in selected languages is analyzed. In total, 800 programs are examined with Halstead's complexity metrics and further analyzed with the Kolmogorov-Smirnov test, Shapiro-Wilk test and KruskalWallis Test. The results of the study suggest that the implementation of basic-level algorithms in Python is less difficult and requires the smallest number of mental comparisons as compared to C++, Java and C. Its programs require minimal time to write and mental endeavors to understand and also have the minimal number of bugs. Following Python, is C++ less difficult; however, its program implementations need more time to write and understand as well as have a greater number of bugs than that in C. It is less difficult to implement the algorithms in Java as compared to that in C, but requires the most prominent number of mental efforts and time. More bugs are encountered in the implementation of Java programs as compare to the other modern languages. The study signifies that Python could be a basic language among the other languages within the study.
Publication Details
Page(s) 23-31
DOI DOI not available
Published Journal: Journal of Information & Communication Technology (JICT), Volume: 14, Issue: 1, Year: 2020

Request the full text from PASTIC

Keywords
Programming Languages, Halstead complexity, Data structures, Algorithms
References
Flanagan R. .2000 .Measuring the costs and benefits of information technology in construction,” Engineering, Construction and Architectural Management. , 7(4) : 423-435.
Naveed M. S.,Sarim M.,Nadeem A. .2016 .C in CS1: Snags and viable solution”. , 35(3) : 347-358.
McCracken M.,Almstrum V.,Diaz D.,Guzdial M.,Hagan D.,Kolikant Y. D.,Laxer C.,Utting I. .2001 .A multi-national, multi-institutional study of assessment of programming skills of first-year CS tsudents,” In Working group reports from ITiCSE on Innovation and technology in computer science education. , : 125-180.
Robins A.,Rountree J.,Rountree N. .2003 .Learning and teaching programming: A review and discussion,” Computer science education. , 13(2) : 137-172.
.2020 .. htm (Last Access: 15th July, : .
Kernighan B. W.,Ritchie D. M. .1988 .The C programming language. , 2 : .
Lafore R. .1997 .Object-oriented programming in C++. , : .
Arnold K.,Gosling J.,Holmes D. .2000 .The Java programming language. , 2 : .
Rossum G. V. .2007 .Python programming language,”. In USENIX annual technical conference, 41 : 36.
Sharma S. .2019 .Performance comparison of Java and C++ when sorting integers. ” Thesis, : .
Gherardi L.,Brugali D.,Comotti D. .2012 .A java vs. c++ performance evaluation: a 3D modeling benchmark. , : 161-172.
Chandra S. S.,Chandra K. .2005 .A comparison of Java and C#,”. Journal of Computing Sciences in Colleges, 20(3) : 238-254.
Sheard J.,Hagan D. .1997 .Experiences with teaching object-oriented concepts to introductory programming tsudents using C++,”. In Proceedings of Technology of Object-Oriented Languages, : 310-319.
Henriques L.,Bernardino J.,C# J. .2018 .Performance of Memory Deallocation in C++. Association for Information Systems, : 1-18.
Phipps G. .1999 .Comparing observed bug and productivity rates for Java and C++,”. Software: Practice and Experience, 29 : 345-358.
Fourment M.,Gillings M. R. .2008 .A comparison of common programming languages used in bioinformatics,” BMC bioinformatics. , 1(82) : .
Myrtveit I. .2008 .An empirical study of software development productivity in C and C++. , : .
.2020 .TIOBE Index for August 2020. , 06 : .
.2020 .PYPL index for August 2020. , 06 : .
Halstead M. H. .1972 .Natural laws controlling algorithm tsructure?,” ACM Sigplan Notices. , 7(2) : 19-26.
Lahtinen E.,Ala-Mutka K.,Järvinen H. M. .2005 .A tsudy of the dificulties of novice programmers,” ACM SIGCSE Bulletin. , 37(3) : 14-18.
Flater D.,Flater D. .2018 .Rationalizing Halstead's System Using Dimensionless Units,”. National Institute of Standards and Technology, : .
Mall R. .2018 .Fundamentals of software engineering.” PHI Learning Pvt. , : .
Curtis B.,Sheppard S. B.,Milliman P.,Borst M. A. .1979 .Measuring the psychological complexity of software maintenance tasks with the Halstead and McCabe metrics. ” IEEE Transactions on software engineering, 2 : 96-104.
Leach R. J. .1995 .Using metrics to evaluate student programs. ” ACM SIGCSE Bulletin, 27(2) : 41-43.
Booth S. P.,Jones S. B. .1996 .. Are Ours Really Smaller Than Theirs?” Department of Computing Science and Mathematics, Technical Report, : 1-7.
Bailey C. T.,Dingee W. L. .1981 .A software study using Halstead metrics,”. In Proceedings of the ACM workshop/symposium on Measurement and evaluation of software quality, : 189-197.
Samoladas I.,I. Stamelos I.,Angelis L.,Oikonomou A. .2004 .Open source software development should strive for even greater code maintainability,” Communications of the ACM. , 47(10) : 83-87.
R. E. J. al Qutaish .1998 .“Incorporating Software Measurement Into a Compiler,” Doctoral dissertation. Universiti Putra Malaysia, : .
Biddle R. .1998 .Java pitfalls for beginners,” ACM SIGCSE Bulletin. , 30(2) : 48-52.
Al-Batah M. S.,Alhindawi N.,Malkawi R.,A R. .2019 .“Hybrid Technique for Complexity Analysis for Java Code. International Journal of Software Innovation, 7(3) : 118-133.
Ihantola P.,Petersen A. .2019 .Code complexity in introductory programming courses,”. In Proceedings of the 52nd Hawaii International Conference on System Sciences, : 7662-7670.
Nagy G. .2019 .Comparing Software Complexity of Monadic Error Handling and Using Exceptions,”. In 42nd International Convention on Information and Communication Technology, Electronics and Microelectronics, : 1575-1580.
Rumreich L. E.,K. M. Kecskemety L. E. .2019 .“Examining Software Design Projects in a First-Year Engineering Course Through Diferent Complexity Measures,”. In 2019 IEEE Frontiers in Education Conference, : 1-5.
Naveed M. S.,Sarim M. .2016 .Learners Programming Language a Helping System for Introductory Programming Courses. , 35(3) : 347-358.
0

Citations

0

Downloads

6

Views