lunes, 21 de septiembre de 2009

PROGRAMACION

PROGRAMACION.
en informatica, la programacion es un proceso por el cual se escribe (es un lenguaje de programacion), se prueva, se depura y se mantiene el codigo fuente de un programa informatico.
dentro de la informatica, los programas de los elementos q forman el software, q es el conjuntode las instrucciones q ejecuta el hardware de una computadora para realizar una tarea determinada .por lo tanto, la programacion es una de las principales areas dentro de la informatica.

para el desarrollo del programa de ciertas envergadura o complejos, con ciertas garantias de calidad, escon veniente seguir algunos de los modelos de desarrollo del software existentes en donde la programacion es solo de las etapas del proceso de desarrollo del software . los modelos de desarrollo del software los aborda una disciplina especifica del campo de la matematica:la ingenieria del software.

HISTORIA DE LA PROGRAMACION.
sobre los ultimos 50 años, los idiomas q programan han evolucionado del codigo vinario de maquina a herramienta poderosas q crean las adstraciones complejas.es importante entender q los idiomas han evolucionado, y q capacidades q los idiomas mas nuevos nos dan.

"tan largo como no habian maquinas, programar no eran ningun problema, cuando tuvimos unas pocas computadoras debiles, programar llego a ser un problema templado y ahora q tenemos las computadoras gigantescas. en esta sentido q la industria electronica no ha resuelto ningun solo problema, tiene solo los creo- ha creado el problema de usar su producto". "el programista humilde".

e.w dijkstra hablo estas palabras profeticas casi 28 años en su conferencia del premio turing.
en aquel momento en las computadoras gigantescas el radio de probablemente tenido entre 64 y 128 kilobytes de la memoria verdadera, y a lo mas unos pocos mega octetos de artefactos de almacenamientos de acceso directo.
uno de las llaves a programar exitosos son el concepto de la adstraccion. la adstraccion es la llave a la construccion sistema complejo de software.como el tamaño de nuestros problemas crecen la nesecidad para la adstraccion, dramaticamente aumenta.
en sistemas sencillos, caracteristicas de idiomas usados en el 1950s y 60s un solo protagonista epodria entender el problema entero y por lo tanto manipula todas estructuras del programa y datos. los programistas son hoy encapaces de entender todos los programas - es apenas demaciado grande la adssorcion se requiere a permitir q el programista para agarrar los conceptos necesarios.

OBJETIVOS DE LA PROGRAMACION.
la programacion es la obtencion de programas de calidad. para ello se establece una serie de factores q determinan la calidad de un programa.algunos factores de calidad mas importantes son los siguientes:

-CORRECCION:un programa es correcto si hace lo q debe de hacer tal como se establecio en las faces previas a su desarrollo . para determinar hace lo q debe , es muy importante especificar claramente q debe hacer el programa antes de desarrollarlo y una vez acabado compararlo con lo q realmente hace.

-CLARIDAD:es muy importante q el programa sea muy claro, para facilitar asi su desarrollo y posterior matenimiento.al elaborar un programa se debe intentar q su estructura sea sencilla y coherente, asi como cuidar el estilo en su edicion, de esta forma se ve facilitado el trabajo del programador tanto en la face de creacion como en las faces posteriores de correccion de errores, ampliaciones, modificaciones etc.

-EFICACIA:se trata de q el programa ademas de realizar aquello para lo q fue creado lo haga gestionando de la mejor forma posible, los recursos q utilizan.

-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 q se elaboro.


LENGUAJE DE PROGRAMACION
con la aparicion de las computadoras desaparecen las secuencias de posiciones de llaves mecanicas q debian de desconectarsepara tener una accion determinada, una llave conectada era un 1 a una llave desconectada era un 0. una sucecion de llaves en cualquiera de sus dos posiciones definia una secuencia de ceros y unos por ejemplo:01000111011101 q venia representar una instruccion o un conjunto de instrucciones (programa)para el ordenador (o computador)en el q se estaba trabajando.a esta primera forma de especificar programas para una computadora se le denomina lenguaje maquina o codigo maquina.

la nesecidad de recordar secuencias de programacion para las acciones usuales llevo a denominarlas con nombres faciles de memorizar y asociar:ADD(sumar), SUB(restar), MUL(multiplicar), CALL(ejecutar subrutina). a estas secuencias de posiciones se le denomino "instrucciones" y a este conjunto de instrucciones se le llamo lenguaje ensamblador.

CONCEPTO DE LENGUAJE DE PROGRAMACION.
un lenguaje de programacion es un lenguaje de simbolos y reglas sintaticas y semanticas q define su estructura y significado de sus elementos y presiciones. es utilizado para controlar el comportamiento fisico y logico de una maquina.

aunq muchas veses se utilizan los terminos "lenguaje de programacion" como sifuense sinonimos no tienen porq ser asi ya q los lenguajes informaticos engloban a los lenguajes de programacion y a otras mas como por ejemplo el HTML (lenguaje para el marcado la pajina web q no es propiamente no es un lenguaje de programacion).


LENGUAJE DE BAJO NIVEL.
los lenguajes de bajo nivel son lenguajes de programacion q se acercan al funcionamiento de una computadora. el lenguaje de mas bajo nivel por exelencia es el codio maquina. a este le sigue el lenguaje ensamblador ya q al programar el ensamblador se trabajan como los requisitos de memoria de la computadora de forma directa ejemplo:

lenguaje ensamblador, sintaxil intel para procesadores x86
mov eax, 1; mueve a al registro eax el valor 1
xor ebx, ebx; pone en 0 el registro ebx
int 80h; llama a la interrupcion 80h (80h= 128 sistema decimal)

ejecutar ese codigo en sistema UNIX o basado en el equivale a una funcion exit(0) (termina el programa retornando el valor 0).

LENGUAJE DE MEDIO NIVEL.
hay lenguajes de programacion q son considerados por algunos expertos como lenguajes de medio nivel (comoes el caso del lenguaje C) a tener siertas caracteristicas q lo acercan a los lenguajes de bajo nivel pero teniendo el mismo tiempo siertas cualidades lo q hacen un lenguaje mas cercano al humano y por tanto de alto nivel.

LENGUAJE DE ALTO NIVEL.
los lenguajes de alto nivel son normalmente faciles de aprender por q estan formados por elementos de lenguajes naturales, como en ingles. en BASIC uno de los lenguajes de alto nivel mas conocido, los comandos como "IF CONTADOR = 10 THEN STOP" pueden utilizarsen para pedir a la computadora q pare si el CONTADOR es igual a 10. esta forma de trabajar puede dar la sensacion de q las computadoras parecen comprender un lenguaje natural, eln realidad lo hacen de forma rigida y sistematica sin q haya cabida por ejemplo para ambiguedades o dobles sentidos.

PROGRAMACION VISUAL.
la programacion visual brinda los conocimientos necesarios para diseñar y desarrollar aplicaciones con un entorno visual amigable y facil de utilizar para el usuario.
los lenguajes de programacion visual tienden a facilitar la tarea de los programadores dado q con los primeros lenguajes de programacion crear una vntana era tarea de meses de desarrollo y de un equipo de trabajo.

PROGRAMACION OBJETO.
en el paridicma de programacion de orientada a objetos (POOo bien OOP en ingles) un objeto se define como la unidad q en tiempo de ejecucion realiza las tareas de programa. tambien a un nivel mas basico se define como la instancia de una clase.

estos objetos interactuan unos con otros en contraposicion a la oposicion a la vision tradicional
en la cual un programa es una coleccion de subrutinas (funciones o procedimientos ) o simplemente una lista de instrucciones para el computador.




No hay comentarios:

Publicar un comentario