martes, 28 de junio de 2016

¿Qué es la programación de software? HOTO

Es el proceso de diseñar, codificar, depurar y mantener el código fuente de programas computacionales. El código fuente es escrito en un lenguaje de programación. El propósito de la programación es crear programas que exhiban un comportamiento deseado.

Programación de software

Un programa informático es el resultado final de un proceso que empieza con el planteamiento de un problema. Un programa es un conjunto de instrucciones escritas con un lenguaje de programación y que serán ejecutadas en un ordenador.
Cada computador reconoce un lenguaje propio, denominado lenguaje máquina o ensamblador, que consta de unas instrucciones muy a bajo nivel, en las cuales se accede directamente a los elementos físicos de la máquina como por ejemplo los registros.



Cada máquina tiene una configuración física diferente, y también un lenguaje ensamblador diferente. Por ejemplo, es diferente el ensamblador de un PC que el de un Mac.
Etapas de la programación
En la primera etapa de la informática todos los programas se hacían utilizando el código máquina, pero aparte de que es muy complicado de programar y muy difícil de leer, una vez tenemos el programa sólo lo podemos ejecutar en un tipo de máquina concreto. Si cambiamos de máquina perdemos todos nuestros programas.

Es por estos factores que aparecen los lenguajes de programación de alto nivel, donde se busca por una parte un lenguaje más fácil de escribir y leer, y por la otra la potabilidad, es decir que podamos traer los programas de una máquina a otra. Realmente lo que la máquina ejecuta continúa siendo código máquina, pero el programador escribe en otro lenguaje. Hace falta, por lo tanto, una etapa de traducción intermedia. Esta traducción puede ser por dos mecanismos diferentes: la compilación y la interpretación:
Compilación: antes de ejecutar nuestro programa, lo compilamos. Lo que denominamos compilador (que es otro programa) primero reconoce si nuestro código está escrito siguiendo las reglas del lenguaje y, si no hay errores, lo traduce a código máquina. Lo que posteriormente se ejecuta es el código máquina que se ha generado.

Interpretación: el código se va ejecutando instrucción a instrucción, y una a una se van traduciendo a código máquina. Quien lo hace es el intérprete (también otro programa).

Fases intermedias de la programación

entre el planteamiento del problema y el programa es necesaria una fase, la de concepción de un algoritmo.

¿Qué es un algoritmo?
es un conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad. Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución. Los algoritmos son el objeto de estudio de la algoritmia.

Un algoritmo es también la resolución del problema como una secuencia de acciones, pero no destinado a ser ejecutado en un ordenador sino en lo que podríamos denominar máquina abstracta o ideal.
Un algoritmo está escrito en lenguaje humano, como el castellano (a diferencia del programa que está escrito en un lenguaje de programación) y está destinado a que lo entienda el programador que después lo traducirá a cualquier lenguaje de programación concreto como Java, C++, Python, PHP, Visual Basic.


De esta forma, el algoritmo será la lista de las acciones necesarias porque se resuelva el problema inicial, en nuestro caso escritas en castellano. La elección del lenguaje en que codificamos el algoritmo dependerá de factores muy variados (y no siempre técnicos), como pueden ser la facilidad por aprenderlo, facilidad por leerlo, eficiencia, disponibilidad para la plataforma donde se ha de ejecutar, el precio y más.