Uploaded avatar of iHiD

¡Es el julio jurásico!

@iHiD
hace Alrededor de 3 años
Vídeo

Introducción

Hola. Bienvenidos. Espero que estéis todos bien.

Junio ha sido un gran mes en Exercism, con el lanzamiento de Premium y nuestro décimo aniversario. Y espero que os hayáis divertido jugando con Lisp durante el Verano de los Sexps.

Y ahora vamos con el mes 7 de 2023 y nuestro sexto mes temático: el Julio Jurásico.

¿Qué queremos decir con «Jurásico»? Pues no que estos lenguajes estén extintos, aunque hoy en día es poco probable que escribas software nuevo en COBOL. Pero sí que son algunos de los lenguajes más antiguos: algunos tienen más de 60 años. Con ellos se ha escrito una cantidad increíble de software (sobre todo software empresarial). Todos ellos son lenguajes increíblemente exitosos.

Entonces, ¿cuáles son los lenguajes? Pues vamos a ver C, C++, COBOL, Fortran y Visual Basic. En este vídeo no vamos a explorar C y C++, porque ya los tratamos en el Marzo Mecánico, así que échale un vistazo a ese vídeo si te interesan esos lenguajes. ¡Pero dentro de un momento veremos COBOL, Fortran y Visual Basic!

Las insignias

Consigue la insignia completando 5 ejercicios en uno de ellos este mes. Y para la insignia anual, tienes que completar:

  • Bob: trabaja con strings y lógica condicional
  • Allergies: trabaja con strings, números y operaciones bit a bit
  • Reverse String: itera sobre los caracteres de un string
  • High Scores: itera sobre arrays de números
  • Armstrong Numbers: trabaja con números y bucles/iteración

Visión general

Fortran

  • Iniciado por John Backus en IBM en la década de 1950 para desarrollar una alternativa más práctica al lenguaje ensamblador con la que programar su ordenador central IBM 704

  • Diseñado para ser bueno creando aplicaciones científicas y de ingeniería (su nombre es la abreviatura de Formula Translating System)

  • El primer lenguaje de programación de alto nivel (reduce las líneas de código en un factor de aproximadamente 20)

  • También el primer compilador optimizador (los clientes eran reacios a usar un lenguaje de programación de alto nivel a menos que su compilador pudiera generar código con un rendimiento cercano al del lenguaje ensamblador escrito a mano)

  • Lenguaje de tipado estático y fuerte

  • Al principio solo admitía programación imperativa, pero poco después se añadió la programación procedural. Extensiones posteriores añadieron compatibilidad con otros paradigmas, como la programación orientada a objetos y la programación con arrays

  • Estandarizado por primera vez en 1966 con Fortran 66, ¡y actualizado por última vez en 2018!

  • Muy influyente, de Basic a ALGOL, inspiración para muchos lenguajes. Gran parte de la investigación temprana sobre lenguajes de programación tenía como objetivo ayudar a mejorar Fortran

  • Sigue desarrollándose activamente, con nuevas funcionalidades que se van añadiendo, y a la vez mantiene sólidas garantías de retrocompatibilidad (el código antiguo normalmente sigue compilándose y ejecutándose)

  • Paralelismo integrado mediante coarrays, un método seguro y eficiente de expresar paralelismo. Las funciones se pueden marcar como puras, lo que ayuda al compilador a optimizar para la computación en paralelo

  • Gestión segura de la memoria mediante variables asignables, en las que el compilador se encarga de liberar la memoria.

  • Interoperabilidad integrada con C

COBOL

  • Diseñado en 1959 por el consorcio CODASYL (¡patrocinado por el Departamento de Defensa!) en un esfuerzo por reducir los costes de desarrollo de aplicaciones empresariales (su nombre responde a las siglas de Common Business-Oriented Language)

  • Se convirtió en estándar en 1968, con la última revisión de 2014

  • Distintas implementaciones, como IBM COBOL, GnuCOBOL (que compila a C) y Micro Focus™ Visual COBOL, que se ejecuta tanto en la JVM como en el entorno de ejecución .NET

  • Lenguaje de tipado estático

  • Multiparadigma, admite programación imperativa y orientada a objetos

  • Sintaxis verbosa (muchas palabras clave) pero muy legible para las personas. Favorece la legibilidad y el mantenimiento

  • Buena retrocompatibilidad, con una especificación estable. Probado a conciencia

  • Buen rendimiento (se usa en el sector financiero)

Visual Basic

  • Desarrollado por Microsoft como sucesor de Visual Basic y que se ejecuta en el entorno de ejecución .NET (el sufijo .NET se eliminó después de Visual Basic 2003)

  • La primera versión se publicó en 2002 y el lenguaje se marcó como «estable» en 2023. Esto significa que no se añadirá nueva sintaxis al lenguaje, pero sigue siendo un lenguaje con soporte

  • Comparte en gran medida la sintaxis con Visual Basic, pero se hicieron algunos cambios

  • Lenguaje de tipado estático que admite tipado fuerte y débil

  • Lenguaje multiparadigma: principalmente orientado a objetos, pero también programación imperativa y dirigida por eventos

  • Fácil de aprender (Visual Basic se diseñó para que fuera fácil de aprender)

  • Excelente soporte para la programación orientada a objetos

  • Se ejecuta en el entorno de ejecución .NET, sobradamente probado, con acceso a todas las bibliotecas .NET

  • Despliegue sencillo con ClickOnce

Casos de uso

Fortran

Se usa en escenarios de computación de alto rendimiento (superordenadores), como la predicción meteorológica, la astronomía y la ingeniería estructural. También se usa en software de CAD y muchas aplicaciones se basan en FORTRAN; por ejemplo, varios módulos de NumPy usan bibliotecas de FORTRAN 77

COBOL

Se usa mucho en el sector financiero, y muchos sistemas financieros siguen funcionando en gran parte con software COBOL (se estima que alrededor del 80 % de las transacciones financieras funcionan con COBOL), aunque hoy en día se trata sobre todo de mantenimiento. También se usa en muchas aplicaciones empresariales, e incluso en un almacén clave/valor que se usa en Walmart.

Visual Basic

Se usa para interfaces gráficas (por ejemplo, interfaces para bases de datos) y para sitios web generados en el servidor. Entre las empresas que lo usan están Boeing, Wells Fargo y General Electric

¿En qué se diferencian desde el punto de vista de la programación?

Fortran

Al principio solo admitía programación imperativa, pero poco después se añadió la programación procedural. Extensiones posteriores añadieron compatibilidad con otros paradigmas, como la programación orientada a objetos y la programación con arrays

COBOL

Multiparadigma, admite programación imperativa y orientada a objetos

Visual Basic

Lenguaje multiparadigma: principalmente orientado a objetos, pero también programación imperativa y dirigida por eventos

Características destacadas

Fortran

  • Rendimiento. El lenguaje Fortran y sus tipos de datos/estructuras de datos están diseñados para ser eficientes y tener un gran rendimiento. De ahí que se use en superordenadores
  • De forma predeterminada, admite muchas funciones matemáticas
  • La programación con arrays es una forma muy elegante de aplicar operaciones a arrays y a secciones de arrays sin tener que hacer ninguna iteración manual ni especificar los límites del array

COBOL

  • La aritmética de coma fija no tiene errores de redondeo, a diferencia de los números de coma flotante. Esto la hace ideal para las finanzas
  • Excelente para leer y escribir en ficheros (registros)
  • Soporte integrado de COBOL para generar informes (otra razón de su popularidad en las aplicaciones empresariales)

Visual Basic

  • Excelente para crear aplicaciones con interfaz gráfica usando Windows Forms. Editor WYSIWYG con arrastrar y soltar
  • Gran soporte del IDE, con refactorizaciones, autocompletado de código y mucho más

¿Cuál probar?

  • Si te interesa la computación científica o el alto rendimiento, Fortran es una elección excelente
  • Si quieres hacerte una idea de cómo se construían antes las aplicaciones empresariales, COBOL es genial
  • Si te interesa crear aplicaciones con interfaz gráfica o ya estás en la plataforma .NET, Visual Basic funciona muy bien
  • Si te interesa la historia de la programación, COBOL y Fortran son dos buenos tracks que explorar
01 de julio de 2023 · ¿Te ha resultado útil?