• Herramientas para el Control de Versiones • Desarrollo Basado en Pruebas • Paradigma de Programación Funcional • Paradigma de Programación Orientada a Objetos • Meta-Programación