| title | Perguntas Frequentes (FAQ) |
|---|---|
| description | Respostas para dúvidas comuns sobre o projeto SICP.js PT-BR |
SICP (Structure and Interpretation of Computer Programs) é um dos livros mais influentes sobre ciência da computação e programação. Originalmente escrito por Harold Abelson e Gerald Jay Sussman, é usado no MIT há décadas para ensinar fundamentos de programação.
É uma adaptação do SICP original (que usava Scheme/Lisp) para JavaScript. A adaptação foi feita pela equipe do Source Academy da National University of Singapore.
Para tornar este conhecimento fundamental acessível à comunidade brasileira e lusófona. Muitos desenvolvedores têm dificuldade com textos técnicos em inglês, e uma tradução de qualidade pode democratizar o acesso a este conteúdo excepcional.
Este é um projeto comunitário não-oficial de tradução. O SICP.js original está disponível em sourceacademy.org/sicpjs.
O conteúdo está licenciado sob CC BY-SA 4.0, permitindo uso, adaptação e redistribuição com atribuição adequada.
Não! Existem várias formas de contribuir:
- Tradução: Conhecimento de português e inglês
- Revisão: Leitura atenta e conhecimento da língua portuguesa
- Reportar erros: Apenas leia e reporte problemas encontrados
- Melhorias técnicas: Para quem conhece Docusaurus, GitHub Actions, etc.
- Leia o Guia de Contribuição
- Veja as issues abertas
- Escolha uma seção para traduzir ou revisar
- Faça um fork do repositório
- Envie seu Pull Request
Sim! Você pode:
- Abrir uma issue reportando erros
- Participar das discussões
- Enviar sugestões por email ou comentários
Se quiser aprender Git, temos um guia básico no CONTRIBUTING.md.
- Verifique as issues com label "tradução"
- Veja o status da tradução:
make translation-status - Escolha uma seção não traduzida
- Comente na issue que vai trabalhar nela (evita duplicação)
Geralmente entre 3-7 dias. PRs menores tendem a ser revisados mais rapidamente.
Para contribuir com tradução:
- Git - controle de versão
- Node.js ≥18 - para rodar o site localmente
- Editor de texto - VS Code, Sublime, Vim, qualquer um
Para instalar tudo:
make install# Instalar dependências
make install
# Iniciar servidor de desenvolvimento
make startO site estará disponível em http://localhost:3000
Um arquivo com comandos automatizados para facilitar tarefas comuns:
make help # Lista todos os comandos
make lint # Verifica formatação
make spell-check # Verifica ortografia
make link-check # Verifica links
make check # Roda todas as verificações
make pr # Workflow completo para criar PRO CI executa 3 verificações:
-
Markdown Lint - formatação incorreta
- Execute
make lintlocalmente - Veja o erro e corrija
- Ou rode
make formatpara auto-fix
- Execute
-
Spell Check - erro de ortografia
- Execute
make spell-checklocalmente - Se for termo técnico correto, adicione a
.github/wordlist.txt - Rode
.github/reorder-wordlist.shpara ordenar
- Execute
-
Link Check - link quebrado
- Execute
make link-checklocalmente - Corrija o link ou remova se obsoleto
- Execute
Uma convenção para mensagens de commit que facilita entender o histórico:
✨ feat: adicionar capítulo 3
🐛 fix: corrigir link quebrado
📝 docs: atualizar guia de traduçãoO comando make pr automatiza isso para você.
Sim! O projeto funciona perfeitamente no GitHub Codespaces. Clique em "Code" → "Codespaces" → "Create codespace on main".
Consulte o Glossário no Guia de Tradução. Para termos não listados:
- Busque traduções estabelecidas na comunidade PT-BR
- Prefira termos que já têm uso consagrado
- Se não houver consenso, mantenha o termo em inglês
- Adicione nota explicativa se necessário
Não! Mantenha código em inglês:
- ✅ Correto: "a função
mapaplica..." - ❌ Errado: "a função
mapearaplica..."
- Código: Manter em inglês (nomes de variáveis, funções)
- Comentários no código: Traduzir para português
- Output/console: Traduzir strings que aparecem
- Tente encontrar equivalente em português
- Se não houver, traduza literalmente
- Adicione nota de rodapé explicando o original
- Em casos extremos, mantenha original com explicação
macOS: xcode-select --install
Windows: Use Git Bash ou WSL
Linux: sudo apt-get install build-essential
Este projeto requer Node.js ≥18.0:
# Usando nvm (recomendado)
nvm install 18
nvm use 18
# Ou baixe de nodejs.org# macOS
brew install aspell
# Linux
sudo apt-get install aspell aspell-pt-br
# Windows (WSL)
sudo apt-get install aspell aspell-pt-br- Limpe o cache:
make clear - Reinstale dependências:
rm -rf node_modules && make install - Verifique se porta 3000 está livre
- Tente usar porta diferente:
npm start -- --port 3001
# Adicionar upstream (apenas uma vez)
git remote add upstream https://github.com/ibrahimcesar/estrutura-e-interpretacao-de-programas-de-computador-javascript.git
# Atualizar sempre que necessário
git fetch upstream
git checkout main
git merge upstream/main
git push origin mainmake translation-statusOu veja o badge no README.md.
O SICP tem 5 capítulos principais. É um projeto de longo prazo que depende de contribuições da comunidade. Veja o progresso atual com make translation-status.
Sim! No GitHub:
- Clique em "Watch" no topo do repositório
- Escolha "Custom"
- Selecione os eventos de interesse (Issues, PRs, Releases)
- Issues: github.com/.../issues
- Discussions: github.com/.../discussions
- Email: Veja contatos no CONTRIBUTING.md
- ⭐ Dê uma estrela no repositório
- 📢 Divulgue o projeto nas redes sociais
- 👀 Revise Pull Requests de outros
- 🐛 Reporte bugs e problemas
- 💡 Sugira melhorias
- 📝 Melhore a documentação
Atualmente usamos GitHub Discussions. Se houver demanda, podemos criar:
- Discord server
- Telegram group
- Matrix room
Vote ou sugira em Discussions.
- SICP.js (JavaScript): sourceacademy.org/sicpjs
- SICP original (Scheme): mitpress.mit.edu/sicp
Sim! Há traduções em vários idiomas:
- Russo
- Chinês
- Francês
- Espanhol (Scheme)
Não conhecemos outra tradução PT-BR completa do SICP.js.
- Curso MIT 6.001: Vídeos no YouTube
- Source Academy: Plataforma interativa
- r/lisp e r/scheme: Comunidades Reddit
- Exercism: Prática de Scheme/JavaScript
Visite o repositório oficial: github.com/source-academy/sicp
Abra uma issue ou discussão - ficaremos felizes em ajudar! ✨