Documentos de Académico
Documentos de Profesional
Documentos de Cultura
�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
Archivo:Pauscal lenguaje de .png
Ejemplo de c�digo fuente escrito en lenguaje Pauscal
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 �ste
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. 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.1? 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).[cita requerida]
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