¿El fin del programador? La profecía que no se cumplió, y lo que nadie en la industria quiere reconocer

Imagen
En esta entrada del blog, quiero iniciar resaltando que en alguna ocasión hubo un momento, no hace mucho, en que en foros tecnológicos, conferencias de Silicon Valley y titulares de revistas especializadas se afirmaba con absoluta convicción que el programador, ese ser que pasa horas frente a una pantalla traduciendo ideas en líneas de código, ya estaba a punto de convertirse en una pieza de museo, que estaba por desaparecer. La inteligencia artificial, decían, lo volvería obsoleto. El juicio era inapelable. El plazo, inminente, pero a sorpresa, han pasado los años, y la historia, como suele ocurrir con las profecías tecnológicas, resultó ser bastante más interesante y matizada que el apocalipsis que se anunciaba. Las voces más influyentes del mundo tecnológico se sumaron a la novedad con entusiasmo, por ejemplo Jensen Huang, CEO de NVIDIA, declaró en 2023 y 2024 que "todos somos programadores ahora: solo hay que decirle algo a la computadora". Su argumento era que el lenguaj...

Como Definir un Metamodelo con Eclipse Modeling Framework (EMF). Domain Specific Language (DSL)




En esta entrada les explico lo que es un Metamodelo (MM) y un Domain Specific Language (DSL) dentro del entorno del Model-Driven Development (MDD).

Un DSL se puede definir como una herramienta específica para una tarea específica. Es un lenguaje que maneja los conceptos propios de un dominio. Esto es, por ejemplo, en el ámbito de la construcción, podríamos decir que los conceptos, palabras, terminología que se emplea en dicho dominio son especificados en diagrama de clases en dónde cada clase corresponde con un concepto de ese dominio. 

Un metamodelo, por su parte, es la implementación de un DSL dentro del Eclipse Modeling Project, a través del Eclipse Modeling Framework, básicamente:
  • Permite construir un lenguaje de dominio especifico
  • Transformar modelos (M2M y M2T)
  • Generar código (M2T)
  • Interoperabilidad de datos
  • Generar documentación
Para poder construir un metamodelo, es necesario conocer ese conjunto de conceptos del dominio a modelar (llamadas metaclases) y sus relaciones (meta-asociaciones). Para esto, debemos saber ¿Cuál es el tipo de problema que queremos modelar?  y ¿Quiénes serán los usuarios del lenguaje? 

En el siguiente video muestro, paso a paso, como construir un MM con el entorno Eclipse a través del Eclipse Modeling Framework (EMF). El video esta en mi canal de YouTube.



Esto es la antesala para la generación de código fuente a partir de modelos. 

Es cuánto. 


Comentarios

Mi foto
José Alfonso Aguilar
Mazatlán, Sinaloa, Mexico
Me gusta aprender y escribir sobre tecnología y desarrollo. Soy Ingeniero en Sistemas Computacionales, trabajo como Profesor-Investigador en la Facultad de Informática Mazatlán, de la Universidad Autónoma de Sinaloa. México. Me gusta combinar la docencia-investigación con el giro profesional del desarrollo de software y gestión de proyectos de innovación.

Entradas más populares de este blog

Todo lo que debes saber sobre el Model-View Controller (MVC) para Aplicaciones Web

Conceptos Básicos de la Arquitectura REST (REpresentational State Transfer)

Stateful vs Stateless Design - ¿Cuál es la diferencia?