Sie sind auf Seite 1von 3

Programacin

Para crear un programa, debe usarse un lenguaje de programacin. En sus inicios las computadoras
interpretaban solo instrucciones en un lenguaje especfico, del ms bajo nivel, conocido como cdigo
mquina, siendo este excesivamente complicado para programar. De hecho solo consiste en cadenas de
nmeros 1 y 0, que viene a hacer un sistema binario. Para facilitar el trabajo de programacin, los
primeros cientficos que trabajan en el rea decidieron reemplazar las instrucciones, secuencias de unos
y ceros, por palabras o letras provenientes del ingls, las codificaron y crearon as un lenguaje de mayor
nivel, que se conoce como assembly o lenguaje ensamblador.
Qu es programacin?
La programacin informtica, acortada como programacin, es el proceso de disear, codificar, depurar y
mantener el cdigo fuente de programas computacionales. El cdigo fuente es escritorio en un lenguaje
de programacin. El propsito de la programacin es crear programas que exhiban un comportamiento
deseado. El proceso de escribir cdigo requiere frecuentemente conocimientos en varias reas distintas,
adems del dominio de la lengua a utilizar, algoritmos especializados y lgica formal. Programar no
involucra necesariamente otras tareas tales como el anlisis y diseo de la aplicacin, aunque si suelen
estar fusionadas en el desarrollo de pequeas aplicaciones.
Lxico y programacin:
La programacin se rige por reglas y un conjunto ms o menos reducidos de rdenes, expresiones,
instrucciones y comandos que tienden a asemejarse a una lengua natural acotada en ingls; y que
adems tienen la particularidad de una reducida ambigedad. Cuanto menos ambiguo es un lenguaje de
programacin, se dice, es ms potente. Bajo esta premisa, y en el extremo, el lenguaje ms potente
existente es el binario, con ambigedad nula, lo cual lleva a pensar as del lenguaje ensamblado.
En los lenguajes de programacin de alto nivel se distinguen diversos elementos entre los que se incluyen
el lxico propio del lenguaje y las reglas semnticas y sintcticas.
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 programacin
concreto) uno o ms algoritmos. Un algoritmo puede expresarse de distintas maneras: en forma grfica,
como un diagrama de flujo, en forma de cdigo como en pseudocdigo o un lenguaje de programacin,
en forma explicativa, etc.
Los programas suelen subdividirse en partes menores, llamadas mdulos, de modo que la complejidad
algortmica de cada una de las partes sea menor que la del programa completo, lo cual ayuda al
desarrollo del programa. Esta es una prctica muy utilizada y se conoce como "refino progresivo".
Segn Niklaus Wirth, un programa est formado por los algoritmos y la estructura de datos.
Se han propuesto diversas tcnicas de programacin cuyo objetivo es mejorar tanto el proceso de
creacin de software como su mantenimiento. Entre ellas, se pueden mencionar las siguientes:

1. Programacin declarativa:
Es un paradigma de programacin que est basado en el desarrollo de programas especificando o
declarando un conjunto de condiciones, proposiciones, afirmaciones, restricciones, ecuaciones o
transformaciones que describen el problema y detallan su solucin. La solucin es obtenida mediante
mecanismos internos de control, sin especificar exactamente como encontrarla. No existen
asignaciones destructivas, y las variables son utilizadas con transparencia referencial.
1.1. DIFERENCIAS ENTRE IMPERATIVO Y DECLARATIVO
En la programacin imperativa se describe paso a paso un conjunto de instrucciones que deben
ejecutarse para variar el estado del programa y hallar la solucin, es decir, un algoritmo en el que se
describen los pasos necesarios para soluciona el problema.
En la programacin declarativa las sentencias que se utilizan lo hacen es describir el problema que
se quiere solucionar, pero no las instrucciones necesarias para solucionarlo. Esto ltimo se realizar
mediante mecanismos internos de inferencia de informacin a partir de la descripcin realizada.
1.2. TIPOS
Existen varios tipos de lenguajes declarativos:
Los lenguajes lgicos, como Prolog

Los lenguajes algebraicos, como Maude y SQL

Los lenguajes funcionales, como Haskell y Erlang

1.3. VENTAJAS
Se ha dicho que los lenguajes declarativos tiene la ventaja de ser razonados matemticamente, lo
que permite el uso de mecanismos matemticos para optimizar el rendimiento de los programas.
Son fiables, elegantes y expresivos.
2. Programacin estructurada
Es un paradigma de programacin orientado a mejor la claridad, calidad y tiempo de desarrollo de un
programa de computadora, utilizando nicamente subrutinas y tres estructuras: secuencia, seleccin,
considerando innecesario y contraproducente el uso de la instruccin de transferencia incondicional,
que podra conducir a cdigo espagueti, que es mucho ms difcil de seguir y de mantener, y era la
causa de muchos errores de programacin.
2.1. VENTAJAS DE LA PROGRAMACION ESTRUCTURADA
Ventajas de la programacin estructurada comparada con el modelo anterior (hoy llamado
despectivamente cdigo espagueti).

Los programas son ms fciles de entender, pueden ser ledos de forma secuencial y no hay
necesidad de hacer engorrosos seguimientos en saltos de lneas (GOTO) dentro de los bloques de
cdigo para intentar entender la lgica.

La estructura de los programas es clara, puesto que las instrucciones estn ms ligadas o
relacionadas entre s.

Reduccin del esfuerzo en las pruebas y depuracin. El seguimiento de los fallos o errores del
programa (debugging) se facilita debido a su estructura ms sencilla y comprensible, por lo que los
errores se pueden detectar y corregir ms fcilmente.

Reduccin de los costos de mantenimiento. Anlogamente a la depuracin, durante la fase de


mantenimiento, modificar o extender los programas resulta ms fcil.

Los programas son ms sencillos y ms rpidos de confeccionar.

Se incrementa el rendimiento de los programadores, comparado con la forma anterior que utiliza
GOTO.

3. Programacin modular
La programacin modular es un paradigma de programacin que consiste en dividir un programa en
mdulos o subprogramas con el fin de hacerlo ms legible y manejable. Al aplicar la programacin
modular, un problema complejo debe ser dividido en varios subproblemas ms simples, y estos a su
vez en otros subproblemas ms simples. Esto debe hacerse hasta obtener subproblemas lo
suficientemente simples como para poder ser resueltos fcilmente con algn lenguaje de
programacin. sta tcnica se llama refinamiento sucesivo, divide y vencers anlisis descendente
(Top-Down).

programacin orientada a objetos