Desarrollo de usuario final


El desarrollo de usuario final ( EUD ) o la programación de usuario final ( EUP ) se refiere a actividades y herramientas que permiten a los usuarios finales (personas que no son desarrolladores de software profesionales) programar computadoras . Las personas que no son desarrolladores profesionales pueden usar herramientas de EUD para crear o modificar artefactos de software (descripciones de comportamiento automatizado) y objetos de datos complejos sin un conocimiento significativo de un lenguaje de programación . En 2005 se estimó (utilizando estadísticas de la Oficina de Estadísticas Laborales de EE. UU.)) que para 2012 habría más de 55 millones de desarrolladores usuarios finales en los Estados Unidos, en comparación con menos de 3 millones de programadores profesionales. [1] Existen varios enfoques de EUD, y es un tema de investigación activo dentro del campo de la informática y la interacción humano-computadora . Los ejemplos incluyen programación en lenguaje natural , [2] [3] hojas de cálculo , [4] lenguajes de secuencias de comandos (particularmente en una suite ofimática o aplicación de arte), programación visual, programación de acción desencadenante y programación por ejemplo .

La herramienta EUD más popular es la hoja de cálculo . [4] [5] Debido a su naturaleza sin restricciones, las hojas de cálculo permiten a los usuarios de computadoras relativamente poco sofisticados escribir programas que representan modelos de datos complejos, mientras los protege de la necesidad de aprender lenguajes de programación de bajo nivel. [6] Debido a su uso común en los negocios, las habilidades con las hojas de cálculo se encuentran entre las habilidades más beneficiosas para un empleado graduado y, por lo tanto, son las más buscadas [7] Solo en los Estados Unidos de América, hay un estimado de 13 millones de desarrolladores usuarios finales que programan con hojas de cálculo [8]

El enfoque de programación por ejemplo ( PbE ) reduce la necesidad de que el usuario aprenda las abstracciones de un lenguaje de programación clásico. En su lugar, el usuario introduce algunos ejemplos de los resultados deseados u operaciones que deben realizarse en los datos, y el sistema PbE infiere algunas abstracciones correspondientes a un programa que produce este resultado, que el usuario puede refinar. A continuación, se pueden introducir nuevos datos en el programa creado automáticamente y el usuario puede corregir cualquier error cometido por el programa para mejorar su definición. Las plataformas de desarrollo de código bajo también son un enfoque para EUD.

Una evolución en esta área ha considerado el uso de dispositivos móviles para respaldar las actividades de desarrollo del usuario final. En este caso, los enfoques anteriores para las aplicaciones de escritorio no se pueden volver a proponer simplemente, dadas las características específicas de los dispositivos móviles. Los entornos EUD de escritorio carecen de las ventajas de permitir que los usuarios finales creen aplicaciones de manera oportuna mientras están en movimiento. [9]

Más recientemente, ha aumentado el interés en cómo explotar EUD para respaldar el desarrollo de aplicaciones de Internet de las cosas. En esta área, la programación de acción desencadenante parece un enfoque prometedor. [10]

Las lecciones aprendidas de las soluciones de EUD pueden influir significativamente en los ciclos de vida del software para productos de software comercial , desarrollos internos de intranet / extranet e implementaciones de aplicaciones empresariales .