Caderno de Anotações - Programação
Table of Contents
1 INTRO
Esta é a minha tentativba de construir um "caderno" em Org Mode!
Pretendo anotar de maneira mais sistemática o que ando aprendendo com as diversas linguagens, e assim ficar menos perdido acerca delas.
2 Sketchy LISP
- Fala de Scheme, não de (Common) LISP
- Scheme:
- Linguagem pequena
- Sintaxe simples
- Semântica clara
- Notação Prefixa
Formato:
;; Formato:(procedimento argumento1 argumento2 ... )(+ 5 7 9) ;=> 5+7+9 (= 21)(f x) ;=> f(x)(* (+ a b) (+ c d)) ;=> (a+b)*(c+d)- Evaluação Estrita
2.1 Programação Funcional
- Calcular o fatorial!
Código em C:
int factorial (int n)return n==0? 1: n * factorial(n-1);}Código em Scheme:
(define (factorial n)(cond ((zero? n) 1)(#t (* n (factorial (- n 1))))))
3 Practical Common LISP
Autor: Peter Seibel
3.1 Capítulo 1
- Permite fazer mais e mais rápido!
- Afirmação arrojada!
- Tem que aprender para confirmar
- História do pai lispeiro
- Contato do pai com computadores: ASM
- programa de coleta de dados
- tese de mestrado em Física
- Depois, passou a trabalhar em Farmácia
- Empresa precisava de um programa
- Modelagem do processo de produção
- Time original usou FORTRAN
- 50% do dinheiro, e nada para mostrar
- Anos 80, boom da IA
- e do LISP!
- Pai foi até Carnegie Melon University
- "Esse tal de LISP é bom?"
- "Veja por você mesmo!"
- "É, é bom mesmo!"
- Pai resolve usar LISP (e o resto da grana)
- Produto entregue em 1 ano!
- Contato do pai com computadores: ASM