Skip to content

Instantly share code, notes, and snippets.

@mvjq
Created November 21, 2017 17:51
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mvjq/74919d771e12b53e4acaabd5f06b096d to your computer and use it in GitHub Desktop.
Save mvjq/74919d771e12b53e4acaabd5f06b096d to your computer and use it in GitHub Desktop.
Lista de indicações para aprender Lisp e Emacs
Lisp é uma família de linguagens, então existe vários 'dialetos', por exemplo:
- Clojure é um Lisp pra JVM (utiliza a JVM como interpretador e inclui baterias) não só na JVM, mas na CLR também (pro lado do windows)
além disso um Lisp cheio de features mais modernos, como agents, channels, actors (ele não define um modelo de concorrência, te dá
varias abstrações e você que escolhe). Compila para javascript via Clojurescript (e assim tem acesso a todo o ambiente node)
- Scheme é um dialeto de Lisp (talvez seja errado chamado de 'lisp mais puro', mas de certa forma é. É simples, pequeno e portátil)
Excelente para aprender a sintaxe e se preocupar com a lógica, o livros mais clássicos em sua maioria estão nesse dialeto.
- Common Lisp é o Scheme on steroids, aqui você tem tudo que uma linguagem prática (scheme é prático, mas ta longe de ser igual CL),
logo bibliotecas, repositorio de modulos, um sistema de objetos (que na real, vc pode reimplementar do jeito que quiser),
suporte quase universal.
- Racket, antigo PLTSCheme, é um Scheme voltado para DSL, excelente pra construir linguagens e talvez para todo o resto (é de
proposíto geral).
[Lisp - Livros]
Clássico:
Os tres abaixo compõem uma série classica:
The little schemer - https://www.amazon.com/Little-Schemer-Daniel-P-Friedman/dp/0262560992/ref=sr_1_1?ie=UTF8&qid=1511285435&sr=8-1&keywords=the+little+schemer
(li e fiz todos exercícios, bem básico e excelente para entender a sintaxe)
The Seasoned Schemer - https://www.amazon.com/Seasoned-Schemer-MIT-Press/dp/026256100X/ref=pd_bxgy_14_img_2?_encoding=UTF8&psc=1&refRID=XK5YG1B1W0Q44NSYCMBK
(mais avançado e lida com tópicos como programação logica, ainda não li mas é tão recomendavel quanto o primeiro)
The reasoned Schemer - https://www.amazon.com/Reasoned-Schemer-MIT-Press/dp/0262562146/ref=pd_sim_14_2?_encoding=UTF8&psc=1&refRID=XK5YG1B1W0Q44NSYCMBK
(mesmo que acima, porém ainda mais profundo, fala de programaço funcional, declarativa, de fluxo etc)
SCIP - https://www.amazon.com/Structure-Interpretation-Computer-Programs-Engineering/dp/0262510871/ref=pd_sim_14_4?_encoding=UTF8&psc=1&refRID=3TSNYCSAMPWRWM0M1NTY
(esse livro é um clássico da ciencia da computação, te ensina a fazer um interpretador. Terminei porém to volta4ndo e terminando os exercicios
é beeeem denso, tem muita matemática que precisa reler pra entender, mas aprende demais pqp)
How to design programs - https://www.amazon.com/How-Design-Programs-Introduction-Programming/dp/0262062186/ref=pd_sim_14_6?_encoding=UTF8&psc=1&refRID=XK5YG1B1W0Q44NSYCMBK
(não li ainda, mais ele ensina os principios da computação como recursão, divisão e conquista etc, em scheme)
Let Over Lambda - https://www.amazon.com/Let-Over-Lambda-Doug-Hoyte/dp/1435712757/ref=pd_sim_14_7?_encoding=UTF8&psc=1&refRID=555D82S1PX1Z7MTNPJR2
é mais atual porém tão bom quantos, ele é beeeeem avançado e trata de informaçôes que os outros livros não falam, como implementar um lisp
performance, informaçes e caracteristicas, é excelente depois de aprender scheme e/ou common lisp pra entender as nuances da bagaça
Em common Lisp:
Land of Lisp - https://www.amazon.com/Land-Lisp-Learn-Program-Game/dp/1593272812/ref=sr_1_1?ie=UTF8&qid=1511285341&sr=8-1&keywords=lisp
(parei na metade, o projeto final é um jogo com tudo que tem direito, beem prático e explicado e por isso, denso)
Pratical Common Lisp https://www.amazon.com/Practical-Common-Lisp-Peter-Seibel/dp/1590592395/ref=sr_1_5?ie=UTF8&qid=1511285341&sr=8-5&keywords=lisp
Já assumi que voc conheça bem Common lisp e é cheio de código e exercicios práticos (na real, os projetos aqui são excelentes e bem especificados)
Em Clojure:
Clojure for the Brave and true -https://www.amazon.com/Clojure-Brave-True-Ultimate-Programmer/dp/1593275919/ref=sr_1_1?ie=UTF8&qid=1511286478&sr=8-1&keywords=clojure
conheci clojure através dessel ivro, beeeeem legal (na mesma pegada do learn you haskell e learn you some erlang, é o que eu mais recomendo pra se atualizar em relaço a clojure)
Clojure Programming - https://www.amazon.com/Clojure-Programming-Practical-Lisp-World-ebook/dp/B007Q4T040/ref=sr_1_2?ie=UTF8&qid=1511286478&sr=8-2&keywords=clojure
t parado na prateleira esperando um tempo pra ler :(, é 2012 e clojure mudou em algusm pontos (porém dificilmente quebrou o que tem no livro, cobre tudo que a linguagem oferece)
Em Racket:
Realm of Racket - https://www.amazon.com/Realm-Racket-Learn-Program-Game/dp/1593274912/ref=sr_1_1?s=books&ie=UTF8&qid=1511286630&sr=1-1&keywords=racket&refinements=p_n_feature_browse-bin%3A2656022011
li por cima e é beeeeeeeeem legal, bem divertido e o projeto final é um jogo (porem nao no tamanho do que e dado no land of lisp)
[Emacs - Livros]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment