Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Clojure: mais do que um Lisp

Clojure: mais do que um Lisp

João Lanjoni

November 29, 2023
Tweet

More Decks by João Lanjoni

Other Decks in Programming

Transcript

  1. Prazer, Guto vulgo João Augusto Lissoni Lanjoni Técnico em Informática

    e Futuro Bacharel em Sistemas de Informação pelo IFSP, Engenheiro de Software na Nimble, Entusiasta de Open-Source, Amante de UNIX, Membro da He4rt Developers, Embaixador brasileiro da linguagem de programação Crystal e Amante de Lisp e Clojure @lanjoni @gutolanjoni @gutolanjoni /lanjoni Para mais infos acesse: https://lanjoni.dev
  2. O que é Clojure? • Surgiu em 2007 • Programação

    funcional • Imutabilidade de dados • Projetada para a JVM • Interoperabilidade nativa • Comunidade crescente • Sintaxe de Lisp :)
  3. Mas, por qual motivo? O que o levou a criar

    uma nova linguagem de programação?
  4. Problemas com Java… Não só Java, mas, C# também! •

    Rich buscava implementar conceitos de estruturas de dados imutáveis • Antes trabalhou no dotLisp, um projeto Lisp para o .NET • Acabou deixando de lado e focando no projeto Clojure
  5. Problemas com Java… • Linguagem simples e pronta pra produção,

    estável e confiável • Curva de aprendizado diminuída • Apoio e desenvolvimento com a Cognitec
  6. Problemas com Java… • Clojure cresceu e startups surgiram com

    seu desenvolvimento acelerado e estável • Datomic surgiu • Nubank monta seu core em Clojure e futuramente compra Cognitec
  7. Problemas com Java… • Clojure cresceu e startups surgiram com

    seu desenvolvimento acelerado e estável • Datomic surgiu • Nubank monta seu core em Clojure e futuramente compra Cognitec Outra apresentação
  8. Ecossistema • Roda na JVM = interoperabilidade • Pode transportar

    JARs • LSP de ponta (clojure-lsp) • Format ativo (clojure-fmt) • Compatível com praticamente todos os editores de código com LSP ativo
  9. Ecossistema • Diversos projetos open-source • Bibliotecas diversas • Comunidade

    grande • Sem necessidade de framework, simplificação é o caminho (use libs)