skip to main content
10.1145/3624309.3624319acmotherconferencesArticle/Chapter ViewAbstractPublication PagessblpConference Proceedingsconference-collections
research-article

Análise comparativa entre linguagens de programação em sistemas embarcados móveis Android

Published:02 November 2023Publication History

ABSTRACT

Com o surgimento de dispositivos móveis de poder computacional cada vez maior, novas linguagens de programação também surgem de modo a dar suporte ao desenvolvimento de sistemas cada vez mais complexos que atendam aos desafios crescentes do mercado e às necessidades dos usuários. Cada linguagem de programação possui características específicas e a escolha da mais adequada depende de um conjunto de fatores associados aos requisitos do projeto a ser implementado, bem como à plataforma em que será executado. Neste trabalho foi investigado o desempenho de smartphones, que são considerados sistemas embarcados móveis devido possuírem configuração específica de hardware e software, em relação ao tempo de execução e aos consumos de energia e de memória, na execução de aplicativos móveis Android desenvolvidos em linguagens de programação clássicas,  sendo C, C++, Java, Python, e também  Kotlin, uma das linguagens oficiais do Android e Google, recentemente proposta e ainda pouco investigada, através de códigos abertos de algoritmos de benchmark multilinguagem.

References

  1. 2022. Stack overflow developer survey 2022. https://survey.stackoverflow.co/2022/#programming-scripting-and-markup-languages Online; accessed 20 January 2023.Google ScholarGoogle Scholar
  2. Akinlolu Adekotujo, Adedoyin Odumabo, Ademola Adedokun, and Olukayode Aiyeniko. 2020. A Comparative Study of Operating Systems: Case of Windows, UNIX, Linux, Mac, Android and iOS. International Journal of Computer Applications 176, 39 (2020), 16–23.Google ScholarGoogle ScholarCross RefCross Ref
  3. Doug Bagley. 2022. The Computer Language Benchmarks Game. https://benchmarksgame-team.pages.debian.net/benchmarksgame/performance/simple.html Online; accessed 25 January 2023.Google ScholarGoogle Scholar
  4. Emery D Berger, Celeste Hollenbeck, Petr Maj, Olga Vitek, and Jan Vitek. 2019. On the impact of programming languages on code quality: A reproduction study. ACM Transactions on Programming Languages and Systems (TOPLAS) 41, 4 (2019), 1–24.Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Subham Bose 2018. A comparative study: java vs kotlin programming in android application development. International Journal of Advanced Research in Computer Science 9, 3 (2018), 41–45.Google ScholarGoogle ScholarCross RefCross Ref
  6. William Bugden and Ayman Alahmar. 2022. Rust: The programming language for safety and performance. arXiv preprint arXiv:2206.05503 (2022).Google ScholarGoogle Scholar
  7. Pierre Carbonnelle. 2018. Popularity of Programming Language Index. https://pypl.github.io/PYPL.html Online; accessed 25 January 2023.Google ScholarGoogle Scholar
  8. Lujing Cen, Ryan Marcus, Hongzi Mao, Justin Gottschlich, Mohammad Alizadeh, and Tim Kraska. 2020. Learned garbage collection. In Proceedings of the 4th ACM SIGPLAN International Workshop on Machine Learning and Programming Languages. 38–44.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Tej Bahadur Chandra, Pushpak Verma, and Anuj Kumar Dwivedi. 2019. Impact of programming languages on energy consumption for sorting algorithms. In Software Engineering. Springer, 93–101.Google ScholarGoogle Scholar
  10. Marco Couto, Rui Pereira, Francisco Ribeiro, Rui Rua, and João Saraiva. 2017. Towards a green ranking for programming languages. In Proceedings of the 21st Brazilian Symposium on Programming Languages. 1–8.Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Ivica Crnkovic. 2005. Component-based software engineering for embedded systems. In Proceedings of the 27th international conference on Software engineering. 712–713.Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Android developers. 2021. BatteryManager. Retrieved March 21, 2023 from https://developer.android.com/reference/android/os/BatteryManagerGoogle ScholarGoogle Scholar
  13. Android developers. 2021. Criar um projeto. Retrieved May 05, 2023 from https://developer.android.com/studio/projects/create-projectGoogle ScholarGoogle Scholar
  14. Android developers. 2021. SystemClock. Retrieved April 12, 2023 from https://developer.android.com/reference/android/os/SystemClockGoogle ScholarGoogle Scholar
  15. TIOBE Index. 2022. Popularity Indexes of Programming Languages for Embedded Systems. https://www.tiobe.com/tiobe-index/ Online; accessed 24 January 2023.Google ScholarGoogle Scholar
  16. Leonardo Kaplan and Roberto Ierusalimschy. 2021. Evaluating Optimizations for a High-Level Language. In Proceedings of the 25th Brazilian Symposium on Programming Languages. 25–32.Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Zamira Kholmatova. 2020. Impact of programming languages on energy consumption for mobile devices. In Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. 1693–1695.Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Dennis Longley, Michael Shain, Dennis Longley, and Michael Shain. 1985. Compilers, Interpreters and Assemblers. Understanding Microcomputers (1985), 107–114.Google ScholarGoogle Scholar
  19. Pratik Mistry. 2022. What is an embedded system? types, characteristics and implementation. https://radixweb.com/blog/embedded-systems-concept-worth-understanding-implementingGoogle ScholarGoogle Scholar
  20. Michael Mol. 2007. Rosetta Code. Retrieved October 14, 2022 from https://rosettacode.org/wiki/Rosetta_CodeGoogle ScholarGoogle Scholar
  21. Sebastian Nanz and Carlo A Furia. 2015. A comparative study of programming languages in rosetta code. In 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, Vol. 1. IEEE, 778–788.Google ScholarGoogle ScholarCross RefCross Ref
  22. Debashis Panigrahi, Carla Chiasserini, Sujit Dey, Ramesh Rao, Anand Raghunathan, and Kanishka Lahiri. 2001. Battery life estimation of mobile embedded systems. In VLSI Design 2001. Fourteenth International Conference on VLSI Design. IEEE, 57–63.Google ScholarGoogle Scholar
  23. Rui Pereira, Marco Couto, Francisco Ribeiro, Rui Rua, Jácome Cunha, João Paulo Fernandes, and João Saraiva. 2017. Energy efficiency across programming languages: how do energy, time, and memory relate?. In Proceedings of the 10th ACM SIGPLAN International Conference on Software Language Engineering. 256–267.Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Stanley Rabinowitz and Stan Wagon. 1995. A spigot algorithm for the digits of π. The American mathematical monthly 102, 3 (1995), 195–203.Google ScholarGoogle Scholar
  25. Baishakhi Ray, Daryl Posnett, Vladimir Filkov, and Premkumar Devanbu. 2014. A large scale study of programming languages and code quality in github. In Proceedings of the 22nd ACM SIGSOFT international symposium on foundations of software engineering. 155–165.Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Junaid Rehman. 2021. Examples and types of embedded systems. https://www.itrelease.com/2018/07/examples-and-types-of-embedded-systems/Google ScholarGoogle Scholar
  27. Patrik Schwermer. 2018. Performance evaluation of kotlin and java on android runtime.Google ScholarGoogle Scholar
  28. Matthew J Sottile, Timothy G Mattson, and Craig E Rasmussen. 2009. Introduction to concurrency in programming languages. CRC Press.Google ScholarGoogle Scholar
  29. KR Srinath. 2017. Python–the fastest growing programming language. International Research Journal of Engineering and Technology 4, 12 (2017), 354–357.Google ScholarGoogle Scholar
  30. Mads Tofte and Jean-Pierre Talpin. 1997. Region-based memory management. Information and computation 132, 2 (1997), 109–176.Google ScholarGoogle Scholar
  31. Allen B Tucker and Robert Noonan. 2002. Programming languages: principles and paradigms. McGraw-Hill.Google ScholarGoogle Scholar
  32. Ivonne von Nostitz-Wallwitz, Jacob Krüger, and Thomas Leich. 2018. Toward Improving Industrial Adoption: The Choice of Programming Languages and Development Environments. In 2018 IEEE/ACM 5th International Workshop on Software Engineering Research and Industrial Practice (SER&IP). IEEE, 10–17.Google ScholarGoogle Scholar
  33. Wayne H Wolf. 1994. Hardware-software co-design of embedded systems. Proc. IEEE 82, 7 (1994), 967–989.Google ScholarGoogle ScholarCross RefCross Ref
  34. VB Zakharov, MG Mal’kovkij, and AI Mostyaev. 2017. Programming Language Choice Problem in Cross-platform Application Development. International journal of open information technologies 5, 7 (2017), 29–37.Google ScholarGoogle Scholar

Index Terms

  1. Análise comparativa entre linguagens de programação em sistemas embarcados móveis Android

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Other conferences
      SBLP '23: Proceedings of the XXVII Brazilian Symposium on Programming Languages
      September 2023
      110 pages
      ISBN:9798400716287
      DOI:10.1145/3624309

      Copyright © 2023 ACM

      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 the author(s) 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].

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 2 November 2023

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
      • Research
      • Refereed limited

      Acceptance Rates

      Overall Acceptance Rate22of50submissions,44%
    • Article Metrics

      • Downloads (Last 12 months)8
      • Downloads (Last 6 weeks)1

      Other Metrics

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    HTML Format

    View this article in HTML Format .

    View HTML Format