Skip to content

Details

Las herramientas que utilizamos tienen un gran impacto sobre los hábitos mentales de los desarrolladores, afectando directamente cómo construimos, percibimos y razonamos acerca del software. Como dijo Marshall McLuhan: "We shape our tools, and thereafter our tools shape us".

Los principales IDEs manejan de una forma genérica las aplicaciones, independientemente de que modelen dominios muy diferentes. Existe un salto entre el modelo mental, normalmente basado en abstracciones del dominio, con el que desarrollamos y el modelo genérico y de más bajo nivel al que nos obligan nuestras herramientas.

Incluso cuando siguiendo aproximaciones como Domain-Driven Design (DDD) conseguimos diseñar las aplicaciones de software en términos de abstracciones del dominio del problema, no podremos aprovechar todo el potencial de estas abstracciones mientras nuestras herramientas no incorporen y sean "conscientes" de esas abstracciones específicas de nuestro dominio.

En esta charla mostraremos ejemplos de "moldable development", una aproximación diferente al desarrollo de software que propone adaptar continuamente nuestras herramientas para incorporar las abstracciones del dominio concreto en que estemos trabajando.

Mostraremos algunos ejemplos sencillos prácticos de cómo se pueden incorporar las ideas del "desarrollo maleable" al proceso de desarrollo de software, de manera que podrás crear extensiones específicas del dominio de tu aplicación a medida que la construyes, de una manera ágil y con un coste asequible.

Como resultado de esta nueva forma de entender el proceso de desarrollo podrás razonar, visualizar y comunicar tus sistemas de software directamente en términos de tus abstracciones de dominio.

En los ejemplos emplearemos Glamorous Toolkit, un IDE open source y maleable basado en Pharo, pero no será necesario ningún conocimiento previo sobre estas tecnologías. El objetivo no será un lenguaje concreto, sino incorporar conceptos de desarrollo maleable a nuestro proceso de desarrollo, con independencia de cuál sea tu lenguaje de programación de preferencia.

Related topics

New Technology

You may also like