martes, 15 de enero de 2013

ARQUITECTURA DE COMPUTADORA








LICENCIATURA EN INFORMATICA

ASIGNATURA: ARQUITECTURA DE COMPUTADORA

FACILITADORA: YINA GUÑIDO

MARÍA DEL CARMEN TENORIO
16/01/2013






Índice
Introducción                                                                                           
Qué es una computadora
Componentes de un computador
    1. Dispositivo de entrada
    2. Dispositivo de salida
    3. Unidad central de proceso (CPU)  o procesador
    4. Unidad Aritmética y Lógica (UAL)
    5. Unidad de Control  (UC)
    6. Memorial principal o Central
    7. Memoria secundaria o externa
Representación de la información en las computadoras
    1. Representación de textos
    2. Representación de reales
    3. Representación de caracteres
El software
    1. Software del sistema                                                      
    2. Software de aplicación
    3. Sistema operativo
                                          i.    Tipos de sistemas operativos
                                        ii.    Clasificación de sistemas operativos
1.    Multiprogramación/multitarea
2.    Tiempo compartido(múltiples usuarios time sharing)
3.    Multiproceso
Redes
    1. Componentes de una red
    2. Los tipos de redes
                                          i.    Por su tamaño
                                        ii.    Por la forma de conexión
    1. Arquitectura de las redes locales
                                          i.    Unidad de Control
1.    Tarjeta Madre
2.    Disco Duro                                                 
3.    BIOS
Lenguajes de programación
    1. Traductores de lenguaje
                                          i.    Intérpretes
                                        ii.    Compiladores
    1. La compilación y sus fases
    2. Evolución de los lenguajes de programación
    3. Paradigmas de programación
    4. Lenguajes imperativos (procedimentales)
    5. Lenguajes declarativos
    6. Lenguajes orientados a objetos
Conclusión












INTRODUCCIÓN
Los lenguajes de computadora se utilizan para resolver problemas, y ha habido miles de años de trabajo en matemáticas para este fin. Los lenguajes de programación están especificados por reglas para formar instrucciones correctas, organizándolas en módulos, someterlas hacia un compilador, el cual traduce el código en un lenguaje comprensible para una máquina en particular, y finalmente ejecutar el programa, es decir, someter la entrada hacia la computadora, la cual transforma en una salida de acuerdo con las instrucciones en el programa.
Cuando usamos una computadora, estamos intentados resolver un problema. Puede ser un problema de negocios, que involucra ganancias y pérdidas; un problema científico que emplea modelos de comportamiento físico. Los computadores actuales no tienen en su interior mecanismos o ruedas con dientes, sino un laberinto microscópicos transistores que reaccionan ante los impulsos eléctricos que pasan por sus circuitos y que tienen solo dos posiciones, que corresponden a las cifras empleadas por el sistema binario, ceros y unos. Si bien las instrucciones en las primeras máquinas debían ser ingresadas en ceros y unos, los computadores actuales son capaces de transformar las palabras, números e instrucciones que ingresamos a bits -dígitos binarios-. Así, cada computador debe traducir uno o más lenguajes en código binario para poder funcionar.



















QUE ES UNA COMPUTADORA
Una computadora es un sistema digital con tecnología microelectrónica capaz de procesar datos a partir de un grupo de instrucciones denominado programa. La estructura básica de una computadora incluye microprocesador (CPU), memoria y dispositivos de entrada/salida (E/S), junto a los buses que permiten la comunicación entre ellos.
COMPONENTES
Entrada
  • ü  Teclado
  • ü  Ratón
  • ü  Joystick
  • ü  Lápiz óptico
  • ü  Micrófono
  • ü  Webcam
  • ü  Escáner
  • ü  Escáner de código de barras  
  •                                                                                                  Salida
  • ü  Monitor
  • ü  Altavoz
  • ü  Auriculares
  • ü  Impresora
  • ü  Plotter
  • ü  Proyector

Unidad central de proceso (CPU)  o procesador
Es el cerebro de la computadora, pues es el coordinador de la máquina y la parte encargada de supervisar el funcionamiento de las otras secciones. La CPU le dice a la unidad de entrada cuándo debe leerse información para introducirla en la unidad de memoria, le dice a la ALU cuando la información de la unidad de memoria debe utilizarse en los cálculos y le dice la unidad de salida cuando debe enviar la información que está es la unidad de memoria a ciertos dispositivos de salida.


            La Unidad Central de Procesamiento CPU se divide en dos:
  • v  Unidad de Control: Coordina las actividades de la computadora y determina que operaciones se deben realizar y en qué orden; así mismo controla todo el proceso de la computadora.
  • v  Unidad Aritmética - Lógica: Realiza operaciones aritméticas y lógicas, tales como suma, resta, multiplicación, división y comparaciones.


  • Unidad Aritmética y Lógica (UAL)

En computación, la unidad aritmético lógica, también conocida como ALU, es un circuito digital que calcula operaciones aritméticas (como suma, resta, multiplicación, etc.) y operaciones lógicas (si, y, o, no), entre dos números.
Muchos tipos de circuitos electrónicos necesitan realizar algún tipo de operación aritmética, así que incluso el circuito dentro de un reloj digital.

Unidad de Control  
 Es uno de los tres bloques funcionales principales en los que se divide una unidad central de procesamiento (CPU). Los otros dos bloques son la unidad de proceso y el bus de entrada/salida.
Su función es buscar las instrucciones en la memoria principal, decodificarlas (interpretación) y ejecutarlas, empleando para ello la unidad de proceso.


Memorial principal o Central
Es aquella memoria de un ordenador, donde se encuentran el código de instrucciones y los datos del programa, que es ejecutado actualmente.
La estructura de la memoria principal ha cambiado en la historia de las computadoras. Desde los años 1980 es preventivamente una unidad dividida en celdas que se identifican mediante una dirección. Está formada por bloques de circuitos integrados o chips capaces de almacenar, retener o "memorizar" información digital, es decir, valores binarios; a dichos bloques tiene acceso el microprocesador de la computadora.

Memoria secundaria o externa
Almacenamiento secundario (memoria secundaria, memoria auxiliar   o memoria externa) es el conjunto de dispositivos (aparatos) y medios (soportes) de almacenamiento, que conforman el sistema de memoria de una computadora, junto a la memoria principal. También llamado periférico de almacenamiento.










Representación de la información en las computadoras
Representación de textos
La información se suele introducir en el computador utilizando el lenguaje escrito:
  • v  Caracteres alfabéticos: son las letras mayúsculas y minúsculas del abecedario inglés.
  • v  Caracteres numéricos: están constituidos por las diez cifras decimales.
  • v  Caracteres especiales: son los símbolos no incluidos en los grupos anteriores.
  • v  Caracteres geométricos y gráficos: Son símbolos o módulos con los que se pueden representar figuras (o iconos).
  • v  Caracteres de control: representan órdenes de control, como el carácter indicador de fin de línea o el carácter indicador de sincronización de una transmisión o de que se emita un pitido en un terminal, etc. Muchos de los caracteres de control son generados e insertados por la propia computadora.

Las computadoras suelen utilizar un sistema aritmético para la traducción de números y letras utilizado comúnmente por el usuario, este se denomina sistema binario, además pueden utilizar sistemas para representar códigos intermedios, como el octal y el hexadecimal.




Las magnitudes contiguas son las que pueden adoptar los infinitos valores de un intervalo de números reales, tales como la longitud de un segmento, velocidad, temperatura. Las magnitudesdiscretas tienen naturaleza discontinua, tales como la longitud (número de sílabas) de una palabra, capacidad.

En relación con ambos tipos de magnitudes se considera la información analógica, que es de naturaleza continua, pudiendo tomar infinitos valores; y la información digital, que es de naturaleza discreta y también puede tomar infinitos valores.
Las computadoras funcionan mediante señales eléctricas digitales binarias, por lo que la información representada por dichas señales deberá codificarse mediante un sistema de representación digital binario. Así, los distintos símbolos que representan la información humana, letras y números, deberán convertirse a la representación binaria de la computadora.



Unidades de la Información en los sistemas digitales

La razón de ser un computador es el procesamiento de información. Para poder hablar con propiedad de este procesamiento, debemos definir unidades de medida que nos permitan cuantificar de algún modo la acción del computador sobre la información suministrada.
Consideramos las siguientes:
Bit (Binary Digit) es la cantidad de información que puede almacenarce en una variable bianria. Una variable bina ria es la que puede tomar 2 valores estables: 0 ó 1, blaco o negro, si o no, etc.
El byte es la cantidad de información que puede codificarse en 8 bits; representa por tanto 2 elevado a la 8 = 256 valores.

1 bit unidad mínima
1 byte = 8 bits
1 Kbyte = 1024 bytes= 2 elevado a la 10 bits







SOFTWARE
Sin el software, una computadora no es más que una masa metálica sin utilidad. Con el software, una computadora puede almacenar, procesar y recuperar información, encontrar errores de ortografía en manuscritos, tener aventuras e intervenir en muchas otras valiosas actividades para ganar el sustento.



QUE ES SOFTWARE
Se conoce como software al equipamiento lógico o soporte de un sistema informático, comprende el conjunto de los componentes lógicos necesarios que hacen posible la realización de tareas específicas, en contraposición a los componentes físicos, que son llamados hardware.

SOFTWARE DE APLICACIÓN
Este describe programas que son para el usuario, así descrito para poder realizar casi cualquier tarea. Este es aquel cuyo que puede ser utilizado en cualquier instalación informática.
  • Aplicaciones de negocios: en esta se encuentran los procesadores de palabras, hojas de cálculos, base de datos.
  • Aplicaciones de Utilería
  • Aplicaciones Personales
  • Aplicaciones de Entretenimiento

SISTEMA OPERATIVO

Es una serie de programas que administran los recursos del computador. Este indica como interactuar con el usuario y como usar los dispositivos: discos duros, teclado y monitor.


FUNCIÓN
  • Ø  Es el núcleo de toda la actividad del software.
  • Ø  Monitorea y controla todas las entradas y salidas de sistemas de computación.
  • Ø  Este responde a las indicaciones del usuario, o de un conjunto previamente definido de comandos.
  • Ø  Controla la ejecución de varios programas, simultáneamente.
  • Ø  Actúa como traductor, entre las operaciones y la respuesta de la máquina.
  • Ø  Informa al usuario de cualquier error que presente la máquina.
  • Ø  Este posee un programa llamado "manipulador de discos" opera con un circuito electrónico llamado controlador de discos, este ayuda a traducir las ordenes de los programas para encontrar la pista adecuada.

Tipos de sistemas operativos
Existen varios tipos de sistemas operativos, definidos según su capacidad para administrar simultáneamente información de 16 bits, 32 bits, 64 bits o más.
Sistema
Programación
Usuario único
Usuario múltiple
DOS
16 bits
X
Windows3.1
16/32 bits
X
no preventivo
Windows95/98/Me
32 bits
X
cooperativo
WindowsNT/2000
32 bits
X
preventivo
WindowsXP
32/64 bits
X
preventivo
Unix / Linux
32/64 bits
X
preventivo
MAC/OS X
32 bits
X
preventivo
VMS
32 bits
X
preventivo
Sistemas Operativos de multiprogramación o multitareas
Es el modo de funcionamiento disponible en algunos sistemas operativos, mediante el cual una computadora procesa varias tareas al mismo tiempo. Existen varios tipos de multitareas. La conmutación de contextos es un tipo muy simple de multitarea en el que dos o más aplicaciones se cargan al mismo tiempo.
LAS CARACTERÍSTICAS
  • Ø  Mejora productividad del sistema y utilización de recursos.
  • Ø  Multiple recursos entre varios programas.
  • Ø  Generalmente soportan múltiples usuarios (multiusuarios).
  • Ø  Proporcionan facilidades para mantener el entorno de usuarios individuales.
  • Ø  Requieren validación de usuario para seguridad y protección.
  • Ø  Proporcionan contabilidad del uso de los recursos por parte de los usuarios.


SISTEMA OPERATIVO MULTIUSUARIO
Se encuentran todos los sistemas que cumplen simultáneamente las necesidades de dos o más usuarios, que comparten mismos recursos. Este tipo de sistemas se emplean especialmente en redes.


SISTEMA OPERATIVO COMPARTIDO
Permiten la simulación de que el sistema y sus recursos son todos para cada usuario. El usuario hace una petición a la computadora, está la procesa tan pronto como le es posible, y la respuesta aparecerá en la terminal del usuario.
Los principales recursos del sistema, el procesador, la memoria, dispositivos de E/S, son continuamente utilizados entre los diversos usuarios, dando a cada usuario la ilusión de que tiene el sistema dedicado para sí mismo. Esto trae como consecuencia una gran carga de trabajo al Sistema Operativo, principalmente en la administración de memoria principal y secundaria.

MULTIPROCESADORES
Multiproceso es tradicionalmente conocido como el uso de múltiples procesos concurrentes en un sistema en lugar de un único proceso en un instante determinado. Como la multitarea que permite a múltiples procesos compartir una únic











REDES
Conjunto de computadores, equipos de comunicaciones y otros dispositivos que se pueden comunicar entre sí, a través de un medio en particular.
Parecida a su propia red de contactos, proveedores, partes y clientes, una red informática es simplemente una conexión unificada de sus ordenadores, impresoras, faxes, módems, servidores y, en ocasiones, también sus teléfonos. Las conexiones reales se realizan utilizando un cableado que puede quedar oculto detrás de las mesas de trabajo, bajo el suelo o en el techo. La red informática permite que sus recursos tecnológicos (y, por tanto, sus empleados) "hablen" entre sí; también permitirá conectar su empresa con la Internet y le puede aportar numerosos beneficios adicionales como teleconferencia, actividad multimedia, transferencia de archivos de vídeo y archivos gráficos a gran velocidad, servicios de información de negocio en línea, etc..



COMPONENTES DE UNA RED
Servidor: este ejecuta el sistema operativo de red y ofrece los servicios de red a las estaciones de trabajo.
Estaciones de Trabajo: Cuando una computadora se conecta a una red, la primera se convierte en un nodo de la última y se puede tratar como una estación de trabajo o cliente. Las estaciones de trabajos pueden ser computadoras personales con el DOS, Macintosh, Unix, OS/2 o estaciones de trabajos sin discos.
Tarjetas o Placas de Interfaz de Red: Toda computadora que se conecta a una red necesita de una tarjeta de interfaz de red que soporte un esquema de red especifico, como Ethernet, ArcNet o Token Ring. El cable de red se conectara a la parte trasera de la tarjeta.
Sistema de Cableado: El sistema de la red está constituido por el cable utilizado para conectar entre si el servidor y las estaciones de trabajo.
Recursos y Periféricos Compartidos: Entre los recursos compartidos se incluyen los dispositivos de almacenamiento ligados al servidor, las unidades de discos ópticos, las impresoras, los trazadores y el resto de equipos que puedan ser utilizados por cualquiera en la red.


TIPOS DE RES
Por su tamaño
Clasificación según su tamaño
 Las redes PAN (red de administración personal) son redes pequeñas, las cuales están conformadas por no más de 8 equipos, por ejemplo: café Internet.
 CAN: Campus Area Network, Red de Area Campus. Una CAN es una colección de LAN dispersadas geográficamente dentro de un campus (universitario, oficinas de gobierno, maquilas o industrias) pertenecientes a una misma entidad en una área delimitada en kilómetros. Una CAN utiliza comúnmente tecnologías tales como FDDI y Gigabit Ethernet para conectividad a través de medios de comunicación tales como fibra óptica y espectro disperso.
 Las redes LAN (Local Area Network, redes de área local) son las redes que todos conocemos, es decir, aquellas que se utilizan en nuestra empresa. Son redes pequeñas, entendiendo como pequeñas las redes de una oficina, de un edificio. Debido a sus limitadas dimensiones, son redes muy rápidas en las cuales cada estación se puede comunicar con el resto. Están restringidas en tamaño, lo cual significa que el tiempo de transmisión, en el peor de los casos, se conoce. Además, simplifica la administración de la red.
Suelen emplear tecnología de difusión mediante un cable sencillo (coaxial o UTP) al que están conectadas todas las máquinas. Operan a velocidades entre 10 y 100 Mbps.
 Características preponderantes:
  • Los canales son propios de los usuarios o empresas.
  • Los enlaces son líneas de alta velocidad.
  • Las estaciones están cercas entre sí.
  • Incrementan la eficiencia y productividad de los trabajos de oficinas al poder compartir información.
  • Las tasas de error son menores que en las redes WAN.



Por la forma de conexión

FORMAS DE CONEXIÓN.
Redirector (RDR) Es la forma más simple de conexión de una computadora en red, esta terminal o estación de trabajo sólo podrá enviar mensajes a las diferentes terminales y tendrá acceso a los periféricos de la red. La configuración mínima de una computadora para ser conectada a la red es la siguiente:
v  Almacenamiento principal mínimo: 128 Kbytes
v  Sistema Operativo de red: NETBIOS
v  Sistema Operativo DOS versión 3.0 o posterior
Receptor (RCV) Esta configuración incluye las capacidades del redirector dentro de las capacidades del receptor. El receptor está capacitado para recibir y enviar mensajes y utilizar los periféricos de la red.
La configuración mínima de una computadora para ser conectada a la red es la siguiente:
v  Almacenamiento principal mínimo: 192 Kbytes
v  Sistema Operativo de red: NETBIOS
v  Sistema Operativo DOS versión 3.0 o posterior

Arquitectura de las redes locales
Las redes de computadoras permiten la transmisión de información entre diferentes computadoras. Por otro lado la arquitectura de comunicaciones, básicamente, es la especificación funcional del sistema y sus componentes. Esta especificación no define cómo hay que implementar la arquitectura, sino que solamente decsribe los elementos de la misma y su disposición. A continuación se presentan algunos características de arqs. De redes:

Unidad de Control

La función principal de la unidad de control de la UCP es dirigir la secuencia de pasos de modo que la computadora lleve a cabo un ciclo completo de ejecución de una instrucción, y hacer esto con todas las instrucciones de que conste el programa. Los pasos para ejecutar una instrucción cualquiera son los siguientes:

*      Ir a la memoria y extraer el código de la siguiente instrucción (que estará en la siguiente celda de memoria por leer). Este paso se llama ciclo de fetch en la literatura computacional (to fetch significa traer, ir por).
*      Decodificar la instrucción recién leída (determinar de que instrucción se trata).
*      Ejecutar la instrucción.
*      Prepararse para leer la siguiente casilla de memoria (que contendrá la siguiente instrucción), y volver al paso 1 para continuar.

Tarjeta Madre

La tarjeta madre es el componente más importante de un computador, ya que en él se integran y coordinan todos los demás elementos que permiten su adecuado funcionamiento. De este modo, una tarjeta madre se comporta como aquel dispositivo que opera como la plataforma o circuito principal de una computadora.


Disco Duro

Un disco duro es un dispositivo de almacenamiento que constituye una de las partes más importantes de un computador. Es la parte del computador que contiene la información codificada y que almacena los distintos programas y archivos.



BIOS

Y por qué no se puede escribir en la BIOS?
Ya que sirve de puente de comunicación entre todos los dispositivos del ordenador, se almacena en un chip del tipo ROM (Read Only Memory), así que no se resetea al apagarse el monitor como sí lo haría una memoria RAM.
¿Y esto es para todas las BIOS?
No, a pesar de estar empotrada en una memoria de solo lectura, dicha ROM empleada en los chips de la BIOS, no es totalmente rígida, sino que se puede alterar ya que son del tipo EEPROM( Electrical Erasable and Programmable Read-Only Memory), que significa, memoria de solo lectura que se pude borrar y es más, se puede programar eléctricamente.
¿Cuántos tipos de chips para la BIOS existen?
Existen 2 tipos:
Los del tipo EEPROM que ya mencionamos antes y los
EEPROM Flash ROM




LENGUAJES DE PROGRAMACIÓN
Un lenguaje de programación" es un lenguaje diseñado para describir el conjunto de acciones consecutivas que un equipo debe ejecutar. Por lo tanto, un lenguaje de programación es un modo práctico para que los seres humanos puedan dar instrucciones a un equipo.
El lenguaje utilizado por el procesador se denomina lenguaje máquina. Se trata de datos tal como llegan al procesador, que consisten en una serie de 0 y 1 ( datos binarios).
El lenguaje máquina, por lo tanto, no es comprensible para los seres humanos, razón por la cual se han desarrollado lenguajes intermediarios comprensibles para el hombre. El código escrito en este tipo de lenguaje se transforma en código máquina para que el procesador pueda procesarlo.



 Traductores de lenguaje
Traductor de lenguaje. Software de sistemas que convierte un código fuente del programador en su equivalente en lenguaje máquina.
Código fuente. Código de programación de nivel alto escrito por el programador.
Código objeto. Otro nombre para el código de lenguaje máquina.
Intérprete. Traductor de lenguajes que convierte, a la vez, una sentencia de programa a un código de máquina.


 Intérpretes
Traductor de lenguajes de programación de alto nivel, los intérpretes ejecutan un programa línea por línea. El programa siempre permanece en su forma original (programa fuente) y el intérprete proporciona la traducción al momento de ejecutar cada una de las instrucciones. Un intérprete es un programa que procesa los programas escritos en un lenguaje de alto nivel, sin embargo, está diseñado de modo que no existe independencia entre la etapa de traducción y la etapa de ejecución. Un intérprete traduce cada instrucción o sentencia del programa escrito a un lenguaje máquina e inmediatamente se ejecuta. Encuentran su mayor ventaja en la interacción con el usuario, al facilitar el desarrollo y puesta a punto de programas, ya que los errores son fáciles de detectar y sobre todo de corregir.


 Compiladores
Es un programa que traduce un lenguaje de alto nivel al lenguaje máquina. Un programa compilado indica que ha sido traducido y está listo para ser ejecutado. La ejecución de los programas compilados es más rápida que la de los interpretados, ya que el intérprete debe traducir mientras está en la fase de ejecución (saca todos los errores). Un compilador es un programa que traduce el programa fuente (conjunto de instrucciones de un lenguaje de alto nivel, por ejemplo Basic o Pascal) a programa objeto (instrucciones en lenguaje máquina que la computadora puede interpretar y ejecutar).
Se requiere un compilador para cada lenguaje de programación. Un compilador efectúa la traducción, no ejecuta el programa. Una vez compilado el programa, el resultado en forma de programa objeto será directamente ejecutable. Presentan la ventaja considerable frente a los intérpretes de la velocidad de ejecución, por lo que su uso será mejor en aquellos programas probados en los que no se esperan cambios y que deban ejecutarse muchas veces. En caso de que se opte por un interpretador se debe considerar que el intérprete resida siempre en memoria.

            La compilación y sus fases
 Fases del proceso de compilación:
  • Análisis léxico: Identificación de palabras y símbolos del lenguaje.
  • Análisis sintáctico: Comprobación de las reglas sintácticas.
  • Análisis semántico: Comprobación de las reglas semánticas (variables no Declaradas, comprobación de tipos,…). Interpretación de las órdenes.
  • Optimización: Análisis del programa para mejorarlo (en velocidad, en espacio de memoria)

           Evolución de los lenguajes de programación
AÑOS                                                                     LENGUAJES DE PROGRAMACIÓN

1950                                                       Lenguaje Ensamblador (lenguaje máquina)
1955                                                       Lenguajes experimentales de alto nivel
1956                                                       FORTRAN ALGOL 58 y 60
1960                                    COBOL LISP
1961                                    FORTRAN COBOL 61 Extendido ALGOL 60     
                                                                Revisado SNOBOL
1965                                    BASIC  APL (como notación sólo) PL/I
1966-1970                           APL/360 FORTRAN 66 (estándar)
                                                                COBOL 65 (estándar) ALGOL                 
                                                                 68 SNOBOL 4  SIMULA 67
1971-1975                           COBOL 74PASCAL
1976-1980                           ADA FORTRAN 77 PROLOG C Modula-2
1980                                    C++
2000                                    JAVA




 Paradigmas de programación
 Un paradigma de programación es una propuesta tecnológica que es adoptada por una comunidad de programadores cuyo núcleo central es incuestionable en cuanto a que unívoca mente trata de resolver uno o varios problemas claramente delimitados. La resolución de estos problemas debe suponer consecuentemente un avance significativo en al menos un parámetro que afecte a la ingeniería de software. Tiene una estrecha relación con la formalización de determinados lenguajes en su momento de definición. Un paradigma de programación está delimitado en el tiempo en cuanto a aceptación y uso ya que nuevos paradigmas aportan nuevas o mejores soluciones que la sustituyen parcial o totalmente.


 Lenguajes imperativos (procedimentales)
 La programación imperativa, en contraposición a la programación declarativa es un paradigma de programación que describe la programación en términos del estado del programa y sentencias que cambian dicho estado. Los programas imperativos son un conjunto de instrucciones que le indican al computador cómo realizar una tarea.
La implementación de hardware de la mayoría de computadores es imperativa; prácticamente todo el hardware de los computadores está diseñado para ejecutar código de máquina, que es nativo al computador, escrito en una forma imperativa. Esto se debe a que el hardware de los computadores implementa el paradigma de las Máquinas de Turing. Desde esta perspectiva de bajo nivel, el estilo del programa está definido por los contenidos de la memoria, y las sentencias son instrucciones en el lenguaje de máquina nativo del computador (por ejemplo el lenguaje ensamblador).

Lenguajes declarativos
Un lenguaje declarativo es un tipo de lenguaje de programación basado más en las matemáticas y en la lógica que los lenguajes imperativos, más cercanos estos al razonamiento humano. Los lenguajes declarativos no dicen cómo hacer una cosa, sino, más bien, qué cosa hacer. A diferencia de los imperativos, no suele haber declaración de variables ni tipos.
Ejemplo de un programa en un lenguaje declarativo: Este sería el código de un programa que determina la factorial de un número en un lenguaje declarativo.


Lenguajes orientados a objetos
Se le llama así a cualquier lenguaje de programación que implemente los conceptos definidos por la programación orientada a objetos.
Cabe notar que los conceptos definidos en la programación orientada a objetos no son una condición sino que son para definir que un lenguaje es orientado a objetos. Existen conceptos que pueden estar ausentes en un lenguaje dado y sin embargo, no invalidar su definición como lenguaje orientado a objetos.
Quizás las condiciones mínimas necesarias las provee el formalismo las propiedades de un sistema orientado a objetos: los tipos de datos abstractos.
Siguiendo esa idea, cualquier lenguaje que permita la definición de tipos de datos, de operaciones nuevas sobre esos tipos de datos,  podría ser considerado orientado a objetos.

CONCLUSIÓN
Las computadoras son muy importantes para todas las personas debido a que nos ayuda a mejorar nuestra calidad de vida, a hacer el trabajo más rápido y hasta con mejor presentación, además nos permite obtener cualquier información deseada en la red (Internet), comunicarnos con nuestros familiares que se encuentren en otro país por medio de chats o por mails, además nos proporcionan entretenimiento con juegos bien sea que hayan sido bajados de la red o que se encuentren en discos o CDS (periféricos).
Como puede verse, existen lenguajes específicos para cada tarea diferente. Muchos de ellos (Lenguajes de Programación) ya no se usan, mientras que las nociones de otros han sido incorporadas a otros lenguajes.
Los lenguajes y las Técnicas de Programación son importantes para la utilización de la computadora como una herramienta para resolver problemas. En computación, un Problema consiste en la necesidad de transformar un grupo de datos iniciales en un grupo diferente de datos finales (resultados).
De este modo, una computadora podrá resolver un problema si alguien desarrolla un programa que contenga las instrucciones adecuadas que permitan transformar los datos. Los lenguajes deben ser confiables, comprensibles, eficientes en términos de tiempo de ejecución y consumo de espacio, y deben satisfacer las necesidades de una comunidad, ya sean científicos, hombres de negocios o usuarios no técnicos. 


v  BIBLIOGRAFÍA.
·            APPLEBY, Doris LENGUAJES DE PROGRAMACIÓN. Paradigma y Práctica. Tr. De Efrén A. Miguel. México, Ed. INTEREMERICANA - McGraw-Hill, 1998 (c 1997). 493p.
·            AULA Curso de orientación escolar INFORMATICA. España, Madrid, Ed. CULTURAL, 1995 . 325p.
·            JOYANES, Aguilar. PROGRAMACION EN TURBO PASCAL. Versiones 5.5, 6.0 y 7.0. 2da. Edición. México, D.F., Ed. INTERAMERICANA - McGraw-Hill, (c. 1993). 914p.
·            Manual de METODOLOGÍA DE LA PROGRAMACIÓN ESTRUCTURADA. Impartido por L.I.A Ninfa Urania García Ulin. Universidad Juárez Autónoma de Tabasco. 35p.
·            ENCICLOPEDIA INTERACTIVA DE LOS CONOCIMIENTOS. Autor: Carlos Gispert. Océano. Pag. 1107-1152
o   Páginas webwww.google.com