Comparing Selected Criteria of Programming Languages
Java, PHP, C++, Perl, Haskell, AspectJ, Ruby, COBOL, Bash
Scripts and Scheme
Revision 1.0
Sultan S. Al-Qahtani
Concordia University
Montreal, Quebec, Canada
s_alqaht@cse.concordia.ca
Rafik Arif
Concordia University
Montreal, Quebec, Canada
r_ar@cse.concordia.ca
Luis F. Guzman
Concordia University
Montreal, Quebec, Canada
l_guzman@cse.concordia.ca
Adrien Tevoedjre
Concordia University
Montreal, Quebec, Canada
a_tevoed@cse.concordia.ca
Pawel Pietrzynski
Concordia University
Montreal, Quebec, Canada
p_pietrz@cse.concordia.ca
Abstract
Comparison of programming languages is a common topic of discussion among software engineers. Few languages ever
become sufficiently popular that they are used by more than a few people or find their niche in research or education; but
professional programmers can easily use dozens of different languages during their career. Multiple programming
languages are designed, specified, and implemented every year in order to keep up with the changing programming
paradigms, hardware evolution, etc. In this paper we present a comparative study between ten programming languages:
Haskell, Java, Perl, C++, AspectJ, COBOL, Ruby, PHP, Bash Scripts, and Scheme; with respect of the following criteria: Secure
programming practices, web applications development, web services design and composition, object oriented-based
abstraction, reflection, aspect-orientation, functional programming, declarative programming, batch scripting, and user
interface prototype design.