viernes, 12 de septiembre de 2008

Lenguajes de Programación


Lenguajes de Programación

Conjuntamente, con el desarrollo tanto de hardware como software, se ha experimentado el aprovechamiento óptimo de las capacidades de ambos. Con este fin se han diseñado distintos diseños de lenguajes de programación para diversos tipos de aplicación.
Un lenguaje de programación es un conjunto de símbolos o palabras para escribir programas, a través de los cuales nos podemos comunicar con el hardware y darle órdenes para que realice un determinado proceso.


Según el nivel de complejidad que presenta y el objetivo para el cual fue diseñado, se distinguen distintos tipo de lenguajes de programación:


* Lenguajes de bajo nivel: Orientados a determinadas máquinas. Sus instrucciones ejercen un control directo sobre el hardware y están sumamente condicionados por la estructura física de la computadora.

* Lenguaje de máquina: las instrucciones están compuestas por ceros y unos, controlan el funcionamiento paso a paso de un procesador.

0000 0001 1010 0001 01 A1
1000 1001 1001 1010 89 9A
0011 1010 1001 1100 3A 9C
0111 0100 0111 0000 74 70
1110 1001 0010 0000 E9 20


Ejemplo de instrucciones en lenguaje de máquina y sus equivalentes en sistema hexadecimal.

* Lenguaje ensamblador: las instrucciones están relacionadas con las escritas en lenguaje de máquina por medio de un conjunto de palabras mnemotécnicas, se usa fundamentalmente para escribir software de sistemas.

INICIO: ADD B, 1
MOV A, B
CMP A, E
JE FIN
JMP INICIO
FIN: END

Ejemplo de instrucciones en lenguaje ensamblador.

* Lenguaje de Alto nivel: Son independiente del equipo en el que se utiliza. Mediante un conjunto de instrucciones expresadas en palabras de un lenguaje (ej. inglés), describen las estructuras de información y la secuencia de acciones necesarias para realizar una tarea específica.

* Compiladores: programa traductor, realiza la traducción completa del programa en lenguaje simbólico (denominado programa fuente), obteniendo como resultado un programa en lenguaje de máquina (denominado programa objeto).


* Intérpretes: programa traductor, traducen las instrucciones, una por una, a medida que se ejecuta el programa en lenguaje de alto nivel.
* Fortran: (Formula Translator) traductor de fórmulas, aparece en 1955 en EE.UU creado por IBM, considerado el primer lenguaje de alto nivel.
* COBOL: (Common Bussiness Oriented Language) creado para aplicaciones de gestión y comercial, en 1960 por CODASYL (Conference on Data Systems Languages), en EE.UU por el departamento de defensa.
* PL/I: (Programming Language/I), en 1960 creado por IBM para equipos Sistema 360. Para aplicaciones técnico-científicas, comerciales, procesadores de textos, base de datos y programación de sistemas. Surge partiendo del ALGOL – COBOL –FORTRAN, muy incompleto, pero de poco éxito por su tamaño.
* BASIC: (Beginner’s All-purpose Symbolic Instruction Code), Código de instrucciones simbólico de propósitos generales para principiantes, de aplicación técnica y de gestión para microcomputadoras y PC. Muy extendido a raíz de la popularización de las microcomputadoras.
* PASCAL: surge del ALGOL en 1970, creado por el suizo matemático With en honor a Pascal lo denomina con el mismo nombre. Realiza todo tipo de aplicaciones, diseño de sistemas y diseño gráfico, es un lenguaje innovador y útil en la didáctica de los métodos y técnicas de programación.
* C: creado en 1972 por Dennis Ritchie bajo S.O. UNIX, es muy estructurado con aplicaciones técnico-científicas, base de datos, procesadores de texto, etc. Especialmente adecuado para la programación de sistemas.
* MODULA-2: creado en 1977 por With, Nicklaus, es una nueva versión del Pascal en 1979. Desciende del Pascal.
* ADA: creado por el departamento de defensa de EE:UU en honor a ADA Bayron y surge del Pascal - Algol –PL/I. En 1985, es el último gran lenguaje de propósitos generales.






Creación de Software

Creación de software

La mayoría de los problemas o tareas que se presentan a diario , en una empresa, pueden ser resueltos manualmente gracias a la capacidad intelectual y la habilidad de una persona; sin embargo, la utilización de la computadora para automatizar una tarea aporta mayor rapidez y fiabilidad a los resultados obtenidos.

Las computadoras son las máquinas más poderosas que el hombre ha inventado para calcular. Permiten recibir, procesar, guardar y transmitir datos. En realidad son “máquinas tontas”, no saben hacer nada más que ejecutar instrucciones operando con la información representada en código binario. Sólo pueden seguir al pie de la letra las instrucciones que les fueron dadas. No pueden tomar decisiones más allá de las que le fueron programado. Cada vez los programas que se van creando son más variados y complejos, al punto de hacerlas parecer casi humanas, pero esto se debe a la variedad de alternativas programadas y a la capacidad del programador de anticipar alternativas con las que se puede encontrar un determinado programa. Para que la computadora haga algo, hay que darle instrucciones.

Mayormente las aplicaciones standard cubren los requerimientos en cuanto al procesamiento de datos, sin embargo, en la mayoría de las actividades se necesita que la computadora realice tareas muy específicas no contempladas en los utilitarios standard.

En estos casos en particular se realizan programas denominados “A medida” que cumplen con tareas específicas.
El desarrollo de estos programas es llevado a cabo por profesionales que le indican a la computadora una secuencia de instrucciones para resolver un problema. Esta secuencia de instrucciones es denominada “Programa”, cuyo objetivo es dirigir el funcionamiento de la máquina.
Un programa consiste en una secuencia de instrucciones que ha de procesar la computadora con el objetivo de obtener unos resultados o datos de salida a partir de unos datos iniciales o datos de entrada.
Un programa le indica a la computadora cómo operar con los datos. Un programa es entonces la secuencia de procesos e instrucciones. Para que una tarea pueda ser ejecutada por la computadora tienen que ser descompuesta en todos los pasos y posibilidades. Esto se llama análisis de un sistema.


Cuando se quiere programar una computadora, es decir, indicarle los pasos de un procedimiento, el programador debe analizar exhaustivamente este proceso para generar instrucciones muy precisas de cada situación y en cada toma de decisiones en cada momento. Un diagrama de flujo es una manera de representar una rutina o un proceso en una serie de pasos.

Proceso de creación de software

El proceso de creación de software consiste en lo siguiente: El programa es escrito en un lenguaje de programación recibiendo el nombre de programa fuente. Una vez terminado el programa, se traduce al lenguaje que puede entender la máquina (ceros y unos) utilizando un programa traductor llamado compilador, durante la compilación el programa fuente es revisado para detectar errores ortográficos, lógicos y sintácticos, si se detectan errores se genera una lista de ellos y un aviso de error y si no hay errores el programa fuente es traducido al lenguaje de máquina, recibiendo el nombre de programa objeto. Para que ese programa se puede ejecutar en la computadora se realiza un último paso a cargo del programa o software enlazador o linker. Este proceso prepara al programa objeto para que pueda ser ejecutado en una computadora, logrando como resultado final el programa ejecutable.