Pular para o conteúdo principal

Estrutura e Interpretação de Programas de Computador

Adaptação em JavaScript

SICP

Bem-vindo à tradução em português brasileiro de Structure and Interpretation of Computer Programs — JavaScript Adaptation (SICP.js).

📚 Sobre o Livro

O SICP é um dos livros mais influentes sobre ciência da computação e programação, originalmente escrito por Harold Abelson e Gerald Jay Sussman. Esta adaptação em JavaScript, criada por Martin Henz e Tobias Wrigstad, torna os conceitos clássicos acessíveis usando uma linguagem moderna e amplamente utilizada.

🎯 O Que Você Vai Aprender

  • Abstrações com Funções: Como construir programas complexos a partir de componentes simples
  • Estruturas de Dados: Técnicas para organizar e manipular informações
  • Modularidade e Objetos: Estratégias para programas grandes e sistemas
  • Programação Metalinguística: Como criar e interpretar linguagens de programação

🚀 Como Usar Este Site

Leia o Conteúdo

Navegue pelos capítulos usando a barra lateral. Cada seção contém explicações detalhadas, exemplos e exercícios.

Execute o Código

Os exemplos de código neste site são interativos! Você pode executá-los diretamente no navegador.

Experimente modificar o código abaixo e veja o resultado em tempo real:

Editor em tempo real
function Square() {
  const [number, setNumber] = React.useState(5);

  function square(x) {
    return x * x;
  }

  return (
    <div style={{ padding: '20px', fontFamily: 'monospace' }}>
      <div style={{ marginBottom: '10px' }}>
        <label>
          Número:
          <input
            type="number"
            value={number}
            onChange={(e) => setNumber(Number(e.target.value))}
            style={{ marginLeft: '10px', padding: '5px' }}
          />
        </label>
      </div>
      <div style={{
        padding: '10px',
        background: '#f0f0f0',
        borderRadius: '5px',
        color: '#000'
      }}>
        square({number}) = {square(number)}
      </div>
    </div>
  );
}
Resultado
Loading...

Também mantemos o CodePlayground tradicional para exemplos que usam console.log:

Carregando playground de código...

Pratique com Exercícios

Ao longo do livro, você encontrará exercícios para testar seu entendimento. Tente resolvê-los antes de ver as soluções!

🤝 Como Contribuir

Este é um projeto colaborativo da comunidade brasileira de programação. Você pode contribuir:

  • Traduzindo seções que ainda não foram traduzidas
  • Revisando traduções existentes
  • Reportando erros ou sugerindo melhorias
  • Compartilhando com outros estudantes

Veja o Guia de Tradução e Como Contribuir para mais detalhes.

📖 Estrutura do Livro

  • Prefácios: Contexto histórico e filosófico do livro
  • Capítulo 1: Construindo Abstrações com Funções
  • Capítulo 2: Construindo Abstrações com Dados (em andamento)
  • Capítulo 3: Modularidade, Objetos e Estado (em andamento)
  • Capítulo 4: Programação Metalinguística (em andamento)
  • Capítulo 5: Computação com Máquinas de Registros (em andamento)

🌟 Agradecimentos

  • Harold Abelson e Gerald Jay Sussman: Autores do SICP original
  • Martin Henz e Tobias Wrigstad: Adaptação para JavaScript
  • Source Academy: Plataforma interativa original
  • Comunidade de tradutores: Todos que contribuem para tornar este conhecimento acessível em português

Pronto para começar? Comece pelos Prefácios ou vá direto para o Capítulo 1!