Skip to content

Commit

Permalink
fix txt
Browse files Browse the repository at this point in the history
  • Loading branch information
scovl committed Jul 19, 2024
1 parent 100cca4 commit 6dd98ab
Show file tree
Hide file tree
Showing 6 changed files with 53 additions and 7 deletions.
50 changes: 48 additions & 2 deletions 2024/07/18/oop/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ <h1 class="post-title" itemprop="name headline">Java e Clojure</h1>
</p>

<p class="post-reading post-line">
<span>Estimated reading time: 18 min</span>
<span>Estimated reading time: 19 min</span>
</p>

</header>
Expand All @@ -114,14 +114,15 @@ <h1 class="post-title" itemprop="name headline">Java e Clojure</h1>

<h2 id="table-of-contents">Table of Contents</h2>
<ol>
<li><a href="/2024/07/18/oop/#introducao">Introdução</a></li>
<li><a href="/2024/07/18/oop/#introdução">Introdução</a></li>
<li><a href="/2024/07/18/oop/#descobrindo-clojure-uma-ponte-entre-lisp-e-java">Descobrindo Clojure: Uma Ponte entre Lisp e Java</a></li>
<li><a href="/2024/07/18/oop/#manutenibilidade">Manutenibilidade</a></li>
<li><a href="/2024/07/18/oop/#transparência-referencial">Transparência referencial</a></li>
<li><a href="/2024/07/18/oop/#problemas-de-reutilização">Problemas de Reutilização</a></li>
<li><a href="/2024/07/18/oop/#pattern-null-object">Pattern Null Object</a></li>
<li><a href="/2024/07/18/oop/#pattern-singleton">Pattern Singleton</a></li>
<li><a href="/2024/07/18/oop/#pattern-observer">Pattern Observer</a></li>
<li><a href="/2024/07/18/oop/#recomendações">Recomendações</a></li>
</ol>
<h1 id="introdução">Introdução</h1>
<p>Ao estudar diferentes linguagens de programação, fui atraído pela família Lisp devido à sua simplicidade e poder. Lisp, criado por <a href="https://www.britannica.com/biography/John-McCarthy">John McCarthy</a> 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?</p>
Expand Down Expand Up @@ -436,6 +437,51 @@ <h1 id="pattern-observer">Pattern Observer</h1>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<hr>
<h1 id="recomendações">Recomendações</h1>
<p>Se você está interessado em aprofundar seu conhecimento, aqui estão alguns livros que recomendo. São eles:</p>
<ul>
<li><strong><a href="https://www.amazon.com/Clojure-Programming-Chas-Emerick/dp/1449394701">&ldquo;Clojure Programming&rdquo;</a> por Chas Emerick, Brian Carper, e Christophe Grand</strong>
<ul>
<li>Este livro é uma introdução completa ao mundo do Clojure, abordando desde conceitos básicos até tópicos avançados como programação concorrente e interoperabilidade com Java.</li>
</ul>
</li>
<li><strong><a href="https://www.amazon.com/Java-Concurrency-Practice-Brian-Goetz/dp/0321349601">&ldquo;Java Concurrency in Practice&rdquo;</a> por Brian Goetz</strong>
<ul>
<li>Fundamental para entender a gestão de concorrência em Java, este livro oferece diretrizes práticas para escrever programas seguros e com alta performance.</li>
</ul>
</li>
<li><strong><a href="https://www.amazon.com.br/Programming-Clojure-3e-Alex-Miller/dp/1680502468">&ldquo;Programming Clojure&rdquo;</a> por Alex Miller e Stuart Halloway</strong>
<ul>
<li>Adequado para iniciantes e programadores experientes que querem aprender Clojure, o livro detalha a sintaxe, as estruturas de dados e o estilo funcional de programação.</li>
</ul>
</li>
<li><strong><a href="https://www.amazon.com/Effective-Java-Joshua-Bloch/dp/0134685997">&ldquo;Effective Java&rdquo;</a> por Joshua Bloch</strong>
<ul>
<li>Essencial para qualquer desenvolvedor Java, aborda práticas recomendadas acumuladas durante anos de experiência na Sun Microsystems.</li>
</ul>
</li>
<li><strong><a href="https://www.amazon.com/Joy-Clojure-Michael-Fogus/dp/1617291412">&ldquo;The Joy of Clojure&rdquo;</a> por Michael Fogus e Chris Houser</strong>
<ul>
<li>Ideal para quem já tem experiência com Clojure e deseja explorar os aspectos filosóficos e menos pragmáticos da linguagem.</li>
</ul>
</li>
<li><strong><a href="https://www.amazon.com/Java-Performance-Definitive-Scott-Oaks/dp/1449358454">&ldquo;Java Performance: The Definitive Guide&rdquo;</a> por Scott Oaks</strong>
<ul>
<li>Um guia crucial para desenvolvedores que precisam otimizar aplicações Java, focando em ferramentas de monitoramento e técnicas de melhoria de performance.</li>
</ul>
</li>
<li><strong><a href="https://www.amazon.com/Land-Lisp-Learn-Program-Game/dp/1593272812">&ldquo;Land of Lisp: Learn to Program in Lisp, One Game at a Time!&rdquo;</a> por Conrad Barski</strong>
<ul>
<li>Este livro é uma introdução divertida e acessível ao Lisp através do desenvolvimento de jogos. Ele ensina a programar em Lisp e desenvolver seus próprios jogos, o que torna o aprendizado interativo e prazeroso.</li>
</ul>
</li>
<li><strong><a href="https://www.amazon.com/Practical-Common-Peter-Seibel/dp/1590592395">&ldquo;Practical Common Lisp&rdquo;</a> por Peter Seibel</strong>
<ul>
<li>Um guia prático que detalha o uso do Common Lisp na programação do dia a dia, oferecendo uma ótima introdução à linguagem e mostrando como ela pode ser usada para resolver problemas reais.</li>
</ul>
</li>
</ul>

</div>

Expand Down
2 changes: 1 addition & 1 deletion index.xml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
<link>https://scovl.github.io/2024/07/18/oop/</link>
<pubDate>Thu, 18 Jul 2024 19:00:00 +0000</pubDate>
<guid>https://scovl.github.io/2024/07/18/oop/</guid>
<description>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.</description>
<description>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.</description>
</item>
<item>
<title></title>
Expand Down
2 changes: 1 addition & 1 deletion post/index.xml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
<link>https://scovl.github.io/2024/07/18/oop/</link>
<pubDate>Thu, 18 Jul 2024 19:00:00 +0000</pubDate>
<guid>https://scovl.github.io/2024/07/18/oop/</guid>
<description>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.</description>
<description>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.</description>
</item>
</channel>
</rss>
2 changes: 1 addition & 1 deletion tags/engineering/index.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<link>https://scovl.github.io/2024/07/18/oop/</link>
<pubDate>Thu, 18 Jul 2024 19:00:00 +0000</pubDate>
<guid>https://scovl.github.io/2024/07/18/oop/</guid>
<description>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.</description>
<description>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.</description>
</item>
</channel>
</rss>
2 changes: 1 addition & 1 deletion tags/oop/index.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<link>https://scovl.github.io/2024/07/18/oop/</link>
<pubDate>Thu, 18 Jul 2024 19:00:00 +0000</pubDate>
<guid>https://scovl.github.io/2024/07/18/oop/</guid>
<description>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.</description>
<description>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.</description>
</item>
</channel>
</rss>
2 changes: 1 addition & 1 deletion tags/software/index.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<link>https://scovl.github.io/2024/07/18/oop/</link>
<pubDate>Thu, 18 Jul 2024 19:00:00 +0000</pubDate>
<guid>https://scovl.github.io/2024/07/18/oop/</guid>
<description>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.</description>
<description>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.</description>
</item>
</channel>
</rss>

0 comments on commit 6dd98ab

Please sign in to comment.