Acerca del servicio
TraducidoEscribo programas en el lenguaje Oz—el lenguaje multiparadigma del sistema Mozart—y trato los paradigmas como herramientas, no doctrinas. Dentro de un solo programa me muevo libremente entre la computación funcional, la lógica relacional, la propagación de restricciones y la concurrencia de flujo de datos, eligiendo el modelo que haga que una parte particular de la tarea sea clara y correcta. Esta es una forma diferente de desarrollar que la codificación imperativa habitual, y da resultados precisamente donde los enfoques ordinarios luchan: en problemas de búsqueda, programación, configuración, razonamiento simbólico y prototipos de ideas de lenguaje.
La mayor parte de mi trabajo implica programación por restricciones y búsqueda. Modelo un problema con variables de dominio finito, expreso reglas a través de propagadores y guío el solucionador con mis propias estrategias de distribución y ramificación, manteniendo vastos espacios combinatorios manejables. En Oz, la concurrencia está integrada en el lenguaje a través de variables lógicas y sincronización de flujo de datos: eso me permite construir tuberías limpias de "productor-consumidor", agentes e hilos ligeros sin el dolor habitual de los bloqueos. Razonó con confianza sobre el determinismo, la búsqueda encapsulada y la sutil interacción de pereza, puertos y celdas que le da a Oz su expresividad.
Más allá de resolver problemas, utilizo Oz para la enseñanza y el apoyo a la investigación. He ayudado a estudiantes e investigadores a entender ideas de "Conceptos, Técnicas y Modelos de Programación de Computadoras", convirtiendo nociones complejas de estado, concurrencia y computación declarativa en ejemplos ejecutables con comentarios detallados. Puedo portar un algoritmo de un artículo a Oz, comparar estrategias de distribución alternativas por rendimiento, o envolver un componente de Mozart para comunicarse con el mundo exterior. Si tienes una tarea que "huele" a búsqueda, restricciones o concurrencia elegante, te diré honestamente si Oz es adecuado.
— Modelado de dominio finito y restricciones con propagadores personalizados
— Búsqueda encapsulada y paralela, estrategias de distribución y ramificación
— Concurrencia de flujo de datos, variables lógicas, flujos, puertos y agentes
— Programación funcional y relacional en una única base de código
— Apoyo al aprendizaje para ideas multiparadigma en el espíritu del CTM
— Prototipado de características del lenguaje y computación simbólica en Mozart
La mayor parte de mi trabajo implica programación por restricciones y búsqueda. Modelo un problema con variables de dominio finito, expreso reglas a través de propagadores y guío el solucionador con mis propias estrategias de distribución y ramificación, manteniendo vastos espacios combinatorios manejables. En Oz, la concurrencia está integrada en el lenguaje a través de variables lógicas y sincronización de flujo de datos: eso me permite construir tuberías limpias de "productor-consumidor", agentes e hilos ligeros sin el dolor habitual de los bloqueos. Razonó con confianza sobre el determinismo, la búsqueda encapsulada y la sutil interacción de pereza, puertos y celdas que le da a Oz su expresividad.
Más allá de resolver problemas, utilizo Oz para la enseñanza y el apoyo a la investigación. He ayudado a estudiantes e investigadores a entender ideas de "Conceptos, Técnicas y Modelos de Programación de Computadoras", convirtiendo nociones complejas de estado, concurrencia y computación declarativa en ejemplos ejecutables con comentarios detallados. Puedo portar un algoritmo de un artículo a Oz, comparar estrategias de distribución alternativas por rendimiento, o envolver un componente de Mozart para comunicarse con el mundo exterior. Si tienes una tarea que "huele" a búsqueda, restricciones o concurrencia elegante, te diré honestamente si Oz es adecuado.
— Modelado de dominio finito y restricciones con propagadores personalizados
— Búsqueda encapsulada y paralela, estrategias de distribución y ramificación
— Concurrencia de flujo de datos, variables lógicas, flujos, puertos y agentes
— Programación funcional y relacional en una única base de código
— Apoyo al aprendizaje para ideas multiparadigma en el espíritu del CTM
— Prototipado de características del lenguaje y computación simbólica en Mozart