Contenido:
> Introducción:
> Software de sistemas:
> Software de tiempo real:
> Software de ingeniería y científico:
> Software de inteligencia artificial:
> Lenguajes de programación:
> Características de los lenguajes de programación:
> Paradigmas de programación:
> Programación orientada a objetos:
> Compiladores e intérpretes:
> Generación de los lenguajes:
> Lenguajes de alto y bajo nivel:
Introducción:
El software es la parte lógica e intangible de una computadora. Es decir es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados que forman parte de las operaciones de un sistema de computación como nos menciona el IEEE.
Software de sistemas:
Es el software que nos permite tener una interacción con nuestro hardware, es decir, es el sistema operativo. Dicho sistema es un conjunto de programas que administran los recursos del hardware y proporciona una interfaz al usuario. Es el software esencial para una computadora, sin el no podría funcionar, como ejemplo tenemos a Windows, Linux, Mac OS X. Se clasifica en:• Sistemas operativos
• Controladores de dispositivo
• Herramientas de diagnóstico
• Herramientas de Corrección y Optimización
• Servidores
• Utilidades
Utilización:
• S.O.
• Compiladores
• CASE
• Editores
Software de tiempo real:
Conjunto de programa que mide, analiza y controla sucesos del mundo a real medida que ocurren.Utilización:
• Adquisición de datos: recoge y formatea los datos que entran.
• Análisis: transforma la información
• Control/Salida: respuesta
• Monitorización: coordina componentes (tiempo real)
Software de ingeniería y científico:
Utiliza algoritmos de manejo de números, simulación de sistemas, utiliza software en tiempo real.Utilización:
• Astronomía
• Cálculo
• Biología
• Molecular
• Fabricación automática.
Software de inteligencia artificial:
Hace uso de algoritmos no numéricos para resolver complejos para el que no son adecuados el cálculo o el análisis directo.Utilización:
• Sistemas Expertos
• Reconocimiento de Patrones (OCR)
• Prueba de teoremas
• Redes neuronales artificiales
Lenguajes de programación:
Se ha visto hasta ahora que los lenguajes de programación son un simbolismo, que nos permite expresar en operaciones elementales (instrucciones) la solución a nuestro problema.El ordenador ejecuta las instrucciones que le hemos suministrado previamente en forma de programa. Pero este programa escrito en un lenguaje determinado necesita ser traducido a lenguaje máquina que es el comprensible directamente por el ordenador.
Existen abundantes lenguajes que se han especificado y de los que se han escrito traductores; las normas (sintaxis) y palabras que emplean cada uno de ellos las definieron los organismos internacionales, otros los constructores y otros los clientes.
Los manuales son las características del lenguaje y los traductores se suelen adquirir conjuntamente, en los ordenadores grandes al proveedor del equipo y para los microordenadores en las tiendas de informática.
Es decir, los lenguajes de programación son aplicaciones específicas que han sido pensadas y diseñadas para crear otras aplicaciones o programas.
Los lenguajes de programación se basan en un sistema de instrucciones previamente establecidas que indican al ordenador lo que debe realizar.
Los lenguajes de programación son “lenguas” o “idiomas” ya establecidos, comprensibles tanto por el programador, como por la máquina, que permiten desarrollar los programas. Existen muchos y muy variados, y evolucionan constantemente, tanto en potencia como en facilidad de uso. La mayoría está escrito en Inglés, aunque cada vez son más visuales e intuitivos.
Ejemplos: Pascal, Turbo C++, CA-Clipper, Visual Basic, Visual C++, Java, Cobol, C, Fortran, HTML, Prolog, CSMP, SIMAN, Lisp, Lingo, SQL, Delphi, dBase, etc.
Los lenguajes son un código de instrucciones que permiten hacer programas.
La Programación de las primeras computadoras (para cambiar un proceso por otro) se efectúa reacomodando cables y conexiones (los programas eran cableados), esto fue evolucionando hasta eliminar lo mecánico y volviendo lógica la programación.
Los Lenguajes de Programación pueden clasificarse de varias manera, las principales son las siguientes:
• Por su Nivel.
• Por sus Aplicaciones principales.
Paradigmas de programación:
Los lenguajes y métodos de diseño son la guía para producir el diseño de un sistema. Un método de diseño es la forma de producir el diseño de un sistema. Los métodos más usados son: “Estructurado”, Diseño Descendente o “Top Down “y Diseño “Orientado a Objetos”. No obstante estas metodologías de diseño, dentro de los lenguajes de programación es común encontrar los llamados paradigmas de programación. Los lenguajes que soportan un paradigma especifico de computación se puede clasificar en orientado al paradigma de computación.Los lenguajes de programación convencionales son una abstracción de la arquitectura de la computadora subyacente. El modelo abstracto consiste en la ejecución secuencia paso por paso, de las instrucciones que cambian el estado de la computación vía la modificación del almacén de valores. Los lenguajes convencionales basados en el modelo computacional Von Newman se llaman imperativos.
Programación orientada a objetos:
La POO ( Programación Orientada a Objetos) se puede definir como “un método de implementación en el que los programas se organizan como colecciones cooperativas de objetos, cada uno de los cuales representan una instancia de alguna clase, y cuyas clases son todas miembros de una jerarquía de clases unidas mediante relaciones de herencia”.Existen tres importantes partes en la definición: la programación orientada a objetos 1) utiliza objetos, no algoritmos, como bloques de construcción lógicos; 2) cada objeto es una instancia de una clase; 3) las clases se relacionan unas con otras por medio de relaciones de herencia.
Es importante remarcar que si alguna de estas características no se cumple no se trata de programación orientada a objetos. Por ejemplo, la programación si herencia es distinta de la POO y se le denomina programación con tipos abstractos de datos o programación basada en objetos. Por ejemplo, en las primeras versiones de PowerBuilder ( I, II y III ) no se trataba de un lenguaje totalmente orientado a objetos ya que no se podían heredar clases, así que fue denominado un LPBO ( Lenguaje de Programación Basado en Objetos). No fue hasta la versión IV que paso a ser un LPOO ( Lenguaje de programación Orientado a Objetos).
Compiladores e intérpretes:
El código generado a través de los Lenguajes de Programación (Código Fuente) debe ser convertido en una aplicación que pueda ser ejecutada y utilizada. Los compiladores e interpretes son una especie de traductores o conversores del lenguaje de programación (comprensible para el ser humano) a un lenguaje comprensible por la computadora (cercano a la maquina).-Tipos de programas:
Una vez escrito un programa éste puede estar en código fuente, código objeto o código ejecutable.
• Código Fuente: recibe este nombre el conjunto de instrucciones tal y como fueron escritos por el programador en el lenguaje de alto nivel (también se le conoce como programa fuente).
• Código Objeto: son las instrucciones de un programa cuando ya han sido traducidas al lenguaje máquina (también se le conoce como programa objeto).
• Código Ejecutable: es un código objeto que puede ser ejecutado por la computadora de inmediato (no todos los códigos objeto son ejecutables).
Los Interpretes:
Traduce a lenguaje máquina, cada línea del programa fuente y la ejecuta de inmediato.
Traducen en Lenguaje de Alto Nivel a Lenguaje Maquina, se encargan de traducir cada instrucción, una por una (o cada línea de instrucciones) contenida en un programa escrito en cualquier lenguaje de alto nivel a instrucciones en código binario, comprensible por las computadoras.
Los interpretes no producen código objeto, por ello la ejecución de un programa requiere forzosamente del código fuente. Además, los programas en lenguaje interpretado se ejecutan con mas lentitud que aquellos en lenguaje compilado.
Los Compiladores:
A diferencia de los intérpretes que traducen instrucción por instrucción o línea por línea, los compiladores traducen todo el programa entero y luego lo integran generando un programa ejecutable por si solo. Con esto se consigue mas eficacia e independencia , ya que una vez compilado el programa, el compilador no tiene por qué estar presente, pudiendo ser transportado el programa ejecutable a cualquier computadora, sin ver el listado de ordenes, ni manejar el compilador.
El compilador es un lenguaje especial que traduce a un programa fuente (escrito en lenguaje de alto nivel) a un código objeto.
El código o programa fuente es el conjunto de instrucciones en lenguaje de alto nivel.
Un compilador analiza las líneas del programa e identifica ciertas estructuras para traducirlas adecuadamente a lenguaje maquina. Una vez que se ha efectuado la compilación puede prescindirse del programa fuente.
El proceso de compilación del Programa Fuente se verifica en cuatro etapas:
• Análisis de léxico: durante esta etapa se verifica que las palabras utilizadas en el programa fuente pertenezcan al lenguaje.
• Análisis de sintaxis: esta parte de la compilación examina cada instrucción del programa fuente para que las instrucciones estén organizadas correctamente.
• Generación de código intermedio: este produce un código simbólico que permitirá efectuar la equivalencia con el lenguaje maquina.
• Generación de código maquina: en esta ultima etapa se elabora el programa objeto.
El código o programa objeto son las instrucciones de un programa que ya han sido traducidas a lenguaje maquina.
El código ejecutable es un código objeto que puede ser ejecutado por la computadora de inmediato.
A modo de resumen podemos decir que los compiladores producen programas que, una vez depurados y puestos a punto, son ejecutables directamente y los intérpretes, aunque tienen unas necesidades menores de memoria a la hora de traducir los programas fuente, nos hipotecan para siempre en cuanto al tiempo de ejecución de los programas.
Existen en el mercado compiladores para todos los lenguajes de alto nivel; los intérpretes en cambio sólo se han desarrollado para algunos lenguajes de programación siendo los más conocidos los de BASIC.
Generación de los lenguajes:
LENGUAJES DE PRIMERA GENERACIÓN: Lo constituyen los lenguajes maquina.
Estos se consideran como de bajo nivel por que no existe un programa de codificación menos complicado que el que utiliza los símbolos binarios 1 y 0.
• Ascii, utiliza ceros y unos para representar letras del alfabeto.
Como este es el lenguaje del CPU, los archivos de texto traducidos a los grupos binarios ASCII pueden leerse por casi cualquier plataforma de sistemas de computadoras.
LENGUAJES DE SEGUNDA GENERACIÓN
• A estos se les denomió lenguaje ensamblador.
• Los lenguajes ensambladores usan códigos como a para agregar o mvc para mover, y asi sucesivamente.
• Los programas de software de sistemas tales como los sistemas operativos y los programas de utilidad se escriben con frecuencia en un lenguaje ensamblador.
LENGUAJES DE TERCERA GENERACIÓN
• Estos son mas fáciles de aprender y usar que los lenguajes maquina y el lenguaje ensamblador, pues su similitud con la comunicación y comprensión humana cotidiana es mayor.
• Enunciados, Print, Total sales, Read normal Pay etc.
• Aunque son mas fáciles de programar, no son tan eficientes en términos de rapidez operacional y memoria.
LENGUAJES DE TERCERA GENERACIÓN
• Son relativamente independientes del hardware de la computadora. Esto significa que el mismo programa puede utilizarse en varias computadoras diferentes de distintos fabricantes
LENGUAJES DE CUARTA GENERACIÓN
• Son lenguajes que se relacionan menos con procedimientos y que son aun mas parecidos al ingles que los lenguajes de tercera generación.
• Algunas características incluyen capacidades de consulta y base de datos, de creación de códigos y capacidades gráficas.
Ejemplos Visual C++, Visual Basic, Power Builder, Delphi, Forte y muchos otros.
• Lenguajes de consulta son utilizados para hacer preguntas ala computadora con frases parecidas alas de un idioma, ejemplo el inglés.
• Lenguaje de consulta estructurado. Lenguaje estándar que a menudo se usa para realizar consultas y manipulaciones ala base de datos.
Lenguajes de Alto y Bajo nivel:
Lenguaje de bajo nivel (ENSAMBLADOR):Surge con la evolución del Lenguaje Maquina, sustituye las cadenas de símbolos binarios por nemotécnicos: ADD, SUB, DIV.
Dependen de las características de cada maquina y sólo son comprensibles por especialistas. Aparecieron durante la primera generación de computadoras.
0110 1001 1010 1011
ADD M, N, P
ADD suma DIV dividir
SUB resta LDA cargar acumulador
MPY multiplicar STO..almacenar
Una instrucción típica en ensamblador puede ser:
ADD x, y, z
Esta instrucción significa que se debe sumar los números almacenados en las direcciones x, y, y almacenar el resultado en la dirección z. El programa ensamblador traducirá.
Programa en código maquina programa en ensamblador
Después que un programa ha sido escrito en lenguaje ensamblador se necesita un programa -llamado ensamblador- que lo traduzca a código máquina.
Lenguaje de alto nivel:
Son desarrollados para el usuario de la computadora, permiten que los procedimientos se expresen con un estilo comprensible; sin embargo, la computadora no los entiende directamente. Algunos de estos lenguajes fueron desarrollados durante la Segunda Generación de computadoras y la mayoría durante la Tercera Generación, por ejemplo: Pascal, BASIC, Ada, FORTRAN, etc.
Usan traductores (compiladores o interpretes), son independientes de la máquina, las instrucciones no dependen del diseño de la maquina, los programas son portables o transportables, pueden ejecutarse en diferentes máquinas.
Por ejemplo, las líneas siguientes son: una línea de un programa en Turbo Pascal y su línea equivalente en pseudo código.
IF (x=y) AND (z=w) THEN WRITE (`esto es una prueba');
si (x=y) y (z=w) entonces ESCRIBIR (`esto es una prueba');
Estas líneas se pueden comprender fácilmente conociendo la traducción de las palabras inglesas IF(si), THEN (entonces), WRITE(escribir / imprimir), AND(y) y sin necesidad de mucha explicación.
Es posible escribir también operaciones como:
Z := x + y la suma x + y se asigna a la variable z.
Fuente:
http://informaticaxp.net/clasificacion-y-tipos-de-software
http://html.rincondelvago.com/software_1.html
http://html.rincondelvago.com/lenguajes-de-programacion_13.html
http://html.rincondelvago.com/programacion_27.html
Autores:
> Iván Eneas Sainato Yur
> Kevin Leonel Cristo
No hay comentarios:
Publicar un comentario