Documente Academic
Documente Profesional
Documente Cultură
Ir a la navegaci�nIr a la b�squeda
Commons-emblem-question book yellow.svg
Este art�culo tiene referencias, pero necesita m�s para complementar su
verificabilidad.
Puedes colaborar agregando referencias a fuentes fiables como se indica aqu�. El
material sin fuentes fiables podr�a ser cuestionado y eliminado.
Este aviso fue puesto el 15 de junio de 2016.
Para otros usos de este t�rmino, v�ase Programaci�n (desambiguaci�n).
La programaci�n es el proceso utilizado para idear y ordenar las acciones
necesarias para realizar un proyecto, preparar ciertas m�quinas o aparatos para que
empiecen a funcionar en el momento y en la forma deseados o elaborar programas para
su empleo en computadoras.1?
�ndice
1 Historia
2 L�xico y programaci�n
3 Programas y algoritmos
4 Compilaci�n
5 Programaci�n e ingenier�a del software
6 Referencias hist�ricas
7 Objetivos de la programaci�n
8 Ciclo de vida del software
9 V�ase tambi�n
10 Referencias
11 Enlaces externos
Historia
Para crear un programa, y que la computadora lo interprete y ejecute las
instrucciones escritas en �l, debe escribirse en un lenguaje de programaci�n. En
sus comienzos las computadoras interpretaban solo instrucciones en un lenguaje
espec�fico, del m�s bajo nivel, conocido como c�digo m�quina, siendo este
excesivamente complicado para programar. De hecho solo consiste en cadenas de
n�meros 1 y 0 (sistema binario). Para facilitar el trabajo de programaci�n, los
primeros cient�ficos, que trabajaban en el �rea, decidieron reemplazar las
instrucciones, secuencias de unos y ceros, por palabras o abreviaturas provenientes
del ingl�s; las codificaron y crearon as� un lenguaje de mayor nivel, que se conoce
como Assembly o lenguaje ensamblador. Por ejemplo, para sumar se podr�a usar la
letra A de la palabra inglesa add (sumar). En realidad escribir en lenguaje
ensamblador es b�sicamente lo mismo que hacerlo en lenguaje m�quina, pero las
letras y palabras son bastante m�s f�ciles de recordar y entender que secuencias de
n�meros binarios y naturales. A medida que la complejidad de las tareas que
realizaban las computadoras aumentaba, se hizo necesario disponer de un m�todo
sencillo para programar. Entonces, se crearon los lenguajes de alto nivel. Mientras
que una tarea tan trivial como multiplicar dos n�meros puede necesitar un conjunto
de instrucciones en lenguaje ensamblador, en un lenguaje de alto nivel bastar� con
solo una. Una vez que se termina de escribir un programa, sea en ensamblador o en
algunos lenguajes de alto nivel, es necesario compilarlo, es decir, traducirlo
completo a lenguaje m�quina.3?Eventualmente ser� necesaria otra fase denominada
com�nmente link o enlace, durante la cual se anexan al c�digo, generado durante la
compilaci�n, los recursos necesarios de alguna biblioteca. En algunos lenguajes de
programaci�n, puede no ser requerido el proceso de compilaci�n y enlace, ya que
pueden trabajar en modo int�rprete. Esta modalidad de trabajo es equivalente pero
se realiza instrucci�n por instrucci�n, a medida que es ejecutado el programa.
L�xico y programaci�n
La programaci�n se rige por reglas y un conjunto m�s o menos reducido de �rdenes,
expresiones, instrucciones y comandos que tienden a asemejarse a una lengua natural
acotada (en ingl�s); y que adem�s tienen la particularidad de una reducida
ambig�edad. Cuanto menos ambiguo es un lenguaje de programaci�n, se dice, es m�s
potente. Bajo esta premisa, y en el extremo, el lenguaje m�s potente existente es
el binario, con ambig�edad nula (lo cual lleva a pensar as� del lenguaje
ensamblador).
Programas y algoritmos
Un algoritmo es una secuencia no ambigua, finita y ordenada de instrucciones que
han de seguirse para resolver un problema. Un programa normalmente implementa
(traduce a un lenguaje de programaci�n concreto) uno o m�s algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gr�fica, como un diagrama de flujo,
en forma de c�digo como en pseudoc�digo o un lenguaje de programaci�n, en forma
explicativa.
Los programas suelen subdividirse en partes menores, llamadas m�dulos, de modo que
la complejidad algor�tmica de cada una de las partes sea menor que la del programa
completo, lo cual ayuda al desarrollo del programa. Esta es una pr�ctica muy
utilizada y se conoce como "refino progresivo".
Seg�n Niklaus Wirth, un programa est� formado por los algoritmos y la estructura de
datos.
Programaci�n declarativa
Programaci�n estructurada
Programaci�n modular
Programaci�n orientada a objetos
Compilaci�n
El programa escrito en un lenguaje de programaci�n de alto nivel (f�cilmente
comprensible por el programador) es llamado programa fuente y no se puede ejecutar
directamente en una computadora. La opci�n m�s com�n es compilar el programa
obteniendo un m�dulo objeto, aunque tambi�n puede ejecutarse en forma m�s directa a
trav�s de un int�rprete inform�tico.
Estos dos pasos se pueden hacer por separado, almacenando el resultado de la fase
de compilaci�n en archivos objetos (un t�pico .o para Unix, .obj para MS-Windows,
DOS); para enlazarlos en fases posteriores, o crear directamente el ejecutable; con
lo que la fase de compilaci�n puede almacenarse solo de forma temporal. Un programa
podr�a tener partes escritas en varios lenguajes, por ejemplo, Java, C, C++ y
ensamblador, que se podr�an compilar de forma independiente y luego enlazar juntas
para formar un �nico m�dulo ejecutable.
Referencias hist�ricas
El trabajo de Ada Lovelace, hija de Anabella Milbanke Byron y Lord Byron, que
realiz� para la m�quina de Babbage le hizo ganarse el t�tulo de primera
programadora de computadoras del mundo, aunque Babbage nunca complet� la
construcci�n de la m�quina. El nombre del lenguaje de programaci�n Ada fue escogido
como homenaje a esta programadora.
Objetivos de la programaci�n
La programaci�n debe perseguir la obtenci�n de programas de calidad. Para ello se
establece una serie de factores que determinan la calidad de un programa. Algunos
de los factores de calidad m�s importantes son los siguientes:
V�ase tambi�n
Ver el portal sobre Programaci�n Portal:Programaci�n. Contenido relacionado con
Programaci�n.
Wikiproyecto:Inform�tica/Programaci�n
error de software
filosof�as del desarrollo de software
historia de la ingenier�a del software
ingenier�a en computaci�n
ingenier�a en inform�tica
l�nea de c�digo fuente
lenguaje de programaci�n
programaci�n autom�tica
programaci�n dirigida por eventos
programaci�n estructurada
programaci�n extrema
programaci�n en pareja
programaci�n din�mica
programaci�n orientada a objetos
pruebas de software
software