O conceito de tempo nas linguagens de programação

Autores

  • Thiago Negri Centro Universitário Leonardo da Vinci
  • Roque Cesar Possamai Centro Universitário Leonardo da Vinci

DOI:

https://doi.org/10.5965/2764747102042013024

Palavras-chave:

concorrência, paralelismo, linguagem de programação

Resumo

A arquitetura atual de computadores pede para que os aplicativos estejam preparados para utilizar mais de um núcleo de processamento.  Este trabalho verificará se o modelo de programação atual, i.e. orientado a objetos, permite que os programas façam bom uso desta arquitetura ou se é preciso procurar alternativas para acompanhar a evolução arquitetural. Trará uma breve explanação da história das linguagens de programação, contextualizando os motivos que levaram o mercado até o paradigma orientado a objetos.  Através destes motivos e da evolução da arquitetura, será feita uma projeção sobre algumas razões que poderão fazer com que o estilo de programação atual seja substituído.  Serão abordados os conceitos de concorrência e paralelismo que se tornam cada vez mais necessários com esta nova arquitetura. Esta abordagem será feita no modelo atual, em Java, e, trazendo como uma possível alternativa, no modelo funcional puro e de avaliação preguiçosa, mais precisamente na linguagem Haskell.

Downloads

Não há dados estatísticos.

Biografia do Autor

Thiago Negri, Centro Universitário Leonardo da Vinci

Especialista em Engenharia de Software pelo Centro Universidade Leonardo da Vinci, UNIASSELVI, Brasil.

Graduado em Sistemas de informação pelo centro universitário Leonardo da Vinci, UNIASSELVI, Brasil.

Roque Cesar Possamai, Centro Universitário Leonardo da Vinci

Especialista em desenvolvimento de aplicações Web pelo Instituto Catarinense de pós-Graduado, ICPG, Brasil.

Graduado em Ciências da computação pela Fundação Universidade Regional de Blumenau, FURB, Brasil.

Referências

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.

Downloads

Publicado

2013-12-23

Como Citar

Negri, T., & Possamai, R. C. (2013). O conceito de tempo nas linguagens de programação. Revista Brasileira De Contabilidade E Gestão, 2(4), 24–37. https://doi.org/10.5965/2764747102042013024

Edição

Seção

Artigos