skip to main content
10.1145/1411273.1411279acmconferencesArticle/Chapter ViewAbstractPublication PagesicfpConference Proceedingsconference-collections
research-article

A comparative evaluation of imperative and functional implementations of the imap protocol

Published: 27 September 2008 Publication History

Abstract

This paper describes a comparative analysis of several implementations of the IMAP4 client-side protocol, written in Erlang, C#, Java, Python and Ruby. The aim is basically to understand whether Erlang is able to fit the requirements of such a kind of applications, and also to study some parameters to evaluate the suitability of a language for the development of certain type of programs. We analysed five different libraries, comparing their characteristics through some software metrics: number of source lines of code, memory consumption, performances (execution time) and functionality of primitives. We describe pros and cons of each library and we conclude on the suitability of Erlang as a language for the implementation of protocol- and string-intensive TCP/IP-based applications.

References

[1]
http://www.ruby-lang.org/en/.
[2]
http://java.sun.com/products/javamail/downloads/index.html, 22 Oct. 2007.
[3]
J. Armstrong. A History of Erlang. In Proceeding of History Of Programming Languages, 2007.
[4]
M. Crispin. INTERNET MESSAGE ACCESS PROTOCOL VERSION 4rev1. ARPANET Request for Comment No. 3501, 2003.
[5]
T. DeMarco. Yourdon Press, New York, NY, USA, 1982.
[6]
N. Freed and N. Borenstein. MIME (Multipurpose Internet Mail Extensions) Part One: Format of Internet Message Bodies. ARPANET Request for Comment No. 2045, 1996.
[7]
H. D. Garmus D. Function Point Analysis. Measurement practise for successful software projects. ADDISON WESLEY, Nov. 2000.
[8]
F. I. F. P. U. Group. Function Points Counting Practices Manual(version 4.1.1), http://www.ifpug.org/, WWW. 2000.
[9]
B. Hausman. Turbo Erlang: Approaching The Speed of C. In Proceedings of the Implementations of Logic Programming Systems Conference, 1993.
[10]
D. Hubbard. The IT Measurement Inversion. CIO Enterprise Magazine, 1999.
[11]
E. Johansson. HiPE: A High Performance Erlang System. In Proceedings of the ACM SIGPLAN Conference on Principles and Practice of Declarative Programming, 2000.
[12]
D. King, H. Nyström, and P. Trinder. Comparing C++ and Erlang for Motorola Telecoms Software. In Proceedings of the International Erlang User Conference, 2006.
[13]
T. J. McCabe. A Complexity Measure. IEEE Transaction on Software Engineering, 2(4), 1976.
[14]
J. Myers. Simple Authentication and Security Layer (SASL). ARPANET Request for Comment No. 2222, 1997.
[15]
L. Prechelt. An empirical comparison of seven programming languages. Computer, 33(10):23--29, 2000.
[16]
Python Software Foundation. http://www.python.org.
[17]
QUALCOMM Incorporated. Internet Message Format. ARPANET Request for Comment No. 2822, 2001.
[18]
U. Wiger. Four-fold Increase in Productivity and Quality. In Proceedings of the FEmSYS, Deployment on Distributed Architectures, 2001.

Cited By

View all
  • (2019)Evaluation of JADE multi-agent system and Erlang holonic control implementations for a manufacturing cellInternational Journal of Computer Integrated Manufacturing10.1080/0951192X.2019.157123132:3(225-240)Online publication date: 25-Jan-2019
  • (2018)Evaluation criteria for holonic control implementations in manufacturing systemsInternational Journal of Computer Integrated Manufacturing10.1080/0951192X.2018.155067432:2(148-158)Online publication date: 29-Nov-2018
  • (2016)Elixir programming language evaluation for IoT2016 IEEE International Symposium on Consumer Electronics (ISCE)10.1109/ISCE.2016.7797392(105-106)Online publication date: Sep-2016

Index Terms

  1. A comparative evaluation of imperative and functional implementations of the imap protocol

        Recommendations

        Comments

        Information & Contributors

        Information

        Published In

        cover image ACM Conferences
        ERLANG '08: Proceedings of the 7th ACM SIGPLAN workshop on ERLANG
        September 2008
        96 pages
        ISBN:9781605580654
        DOI:10.1145/1411273
        • General Chair:
        • Tee Teoh,
        • Program Chair:
        • Zoltán Horváth
        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Sponsors

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        Published: 27 September 2008

        Permissions

        Request permissions for this article.

        Check for updates

        Author Tags

        1. comparative evaluation
        2. erlang
        3. functional languages
        4. imap
        5. imperative languages

        Qualifiers

        • Research-article

        Conference

        ICFP08
        Sponsor:

        Acceptance Rates

        ERLANG '08 Paper Acceptance Rate 9 of 10 submissions, 90%;
        Overall Acceptance Rate 51 of 68 submissions, 75%

        Upcoming Conference

        ICFP '25
        ACM SIGPLAN International Conference on Functional Programming
        October 12 - 18, 2025
        Singapore , Singapore

        Contributors

        Other Metrics

        Bibliometrics & Citations

        Bibliometrics

        Article Metrics

        • Downloads (Last 12 months)2
        • Downloads (Last 6 weeks)0
        Reflects downloads up to 17 Feb 2025

        Other Metrics

        Citations

        Cited By

        View all
        • (2019)Evaluation of JADE multi-agent system and Erlang holonic control implementations for a manufacturing cellInternational Journal of Computer Integrated Manufacturing10.1080/0951192X.2019.157123132:3(225-240)Online publication date: 25-Jan-2019
        • (2018)Evaluation criteria for holonic control implementations in manufacturing systemsInternational Journal of Computer Integrated Manufacturing10.1080/0951192X.2018.155067432:2(148-158)Online publication date: 29-Nov-2018
        • (2016)Elixir programming language evaluation for IoT2016 IEEE International Symposium on Consumer Electronics (ISCE)10.1109/ISCE.2016.7797392(105-106)Online publication date: Sep-2016

        View Options

        Login options

        View options

        PDF

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader

        Figures

        Tables

        Media

        Share

        Share

        Share this Publication link

        Share on social media