diff --git a/2024/07/18/oop/index.html b/2024/07/18/oop/index.html index 1b25193..ba5e027 100644 --- a/2024/07/18/oop/index.html +++ b/2024/07/18/oop/index.html @@ -104,7 +104,7 @@

Java e Clojure

- Estimated reading time: 18 min + Estimated reading time: 19 min

@@ -114,7 +114,7 @@

Java e Clojure

Table of Contents

    -
  1. Introdução
  2. +
  3. Introdução
  4. Descobrindo Clojure: Uma Ponte entre Lisp e Java
  5. Manutenibilidade
  6. Transparência referencial
  7. @@ -122,6 +122,7 @@

    Table of Contents

  8. Pattern Null Object
  9. Pattern Singleton
  10. Pattern Observer
  11. +
  12. Recomendações

Introdução

Ao estudar diferentes linguagens de programação, fui atraído pela família Lisp devido à sua simplicidade e poder. Lisp, criado por John McCarthy em 1958, é conhecido pela notação de código como listas de dados e pela capacidade de manipular código como uma estrutura de dados. Emacs Lisp e Common Lisp são dois dos muitos dialetos que evoluíram a partir do Lisp original, cada um com suas próprias peculiaridades e casos de uso. Mas o que torna o Lisp tão atraente em comparação com linguagens mais modernas?

@@ -436,6 +437,51 @@

Pattern Observer

A comparação entre Java e Clojure é relevante porque ambos operam na Java Virtual Machine (JVM). Isso permite analisar diretamente as características dos paradigmas de programação orientada a objetos e funcional. Java, com seu vasto ecossistema, exemplifica a orientação a objetos, enquanto Clojure oferece uma abordagem funcional. A utilização da JVM garante que a comparação se concentre nas diferenças paradigmáticas, sem interferências externas, tornando as discussões sobre performance, manutenção e design de código mais claras e fundamentadas.

Outras linguagens funcionais, como Elixir e Haskell, também poderiam ser comparadas a Java. Elixir, rodando na Erlang VM, é conhecida por sua capacidade de lidar com high availability distributed systems. Haskell é elogiada por seu strong type system e lazy evaluation, minimizando bugs e maximizando a eficiência em algoritmos complexos. No entanto, essas comparações introduziriam variáveis adicionais devido às diferenças nas virtual machines e execution models, complicando a análise dos paradigmas de programação.

Explorar Clojure ou outras linguagens funcionais pode melhorar suas habilidades de programação e oferecer novas ferramentas para resolver problemas de maneiras inovadoras. Aprender novos paradigmas expande sua capacidade de escolher a ferramenta certa para cada trabalho, abrindo novos caminhos para soluções criativas. Embora desafiador, experimentar algo novo proporciona crescimento profissional e satisfação na resolução de problemas.

+
+

Recomendações

+

Se você está interessado em aprofundar seu conhecimento, aqui estão alguns livros que recomendo. São eles:

+ diff --git a/index.xml b/index.xml index 3404ced..867d485 100644 --- a/index.xml +++ b/index.xml @@ -35,7 +35,7 @@ https://scovl.github.io/2024/07/18/oop/ Thu, 18 Jul 2024 19:00:00 +0000 https://scovl.github.io/2024/07/18/oop/ - Table of Contents Introdução Descobrindo Clojure: Uma Ponte entre Lisp e Java Manutenibilidade Transparência referencial Problemas de Reutilização Pattern Null Object Pattern Singleton Pattern Observer Introdução Ao estudar diferentes linguagens de programação, fui atraído pela família Lisp devido à sua simplicidade e poder. Lisp, criado por John McCarthy em 1958, é conhecido pela notação de código como listas de dados e pela capacidade de manipular código como uma estrutura de dados. + Table of Contents Introdução Descobrindo Clojure: Uma Ponte entre Lisp e Java Manutenibilidade Transparência referencial Problemas de Reutilização Pattern Null Object Pattern Singleton Pattern Observer Recomendações Introdução Ao estudar diferentes linguagens de programação, fui atraído pela família Lisp devido à sua simplicidade e poder. Lisp, criado por John McCarthy em 1958, é conhecido pela notação de código como listas de dados e pela capacidade de manipular código como uma estrutura de dados. diff --git a/post/index.xml b/post/index.xml index c432621..3d048a8 100644 --- a/post/index.xml +++ b/post/index.xml @@ -35,7 +35,7 @@ https://scovl.github.io/2024/07/18/oop/ Thu, 18 Jul 2024 19:00:00 +0000 https://scovl.github.io/2024/07/18/oop/ - Table of Contents Introdução Descobrindo Clojure: Uma Ponte entre Lisp e Java Manutenibilidade Transparência referencial Problemas de Reutilização Pattern Null Object Pattern Singleton Pattern Observer Introdução Ao estudar diferentes linguagens de programação, fui atraído pela família Lisp devido à sua simplicidade e poder. Lisp, criado por John McCarthy em 1958, é conhecido pela notação de código como listas de dados e pela capacidade de manipular código como uma estrutura de dados. + Table of Contents Introdução Descobrindo Clojure: Uma Ponte entre Lisp e Java Manutenibilidade Transparência referencial Problemas de Reutilização Pattern Null Object Pattern Singleton Pattern Observer Recomendações Introdução Ao estudar diferentes linguagens de programação, fui atraído pela família Lisp devido à sua simplicidade e poder. Lisp, criado por John McCarthy em 1958, é conhecido pela notação de código como listas de dados e pela capacidade de manipular código como uma estrutura de dados. diff --git a/tags/engineering/index.xml b/tags/engineering/index.xml index 8f938ec..ae32047 100644 --- a/tags/engineering/index.xml +++ b/tags/engineering/index.xml @@ -14,7 +14,7 @@ https://scovl.github.io/2024/07/18/oop/ Thu, 18 Jul 2024 19:00:00 +0000 https://scovl.github.io/2024/07/18/oop/ - Table of Contents Introdução Descobrindo Clojure: Uma Ponte entre Lisp e Java Manutenibilidade Transparência referencial Problemas de Reutilização Pattern Null Object Pattern Singleton Pattern Observer Introdução Ao estudar diferentes linguagens de programação, fui atraído pela família Lisp devido à sua simplicidade e poder. Lisp, criado por John McCarthy em 1958, é conhecido pela notação de código como listas de dados e pela capacidade de manipular código como uma estrutura de dados. + Table of Contents Introdução Descobrindo Clojure: Uma Ponte entre Lisp e Java Manutenibilidade Transparência referencial Problemas de Reutilização Pattern Null Object Pattern Singleton Pattern Observer Recomendações Introdução Ao estudar diferentes linguagens de programação, fui atraído pela família Lisp devido à sua simplicidade e poder. Lisp, criado por John McCarthy em 1958, é conhecido pela notação de código como listas de dados e pela capacidade de manipular código como uma estrutura de dados. diff --git a/tags/oop/index.xml b/tags/oop/index.xml index 99f2873..1864931 100644 --- a/tags/oop/index.xml +++ b/tags/oop/index.xml @@ -14,7 +14,7 @@ https://scovl.github.io/2024/07/18/oop/ Thu, 18 Jul 2024 19:00:00 +0000 https://scovl.github.io/2024/07/18/oop/ - Table of Contents Introdução Descobrindo Clojure: Uma Ponte entre Lisp e Java Manutenibilidade Transparência referencial Problemas de Reutilização Pattern Null Object Pattern Singleton Pattern Observer Introdução Ao estudar diferentes linguagens de programação, fui atraído pela família Lisp devido à sua simplicidade e poder. Lisp, criado por John McCarthy em 1958, é conhecido pela notação de código como listas de dados e pela capacidade de manipular código como uma estrutura de dados. + Table of Contents Introdução Descobrindo Clojure: Uma Ponte entre Lisp e Java Manutenibilidade Transparência referencial Problemas de Reutilização Pattern Null Object Pattern Singleton Pattern Observer Recomendações Introdução Ao estudar diferentes linguagens de programação, fui atraído pela família Lisp devido à sua simplicidade e poder. Lisp, criado por John McCarthy em 1958, é conhecido pela notação de código como listas de dados e pela capacidade de manipular código como uma estrutura de dados. diff --git a/tags/software/index.xml b/tags/software/index.xml index feb6eb1..c4e172d 100644 --- a/tags/software/index.xml +++ b/tags/software/index.xml @@ -14,7 +14,7 @@ https://scovl.github.io/2024/07/18/oop/ Thu, 18 Jul 2024 19:00:00 +0000 https://scovl.github.io/2024/07/18/oop/ - Table of Contents Introdução Descobrindo Clojure: Uma Ponte entre Lisp e Java Manutenibilidade Transparência referencial Problemas de Reutilização Pattern Null Object Pattern Singleton Pattern Observer Introdução Ao estudar diferentes linguagens de programação, fui atraído pela família Lisp devido à sua simplicidade e poder. Lisp, criado por John McCarthy em 1958, é conhecido pela notação de código como listas de dados e pela capacidade de manipular código como uma estrutura de dados. + Table of Contents Introdução Descobrindo Clojure: Uma Ponte entre Lisp e Java Manutenibilidade Transparência referencial Problemas de Reutilização Pattern Null Object Pattern Singleton Pattern Observer Recomendações Introdução Ao estudar diferentes linguagens de programação, fui atraído pela família Lisp devido à sua simplicidade e poder. Lisp, criado por John McCarthy em 1958, é conhecido pela notação de código como listas de dados e pela capacidade de manipular código como uma estrutura de dados.