The concept of time in programming languages

Authors

  • Thiago Negri Leonardo da Vinci University Center, UNIASSELVI, Brazil.
  • Roque Cesar Possamai Leonardo da Vinci University Center, UNIASSELVI, Brazil.

DOI:

https://doi.org/10.5965/2764747102042013024

Keywords:

parallelism, programming language, concurrency

Abstract

The current architecture of computers calls for applications to be prepared to use more than one
processing core. This paper will verify if the current programming model, i.e. object oriented,
allows programs to make good use of this architecture, showing possible reasons to seek
alternatives to accompany the architectural evolution. It will bring a brief explanation of the
history of programming languages, contextualizing the reasons that led the market to the objectoriented paradigm. Through these reasons and the evolution of architecture, a projection will be
made on some reasons that may cause the actual style of programming to be replaced. It will
examine the concepts of concurrency and parallelism that are becoming more necessary with
this new architecture. This examination will be made in the current model, in Java, and bringing
as a possible alternative, the point of view of the functional model of pure and lazy evaluation,
specifically in the Haskell language.

Downloads

Download data is not yet available.

Author Biographies

Thiago Negri, Leonardo da Vinci University Center, UNIASSELVI, Brazil.

Specialist in Software Engineering from the Leonardo da Vinci University Center, UNIASSELVI, Brazil.

Graduated in Information Systems at the Leonardo da Vinci University Center, UNIASSELVI, Brazil.

Roque Cesar Possamai, Leonardo da Vinci University Center, UNIASSELVI, Brazil.

Specialist in Web Application Development from the Santa Catarina Graduate Institute, ICPG, Brazil.

Graduated in Computing Sciences at the Blumenau Regional University Foundation, FURB, Brazil.

References

AMDAHL, G. M. Validity of the single processor approach to achieving large scale computing capabilities. In Proceedings of the April 18-20, 1967, spring joint computer conference, AFIPS’67 (Spring), p. 483–485, New York, NY, USA, 1967. ACM.

CLICK, C. Apresentação: A JVM does that? Google Tech Talk. Março 2011. Disponível em: http://www.youtube.com/watch?v=uL2D3qzHtqY Acesso em: 3 out. 2011.

Computer Hope. Computer history - 1940 - 1960. 2011. Disponível em: http://www.computerhope.com/history/194060.htm Acesso em: 10 out. 2011.

GRAHAM, P. Beating the averages. Symposium A Quarterly Journal In Modern Foreign Literatures, v. 2003, p. 1–9, Abril 2003. Disponível em: http://www.paulgraham.com/avg.html Acesso em: 3 out. 2011.

HARRIS, T.; MARLOW, S.; JONES, S. P.; HERLIHY, M. Composable memory transactions. In Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming, PPoPP ’05, p. 48–60, New York, NY, USA, 2008. ACM. ISBN 1-59593-080-9.

Haskell Wiki. Wiki: Introduction. 2011. Edição em: 29 out. 2011 22:36. Disponível em: http://www.haskell.org/haskellwiki/Introduction Acesso em: 24 nov. 2011.

HICKEY, R. Apresentação: Are we there yet? Sun 2009 JVM Language Summit. Novembro 2009. Disponível em: http://www.infoq.com/presentations/Are-We-There-Yet-Rich-Hickey Acesso em: 3 nov. 2011

HUDAK, P.; PETERSON, J.; FASEL, J. A gentle introduction to Haskell - version 98. Junho 2000. Disponível em: http://www.haskell.org/tutorial/index.html Acesso em: 6 out. 2011

JONES, S. P. Tackling the awkward squad: monadic input/output, concurrency, exceptions, and foreign-language calls in Haskell. In Engineering theories of software construction, p. 47–96. IOS Press, 2001.

JONES, S. P. Beautiful code: Leading programmers explain how they think, cap. Beautiful Concurrency. Beijing: O’Reilly Media, Junho 2007. ISBN 978-0-596-51004-6.

KANELLOS, M. New life for Moore’s law. Abril 2005. Disponível em: http://news.cnet.com/New-life-for-Moores-Law/2009-1006_3-5672485.html Acesso em: 4 nov. 2011.

LENTCZNER, M. Apresentação: Haskell amuse-bouche. Google Tech Talk. Outubro 2011. Disponível em: http://www.youtube.com/watch?v=b9FagOVqxmI Acesso em: 2 nov. 2011.

MARLOW, S. Parallelism /= concurrency. Outubro 2009. Disponível em: http://ghcmutterings.wordpress.com/2009/10/06/parallelism-concurrency Acesso em: 3 out. 2011.

MARLOW, S. Parallel and concurrent programming in Haskell. Cambridge, U.K.: Microsoft Research Ltd., Setembro 2011.

MARTIN, R. C. Clean code: A handbook of agile software craftsmanship. Upper Saddle River, NJ: Prentice Hall. Person Education, Inc., Dezembro 2009. ISBN 0132350882.

MOORE, G. E. Cramming more components onto integrated circuits. Electronics, v. 38, Abril 1965. Disponível em: ftp://download.intel.com/museum/Moores_Law/Articles-Press_Releases/Gordon_Moore_1965_Article.pdf Acesso em: 24 nov. 2011.

OKASAKI, C. Purely functional data structures. Cambridge University Press, 1999. ISBN 0521663504.

Oracle. Java™ Platform Standard: Class RecursiveAction. 2011. Disponível em: http://download.oracle.com/javase/7/docs/api/java/util/concurrent/RecursiveAction.html Acesso em: 3 out. 2011.

O’SULLIVAN, B. Apresentação: Running a startup on Haskell. Strange Loop. Outubro 2011. Disponível em: http://www.infoq.com/presentations/Running-a-Startup-on-Haskell Acesso em: 1 nov. 2011.

PROVENZA, P. Why are pointers so hard? Julho 2011. Disponível em: http://tenaciousc.com/?p=2922> Acesso em: 24 nov. 2011.

RITCHIE, D. M. The development of the C language. ACM SIGPLAN Notices, v. 28, p. 201–208, Março 1993. ISSN 0362-1340.

SUTTER, H. The free lunch is over: A fundamental turn toward concurrency in software. Dr. Dobb’s Journal, v. 30, p. 202–210, 2005.

TIOBE Software. TIOBE programming community index. 2011. Disponível em: http://www.tiobe.com/index.php/tiobe_index Acesso em: 3 out. 2011.

Published

2013-12-23

How to Cite

Negri, T., & Possamai, R. C. (2013). The concept of time in programming languages. Revista Brasileira De Contabilidade E Gestão, 2(4), 24–37. https://doi.org/10.5965/2764747102042013024

Issue

Section

Articles