Padre (abreviatura de "Perl Application Development and Refactoring Environment") es una plataforma de desarrollo de software multilenguaje que comprende un IDE y un sistema de complementos para extenderlo. Está escrito principalmente en Perl y se utiliza para desarrollar aplicaciones en este lenguaje . [2]
Padre está escrito en Perl 5 pero puede ser extendido por cualquier lenguaje que se ejecute sobre la máquina virtual Parrot , como Raku , a través de su sistema de plug-ins y su integración con Parrot. El desarrollo comenzó oficialmente en junio de 2008, pero Padre ha reutilizado componentes que han estado disponibles en CPAN , y la última versión de Padre siempre está disponible en CPAN. Lo más importante es que utiliza los enlaces Perl de wxWidgets para el sistema de ventanas y PPI para analizar y resaltar Perl correctamente y permitir la refactorización. Las principales ventajas de Padre para los desarrolladores de Perl son que está disponible un acceso completo y fácil al código fuente de su editor, y un conjunto único de características de "intuición Perl" que permiten al IDE comprender detalles sobre la estructura y el contenido del proyecto sin necesidad de que el usuario se lo diga.
Padre utiliza complementos para proporcionar toda su funcionalidad sobre el sistema de ejecución. Toda la funcionalidad, excepto la compatibilidad básica con Perl 5, se implementa como complementos. Padre tiene complementos para la edición de HTML y XML .
Este mecanismo de complemento es un marco liviano. Además de permitir que Padre se extienda utilizando otros lenguajes de programación , el marco de complementos le permite trabajar con aplicaciones de red como Telnet y sistemas de administración de bases de datos . La arquitectura del complemento admite la escritura de cualquier extensión deseada para el entorno, como para administración de configuración , compatibilidad con sistemas de control de versiones ( Subversion , Git ), etc.
Los widgets de Padre están implementados por wxWidgets , un kit de herramientas multiplataforma de código abierto escrito en C++ .