Nuevos Esquemas en la Programación, Actualidad y gran ascenso!!

Lenguaje de Programación Visual

Un Lenguaje de Programación Visual (VPL) es cualquiera lenguaje de programación eso deja a usuarios especificar programas manipulando elementos de programa gráficamente más bien que especificándolos textual. Un VPL permite el programar con expresiones visuales, arreglos espaciales del texto y símbolos del gráfico. La mayoría del VPLs se basa en la idea de “cajas y las flechas,” es decir, las cajas o los círculos o las burbujas, tratados como los objetos de la pantalla, conectados por las flechas, las líneas o arcos.

VPLs se puede clasificar más a fondo, según el tipo y el grado de la expresión visual usados, en idiomas icono-basadas, las idiomas forma-basadas, y las idiomas del diagrama. Los ambientes de programación visuales proporcionan los elementos gráficos o iconic (íconos) que se pueden manipular por los usuarios de una manera interactiva según una cierta gramática espacial específica para la construcción del programa.

Una lengua visualmente transformada es una lengua sin visualización con una representación visual sobrepuesta. Las idiomas naturalmente visuales tienen una expresión visual inherente para la cual no haya equivalente textual obvio.

Los progresos actuales intentan integrar el acercamiento de programación visual con programación del flujo de datos las idiomas a cualquiera tienen acceso inmediato a estado del programa dando por resultado eliminar errores en línea o generación y documentación automáticas de programa (es decir. paradigma visual). Las idiomas del flujo de datos también permiten parallelization automático, que es probable convertirse en uno de los desafíos de programación más grandes del futuro (véase Johnston, W.M.; Hanna, J.R.P. y Millar, R.J. (2004). "Avances en lenguajes de programación del flujo de datos". Encuestas sobre que computan ACM (CSUR) 36 (1): 1-34.).

 

Entre los Lenguajes de Programación Visual más importantes y actualizados del mundo encontramos a LabView de National Instruments y VPL que es un componente primordial de Microsoft Robotics Developer Studio.

 

 

Programación Extrema 

La programación extrema o eXtreme Programming (XP) es un enfoque de la ingeniería de software formulado por Kent Beck, autor del primer libro sobre la materia, Extreme Programming Explained: Embrace Change (1999). Es el más destacado de los procesos ágiles de desarrollo de software. Al igual que éstos, la programación extrema se diferencia de las metodologías tradicionales principalmente en que pone más énfasis en la adaptabilidad que en la previsibilidad. Los defensores de XP consideran que los cambios de requisitos sobre la marcha son un aspecto natural, inevitable e incluso deseable del desarrollo de proyectos. Creen que ser capaz de adaptarse a los cambios de requisitos en cualquier punto de la vida del proyecto es una aproximación mejor y más realista que intentar definir todos los requisitos al comienzo del proyecto e invertir esfuerzos después en controlar los cambios en los requisitos.

 

Se puede considerar la programación extrema como la adopción de las mejores metodologías de desarrollo de acuerdo a lo que se pretende llevar a cabo con el proyecto, y aplicarlo de manera dinámica durante el ciclo de vida del software.

Las características fundamentales de la Programación Extrema son:

 

  • Desarrollo iterativo e incremental: pequeñas mejoras, unas tras otras.
  • Pruebas unitarias  continuas, frecuentemente repetidas y automatizadas, incluyendo pruebas de regresión. Se aconseja escribir el código de la prueba antes de la codificación. Véase, por ejemplo, las herramientas de prueba JUnit orientada a Java, DUnit orientada a Delphi y NUnit para la plataforma.NET. Estas dos últimas inspiradas en JUnit.
  • Programación en parejas: se recomienda que las tareas de desarrollo se lleven a cabo por dos personas en un mismo puesto. Se supone que la mayor calidad del código escrito de esta manera -el código es revisado y discutido mientras se escribe- es más importante que la posible pérdida de productividad inmediata.
  • Frecuente integración del equipo de programación con el cliente o usuario. Se recomienda que un representante del cliente trabaje junto al equipo de desarrollo.
  • Corrección de todos los errores antes de añadir nueva funcionalidad. Hacer entregas frecuentes.
  • Refactorización del código, es decir, reescribir ciertas partes del código para aumentar su legibilidad y mantenibilidad pero sin modificar su comportamiento. Las pruebas han de garantizar que en la refactorización no se ha introducido ningún fallo.
  • Propiedad del código compartida: en vez de dividir la responsabilidad en el desarrollo de cada módulo en grupos de trabajo distintos, este método promueve el que todo el personal pueda corregir y extender cualquier parte del proyecto. Las frecuentes pruebas de regresión garantizan que los posibles errores serán detectados.
  • Simplicidad en el código: es la mejor manera de que las cosas funcionen. Cuando todo funcione se podrá añadir funcionalidad si es necesario. La programación extrema apuesta que es más sencillo hacer algo simple y tener un poco de trabajo extra para cambiarlo si se requiere, que realizar algo complicado y quizás nunca utilizarlo.

La simplicidad y la comunicación son extraordinariamente complementarias. Con más comunicación resulta más fácil identificar qué se debe y qué no se debe hacer. Cuanto más simple es el sistema, menos tendrá que comunicar sobre éste, lo que lleva a una comunicación más completa, especialmente si se puede reducir el equipo de programadores.

 

 

Programación No Extrema

La programación no extrema o eXtreme Non Programming (XNP) son los Métodos orientados al Objeto, Lenguas de Especificación Formales, Producción de Software basada en el Componente. Esto es sólo una lista muy corta de tecnologías propuestas para solucionar un muy viejo y, al mismo tiempo, problema muy famoso: como producir software de calidad. La programación ha sido la tarea clave durante los 40 años pasados, y los resultados no han tenido éxito aún. Este trabajo explorará la necesidad de estar enfrente de un proceso de producción de software sano de una perspectiva diferente: la perspectiva de no programación, donde no programando nosotros modelado principalmente medio. En vez de hablar de la Programación Extrema, introduciremos una No programación Extrema (Extremo orientado al Modelado) acercamiento. Basaremos nuestras ideas del trabajo intensivo hecho durante los años pasados, orientados al objetivo de generar el código de una especificación de sistema de nivel más alto, normalmente representada como un Esquema Conceptual. Hoy día, sin embargo, la cadera alrededor de MDA ha dado un nuevo empuje a estas estrategias. Los nuevos métodos proponen transformaciones modelas sanas que cubren todos los pasos diferentes de un proceso de producción de software sano desde un punto de vista de Ingeniería de Sistemas de Información. Esto debe incluir Modelado Organizativo, Ingeniería de Exigencias, Modelado Conceptual y técnicas de Generación de Código basadas en el Modelo. En este contexto, parece que el tiempo de Tecnologías de Transformación Modelas está finalmente aquí.