Durante los últimos años, los lenguajes de alto nivel han dominado la programación del desarrollo de software, como Python, Java, C, C++ o JavaScript. Estos lenguajes, cada uno con su propósito y capacidad de resolver determinados problemas, han permitido la creación de prácticamente todo el espacio digital como lo conocemos hoy. Sin embargo, a medida que la tecnología avanza, el código de los sistemas de software se vuelve cada vez más grande y complejo, lo que actúa en detrimento de la productividad y la eficiencia en la programación. En este contexto, surge la necesidad de simplificarlos y en el futuro veremos un mayor uso de los «pequeños lenguajes», más conocidos como DSL o lenguajes específicos de dominio, diseñados para resolver problemas muy específicos y que ayudarán a facilitar el mantenimiento.
Actualmente, la comunidad de ingenieros de software se enfrenta a un desafío que crece debido al aumento del tamaño y complejidad del código, por un lado, y por otro, el alto crecimiento en el número de aplicaciones existentes, y todo ello mientras la capacidad para comprender las grandes bases de código sigue siendo, en gran medida, limitada.
En “The Emergence of Big Code”, una encuesta realizada por Sourcegraph, la mayoría de los programadores estimaron que su base de código había crecido entre 100 y 500 veces en los últimos diez años, y que el tamaño de su base de código causaba ruptura de código por cuestiones como aumento de la deuda técnica, falta de comprensión de las dependencias, dificultad a la hora de realizar cambios (mantenimiento o correcciones) e incluso dificultad creciente a la hora de incorporar nuevos empleados que pudieran adquirir competencias para mantener dicho código en tiempo razonable.
Pero, ¿de dónde procede todo este código? Tradicionalmente y, sobre todo si pensamos en aplicaciones monolíticas, la forma en la que se ha construido el software se ha basado en “apilar” nuevas funciones a un programa sobre lo que ya se tiene, de forma parecida a como se construye una pirámide, añadiendo más líneas de código. En este sentido, muchas empresas, especialmente las grandes en las que están presentes este tipo de situaciones, tienen ante sí un reto al que han de prestar atención.
Una de las posibles soluciones a plantear, pasaría por definir un sistema capaz de simplificar el código aplicando un DSL a través de dos aproximaciones posibles:
DSL Interno, para el que se utilizaría el mismo lenguaje de programación de la aplicación aplicando características propias de ese lenguaje y técnicas como el encadenamiento de métodos y la sobrecarga de operadores.
DSL Externo, a través de la creación o uso de un lenguaje independiente y específico para un dominio particular, contando con su propia sintaxis y reglas (como por ejemplo aquellos que construyen SQL para consultas a BBDD o HTML para estructura de páginas).
Cada vez resulta más importante el abordar, y con premura, el desafío que supone el “Big Code” y encontrar nuevos enfoques orientados a la resolución de problemas y que además permitan limitar o incluso reducir este volumen de código, especialmente en un contexto en el que grandes y pequeñas empresas necesitan ser más eficientes en el proceso de desarrollo y mantenimiento de sus productos.
Nunca es un proceso sencillo y, en este sentido, los pequeños lenguajes se erigen como una de las opciones para dar con la solución al problema del “Big Code”, y en los próximos años ganarán relevancia, pues son soluciones específicas para problemáticas concretas con una menor curva de adopción y aprendizaje.
Firmado:Íñigo Chaso Rico, BDM para la Industrialización del SDLC en knowmad mood
✔ Velocidad ultrarrápida: Esta tarjeta micro SD 256GB Clase 10 U3 utiliza tecnología UHS-I para aumentar hasta 100MB/S velocidad de escritura, lo que ofrece una transferencia rápida de fotos, videos, documentos y otros datos. ✔ Grabación de video 4K:... read more
Disco duroportátil compacto y ligero, ideal para viajar. Transfiera archivos rápidamente con sólo arrastrar y soltar. Este disco duro externo para ordenadoresWindows incluye un cable USB plug-and-play (reformateado para Mac). Espacio de almacenamie... read more
Impresora inteligente: gracias a la app Canon PRINT podrás controlar las funciones de la impresora e imprimir directamente con AirPrint (iOS) y Mopria (Android). Configuración sencilla y diseño inteligente: configura la impresora mediante la app para... read more
Adaptador HDMI a TV iPhone y iPad [Certifica parado Apple MFi] Cable Lightning Plug and Play Compatible con iPhone 14/13/SE/12/11/XS/XR/X/8/7/iPad y Todos los Sistemas iOS Por solo 16,99 €
【Actualice el adaptador HDMI para iPhone y iPad】 El adaptador Lightning a HDMI admite la duplicación del contenido en la pantalla de su iPhone o iPad a un televisor, monitor, proyector u otra pantalla compatible equipados con HDMI. La resolución es d... read more
Samsung MZ-V8P2T0BW unidad de estado sólido M.2 2000 GB PCI Express 4.0 V-NAND MLC NVMe Velocidad de lectura secuencial de hasta 7000 MB / s; el rendimiento puede variar según el sistema de hardware y la configuración Interfaz NVMe (Pcle Gen 4.0 x 4)... read more
108 impresiones de tamaño tarjeta postal estándar Este tamaño de imprecion de 100 x 148 mm, 4 x 6" se usa habitualmente en albumes y marcos de fotos Diseño vérsatil
HP 305 6ZD17AE, Negro y Tricolor, Cartuchos de Tinta Originales, Pack de 2, Compatible con impresoras de inyección de tinta HP Deskjet 2710, 2720, 2721; HP Deskjet Plus 4110, 4120, 4130; HP Envy 6020 Por solo 25,99 € (13,00 € / unidad)20,99 € (10,50 € / unidad)
Cartuchos Originales HP 305; pack de 2; compatible con impresoras de inyección de tinta HP Deskjet 2300, 2700/2700e series; HP Deskjet Plus 4100, 4100e series; HP Envy 6010/6010e, 6020/6020e, 6030/6030e, 6050/6050e series; HP Envy Pro 6400/6400e seri... read more
Compatible Con Xiaomi Redmi Pad SE 2023 (11 Pulgadas), NO apto para Xiaomi L83 Redmi Pad Tablet (10.61 Pulgadas); Comprueba dos veces tu modelo exacto antes de comprar de la siguiente manera: Ajustes--Información de latableta--Número del modelo. [Ant... read more
【nueva generación más ligera y delgada】versión actualizada de mini ordenador de sobremesa teclast n20, más delgada y ligera, 11.7cm(l) ×11.7cm(w) ×4.1cm(h), peso 412 gramos, tamaño de la palma. coloque fácilmente un ordenador de escritorio en una est... read more
Cecotec Televisor LED 32" Smart TV LED a3 Series ALH30032s. Resolución LED HD, Android 11, Diseño sin Marco, MEMC, Dolby Atmos, HDR10, 2 Altavoces de 10W, Modelo 2023 Por solo 199,90 €174,90 €
Vive una experiencia de usuario única con una resolución óptima. Android TV 11. La última versión más eficaz del sistema operativo de Android TV. Procesador 4 núcleos. Un procesador eficiente que mejora la experiencia de usuario en el televisor. Chro... read more
YUEJIDZ Español Ñ Funda Teclado para Xiaomi Redmi Pad SE, Premium Cuero Smart Case con Magneticamente Desmontable Bluetooth Teclado QWERTY Diseño Compatible con Redmi Pad SE 11 Pulgadas 2023 Por solo 29,99 €
✨[Compatibilidad]: La funda con teclado para Redmi Pad SE diseñada exclusivamente para Redmi Pad SE (11 pulgadas, 2023). NO compatible con redmi pad 10,86" L83 2022 o xiaomi pad 6 2023 o cualquier otro modelo. Por favor, compruebe el modelo antes de ... read more
Digital Sound Enhancement Engine (DSEE) restaura tu música con sonidos de alta frecuencia y una atenuación gradual para un resultado auténtico Con hasta 50 horas de autonomía, puedes escuchar tu música sin preocuparte; y, si la carga de los auricular... read more
🎮【COMPATILIDAD PERFECTA】un nuevo mando para Switch inalámbrico que es compatible con Switch Pro/Pc, al mismo tiempo mantiene los juegos de switch. Bríndele una mejor experiencia de juego. NOTA: SOLO APOYE LA CONEXIÓN DE CABLE USB CON PC. SOLO APOYE L... read more
【Enfoque Eléctrico】 Proyector Portátil, FunFlix G1 Proyector WiFi Bluetooth, 9800 Lúmenes Mini Proyector Full HD 1080P, Proyectores Cine en Casa para iOS/Android/PS5/Xbox/HDMI/USB Por solo 134,99 €169,99 €
💝【Enfoque Eléctrico y Corrección 4D y Zoom Lnteligente】FunFlix G1 proyector tiene ajustes inteligentes avanzados; Enfoque de un solo toque por el mando a distancia para obtener imágenes claras y brillantes sin necesidad de ajustar manualmente el enfo... read more
Las tarjetas SanDisk Ultra microSDHC y microSDXC UHS-I son compatibles con tabletas y smartphonesAndroid Graba y guarda incluso más horas de vídeo Full HD. Con capacidades de hasta 1 TB, puedes almacenar incluso más horas de vídeo Full HD en la tarj... read more
Dales una alegría a tus amigos y familiares con una Nintendo eShop Card, ¡o date tú un capricho! Es el regalo ideal para quienes disfrutan jugando a videojuegos. La Nintendo eShop Card es una alternativa rápida, fácil y segura a las tarjetas de crédi... read more
[ Solución de Expansión de USB ] Este hub USB 3.0 extiende 1 puerto USB 3.0 a 4 puertos, perfecto para conectar los diversos periféricos que necesita a diario (teclado, mouse, llave USB, disco duro externo, impresora, etc.). [ Transferencia Ultrarráp... read more