Llega la nueva versión de Free Pascal 3.2.0 y estos son sus cambios
Después de cinco años desde la formación de la versión 3.0 y del anuncio del trabajo en una nueva versión en septiembre de 2019, por fin llega la nueva versión del compilador multiplataforma Free Pascal 3.2.0. La nueva versión agrega una gran porción de innovaciones y cambios en la implementación del lenguaje Pascal, con el objetivo de mejorar la compatibilidad con Delphi.
Además de que también se incluyen las correcciones de errores habituales y el soporte para nuevas arquitecturas y sistemas, como lo son AArch64, Linux, ppc64le, Android x86_64 e incluso Windows de 16 bits.
Sobre Free Pascal
Para los que no conocen, Free Pascal deben saber que este es un compilador profesional de Pascal de 32, 64 y 16 bits.
Fue desarrollado en código abierto durante más de veintisiete años por una gran comunidad de desarrolladores voluntarios muy activos, es conocido por su alta estabilidad, su velocidad de compilación y un código de producto muy eficiente.
Puede apuntar a muchas arquitecturas de procesador: Intel x86 (incluido 8086), AMD64, x86-64, PowerPC, PowerPC64, SPARC, ARM, AArch64, MIPS y la máquina virtual Java.
Los sistemas operativos compatibles incluyen Linux, FreeBSD, Haiku, Mac OS X, iOS, iPhoneSimulator, Darwin, DOS (16 y 32 bits), Windows 32, Windows 64, WinCE, OS/2, MorphOS, Nintendo GBA, Nintendo DS, Nintendo Wii, Android, AIX y AROS. Además, el soporte para la arquitectura Motorola 68k está disponible en versiones de desarrollo.
Además de que también es compatible con Borland Pascal 7, Delphi, Think Pascal y Metrowerks Pascal. Paralelamente, se está desarrollando el IDE de Lazarus, basado en el compilador Free Pascal y realizando tareas similares a Delphi.
¿Qué hay de nuevo en Free Pascal 3.2?
Como el desarrollo de la rama del compilador 3.0 abarcó cinco años, esta nueva versión es muy recomendable para futuros desarrollos. Es muy probable que los EDI basados en este compilador (Lazarus, Code Typhon), ofrezcan rápidamente su integración.
Y es que de las novedades mas interesantes de este nuevo lanzamiento son muchas, como por ejemplo la adición de la capacidad de inicializar matrices dinámicas utilizando la sintaxis «[…]». Así como también el nuevo soporte para funciones genéricas, procedimientos y métodos que no están vinculados a los tipos de argumento.
Ha aparecido la compatibilidad con espacios de nombres de módulos estándar (predeterminados). Se agregó soporte para bloques C que se asemejan a métodos anónimos en Delphi «.
También se destaca la implementación extendida de arreglos dinámicos, se agregó la operación Insert() para agregar matrices y elementos a las matrices dinámicas existentes, así como Delete() para eliminar rangos y Concat() para combinar matrices.
Para los tipos de registro, se implementan los operadores Initialize, Finalize, Copy y AddRef.
Además, no hay que olvidar que también se incluyó el soporte para las nuevas plataformas AArch64 (ARM64), Linux, ppc64le, Android x86_64 e i8086-win16 que se agregan al compilador.
También teniendo en cuenta los espacios de nombres predeterminados fueron añadidas las siguientes mejoras:
- Numerosas mejoras en relación con las matrices dinámicas (inserción, eliminación, concatenación, operador de suma, constantes, inicialización de variables apenas se declaran, constructores).
- Extensión de las directivas $ Push y $ Pop para $ MinEnumSize , $ PackSet y $ PackRecords.
- Sección threadvar de clase en declaraciones de clase y registro.
- Mejora y extensión de tipos genéricos, incluso para rutinas fuera de clase.
- Nuevos operadores para gestionar tipos de registros ( Initialize , Copy , AddRef , Finalize ).
- Extensión RTTI y asistencia de tipo para interfaces de objetos.
- Nuevas unidades: rtl-generics (genéricos), rtti (¡de forma experimental!), ProcessUnicode (versión Unicode de TProcess).
- La clase TRegistry es totalmente compatible con Unicode.
- El paquete CHM ha sido reescrito para eliminar errores y mejorar el rendimiento.
Finalmente, si estás interesado en conocer más al respecto sobre este nuevo lanzamiento, puedes consultar la lista completa de cambios en el siguiente enlace.
Mientras que para los cambios que afectan a los programas antiguos, puedes consultarlos desde el siguiente enlace.
Descarga
Para los que estén interesados en descargar la nueva versión de este compilador, pueden hacerlo dirigiéndose al siguiente enlace en donde podrán encontrar las diferentes versiones del compilador para cada plataforma soportada.