lunes, 1 de noviembre de 2010

Tecnica

Técnica
Para escribir programas que proporcionen los mejores resultados, cabe tener en cuenta una serie de detalles.
  • Corrección. Un programa es correcto si hace lo que debe hacer tal y como se estableció en las fases previas a su desarrollo
  • Claridad. Es muy importante que el programa sea lo más claro y legible posible, para facilitar así su desarrollo y posterior mantenimiento.
  • Eficiencia. Se trata de que el programa, además de realizar aquello para lo que fue creado (es decir, que sea correcto), lo haga utilizando de la mejor forma posible los recursos que utiliza.
  • Portabilidad. Un programa es portable cuando tiene la capacidad de poder ejecutarse en una plataforma, ya sea hardware o software, diferente a aquella en la que se elaboró.

Interpretación y compilación

Los lenguajes de programación pueden, en líneas generales, dividirse en dos categorías:
  • lenguajes interpretados
  • lenguajes compilados

Lenguaje interpretado

Un lenguaje de programación es diferente al lenguaje máquina. Por lo tanto, debe traducirse para que el procesador pueda comprenderlo. Un programa escrito en un lenguaje interpretado requiere de un programa auxiliar (el intérprete), que traduce los comandos de los programas según sea necesario.

Lenguaje compilado

Un programa escrito en un lenguaje "compilado" se traduce a través de un programa anexo llamado compilador que, a su vez, crea un nuevo archivo independiente que no necesita ningún otro programa para ejecutarse a sí mismo. Este archivo se llama ejecutable.

Tiene la ventaja de garantizar la seguridad del código fuente. En efecto, el lenguaje interpretado, al ser directamente un lenguaje legible, hace que cualquier persona pueda conocer los secretos de fabricación de un programa y, de ese modo, copiar su código o incluso modificarlo. Por lo tanto, existe el riesgo de que los derechos de autor no sean respetados. Ciertas aplicaciones aseguradas necesitan confidencialidad de código para evitar las copias ilegales (transacciones bancarias, pagos en línea, comunicaciones seguras...).

Lenguajes de programación imperativos y funcionales

Los lenguajes de programación generalmente se dividen en dos grupos principales en base al procesamiento de sus comandos:
  • lenguajes imperativos;
  • lenguajes funcionales.

Lenguaje de programación imperativo

Un lenguaje imperativo programa mediante una serie de comandos, agrupados en bloques y compuestos de órdenes  que permiten al programa regresar a un bloque de comandos si se cumple la condición. Estos fueron los primeros lenguajes de programación en uso y aún hoy muchos lenguajes modernos usan este principio.

Lenguaje de programación funcional

Un lenguaje de programaciòn funcional  (a menudo llamado lenguaje procedimental) es un lenguaje que crea programas mediante funciones, devuelve un nuevo estado de resultado y recibe como entrada el resultado de otras funciones.