SlideShare una empresa de Scribd logo
1 de 20
REPÚBLICA BOLIVARIANA DE VENEZUELA
MINISTERIO DEL PODER POPULAR PARA LA EDUCACIÓN
UNIVERSITARIA, CIENCIA Y TEGNOLOGÍA
UNIVERSIDAD ALEJANDRO DE HUMBOLDT
MATERIA: PROGRAMACION I
SEDE: LOS DOS CAMINOS
 Generaciones de lenguajes
 Lenguajes de Bajo Nivel
 El lenguaje maquina
 El lenguaje ensamblador
 El lenguaje ensamblador
 Lenguaje intermedio
 Los lenguajes de alto nivel
 Ejemplos de lenguajes de programación de alto nivel
 Lenguaje C
 Características
 Ventajas
 Lenguaje C ++
 Diferencias entre C vs C++
 Lenguajes de programación orientada a objetos
Generaciones
La evolución de los lenguajes de programación se puede dividir en 5 etapas o generaciones.
•Primera generación: Lenguaje máquina.
•Segunda generación: Se crearon los primeros lenguajes ensambladores.
•Tercera generación: Se crean los primeros lenguajes de alto nivel. Ej. C, Pascal, Cobol…
•Cuarta generación. Son los lenguajes capaces de generar código por si solos, son los
llamados RAD, con lo cuales se pueden realizar aplicaciones sin ser un experto en el lenguaje.
Aquí también se encuentran los lenguajes orientados a objetos, haciendo posible la
reutilización d partes del código para otros programas. Ej. Visual, Natural Adabes…
•Quinta generación: Aquí se encuentran los lenguajes orientados a la inteligencia artificial.
Estos lenguajes todavía están poco desarrollados.
Lenguajes de Bajo Nivel
Son mas fáciles de utilizar que los lenguajes máquina, pero, al igual que ellos,
dependen de la máquina en particular. El lenguaje de bajo nivel por excelencia es el
ensamblador. Las instrucciones en lenguaje ensamblador son instrucciones conocidas como
nemotécnicos. Por ejemplo, nemotécnicos típicos de operaciones aritméticas son: en inglés,
ADD, SUB, DIV, etc.; en español, SUM,RES,DIV,etc. Una instrucción típica de suma sería:
ADD M, N, P
Esta instrucción podría significar “sumar el número contenido en la posición de
memoria M al número almacenado en la posición de memoria N y situar el resultado en la
posición de memoria P”. Evidentemente es mucho más sencillo recordar la instrucción anterior
con un nemotécnico que su equivalente en código máquina”.
0110 1001 1010 1011
Un programa escrito en lenguaje ensamblador no puede ser ejecutado directamente por la
computadora en esto se diferencia esencialmente del lenguaje máquina, sino que requiere una
fase de traducción al lenguaje máquina.
El lenguaje maquina
Un lenguaje de máquina es aquel con el que trabaja el microprocesador; da
ordenes a la máquina, que son las operaciones fundamentales para su funcionamiento.
para reaccionar y efectuar la operación que se desea, necesita de una secuencia de
señales eléctricas almacenadas como "unos" y "ceros" en las posiciones de la memoria.
Una y solo una secuencia de señales concreta, realiza una determinada operación.
Identificaremos a partir de ahora la existencia de señal con un "1" y la ausencia con un
"0".
Este lenguaje es mucho más rápido que los lenguajes de alto nivel.
La desventaja es que son bastantes difíciles de manejar y usar, además de tener códigos
fuente enormes donde encontrar un fallo es casi imposible.
•Ventajas del lenguaje ensamblador.
Los lenguajes ensambladores presentan la ventaja frente a los lenguajes máquina de su
mayor facilidad de codificación y, en general, su velocidad de cálculo.
•Desventajas del lenguaje ensamblador.
Los inconvenientes más notables de los lenguajes ensambladores son:
•Dependencia total de la máquina lo que impide la transportabilidad de los programas.
El lenguaje ensamblador del PC es distinto del lenguaje ensamblador del Apple
Macintosh.
•La formación de los programadores es más compleja que la correspondiente a los
programadores de alto nivel, ya que no sólo las técnicas de programación, sino también
el conocimiento del interior de la máquina.
El lenguaje ensamblador
Es un derivado del lenguaje maquina y esta formado por abreviaturas de letras y
números.
Con la aparición de este lenguaje se crearon los programas traductores para poder pasar los
programas escritos en lenguaje ensamblador a lenguaje máquina.
Como ventaja, es que los códigos fuentes eran más cortos y los programas creados
ocupaban menos memoria.
En este tipo de lenguajes se trabaja a nivel de instrucciones, es decir, su programación es al
más fino detalle, además, está completamente orientado a la máquina.
El lenguaje ensamblador
Características:
•Adaptación : Máxima entre programación y aprovechamiento del recurso de la máquina.
•Velocidad : Máxima al contar con un acceso directo a los recursos, sin capas intermedias.
•Portabilidad : Mínima por estar restringido a las especificaciones del fabricante.
•Abstracción : Mínima por depender completamente de la técnica del hardware.
•Uso : Requiere de la máxima atención y de una organización estructurada en base a los
planos del hardware y del objetivo del software.
Lenguaje intermedio
Es el lenguaje de una máquina abstracta diseñada para ayudar a realizar el análisis de
un programa informático. El término proviene de su uso en compiladores, donde el código
fuente de un programa es traducido a un modo más apropiado para transformaciones de
mejora de código antes de generar el código objeto o código máquina para una máquina
determinada. El diseño del lenguaje intermedio difiere típicamente del lenguaje de
máquina de tres maneras fundamentales:
•Cada instrucción representa exactamente una operación fundamental; por ejemplo,
los modos de direccionamiento "shift-add" (desplazar y añadir) comunes
en microprocesadores no están presentes.
•La información de la estructura de control puede no estar incluida en el juego de
instrucciones.
•El número de registros disponibles puede ser grande, incluso ilimitado.
Los lenguajes de alto nivel
También denominados lenguajes evolucionados, surgen con posterioridad a
los anteriores, con los siguientes objetivos, entre otros:
•Lograr independencia de la máquina, pudiendo utilizar un mismo programa en
diferentes equipos con la única condición de disponer de un programa traductor o
compilador, que lo suministra el fabricante, para obtener el programa ejecutable
en lenguaje binario de la máquina que se trate. Además, no se necesita conocer el
hardware específico de dicha máquina.
•Incluir rutinas de uso frecuente como son las de entrada/salida, funciones
matemáticas, manejo de tablas, etc, que figuran en una especie de librería del
lenguaje, de tal manera que se pueden utilizar siempre que se quieran sin
necesidad de programarlas cada vez.
Estos lenguajes permiten al programador olvidarse por completo del funcionamiento
interno de la maquina/s para la que están diseñando el programa. Tan solo necesitan
un traductor que entiendan el código fuente como las características de la maquina.
Los lenguajes de alto nivel
Ventajas
- Resultan en un código fuente más fácil de leer, escribir y mantener por los
humanos. En general, permite emplear menos líneas de código en comparación
con lenguaje máquina.
- Permiten escribir un código válido ejecutable en distintos tipos de máquinas y
sistemas operativos.
- Emplean paradigmas de programación.
Desventajas
- Son más lentos de ejecutar, siendo el código máquina más eficiente. De todas
maneras esto depende del diseño del compilador para lenguajes de alto nivel:
un buen diseño produce más eficiencia.
- En algunos casos el programa resultante requiere una determinada
plataforma para ejecutarse.
Ejemplos de lenguajes de programación de alto nivel
Los primeros lenguajes de programación de alto nivel fueron diseñados en los 50. Actualmente
existen cientos de lenguajes de este tipo como:
- BASIC
- C (algunos lo consideran de nivel medio)
- C++ (algunos lo consideran de nivel medio)
- Delphi
- FORTRAN
- Java
- LISP
- Modula-2
- Pascal
- Perl
- php
- Prolog
- Python
- Visual Basic .NET
Lenguaje C
Es un lenguaje de programación de propósito general asociado, de modo
universal, al sistema operativo UNIX. Sin embargo, la popularidad, eficacia y potencia
de C se ha producido porque este lenguaje no está prácticamente asociado a
ningún sistema operativo, ni a ninguna máquina en especial.
Esta es la razón fundamental por la que C es conocido como el lenguaje de
programación de sistemas por excelencia.
Es un lenguaje de alto nivel, que permite programar con instrucciones de lenguaje de
propósito general.
También C se define como un lenguaje de programación estructurado de propósito
general; aunque en su diseño también primó el hecho de fuera especificado como:
•Un lenguaje de programación de sistemas, lo que proporciona una enorme cantidad de
potencia y flexibilidad.
•Asignación de estructuras (registros) y enumeraciones.
• Preprocesador más sofisticado.
•En la actualidad, el lenguaje C sigue siendo uno de los más utilizados en la industria del
software, así como en institutos tecnológicos, escuelas de ingeniería y universidades.
Prácticamente todos los fabricantes de sistemas operativos (tomando en cuenta a: UNIX,
Linux, MacOS, Solaris, Windows, entre otros.), soportan diferentes tipos de compiladores
de lenguaje C.
Características
Ventajas del lenguaje C
El lenguaje C tiene una gran cantidad de ventajas sobre otros lenguajes y
constituyen precisamente la razón fundamental de que después de casi dos décadas de
uso C siga siendo uno de los lenguajes más populares, utilizados en empresas, organizaciones
y fábricas de software de todo el mundo.
C se caracteriza por su velocidad de ejecución. En los primeros días de la informática los
problemas de tiempo de ejecución se resolvían escribiendo todo o parte de una aplicación
en lenguaje ensamblador (muy al lenguaje de máquina).
Debido a que existen muchos programas escritos en el lenguaje C, se han creado
numerosas bibliotecas C para programadores profesionales que soportan gran variedad de
aplicaciones.
++ es un lenguaje de programación diseñado a mediados de los años 1980
por BjarneStroustrup. La intención de su creación fue el extender al exitoso lenguaje
de programación C con mecanismos que permitan la manipulación de objetos. En ese
sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un
lenguaje híbrido.
Posteriormente se añadieron facilidades de programación genérica, que se
sumó a los otros dos paradigmas que ya estaban admitidos (programación
estructurada y la programación orientada a objetos). Por esto se suele decir que el
C++ es un lenguaje de programación multiparadigma. Actualmente existe un
estándar, denominado ISO C++,
C# es un lenguaje propietario de Microsoft que mezcla las características básicas de
C++ (no las avanzadas) simplificándolas al estilo Java y ofreciendo un framework. C#
forma parte de la plataforma .NET
Lenguaje C ++
{} entre llaves
Las llaves sirven para definir el principio y el final de un bloque de instrucciones. Se utilizan para los
bloques de programación
Una llave de apertura “{“ siempre debe ir seguida de una llave de cierre “}”, si no es así el
compilador dará errores.
; punto y coma
El punto y coma “;” se utiliza para separar instrucciones en el lenguaje de programación de
Arduino. También se utiliza para separar elementos en una instrucción de tipo “bucle for”.
Nota: Si olvidáis poner fin a una línea con un punto y coma se producirá en un error de
compilación.
/*… */ bloque de comentarios
Los bloques de comentarios, o comentarios multi-línea son áreas de texto ignorados por el
programa que se utilizan para las descripciones del código o comentarios que ayudan a comprender
el programa.
// línea de comentarios
Una línea de comentario empieza con / / y terminan con la siguiente línea de código. Al igual que
los comentarios de bloque, los de línea son ignoradas por el programa y no ocupan espacio en la
memoria.
Algunas sintaxis
Diferencias entre C vs C++
Estos lenguajes derivan uno de otro, pero tienen diferencias muy claras.
•C es un lenguaje creado por Dennis Ritchie a principios de la década de 1970 y basado en el
paradigma de programación estructurada. Pretende ser un lenguaje de propósito general que
dé al programador control total sobre sus programas, permitiendo la programación de bajo
nivel (es decir, permitiendo controlar directamente cosas como el acceso a memoria y otros
recursos), pero a la vez proporcionando estructuras de alto nivel que hagan la programación
de sistemas grandes más fácil.
•C++ fue creado por BjarneStroustrup durante la primera mitad de los años 1980 con el fin
de dotar C de mecanismos que permitieran usar el paradigma de programación orientada a
objetos. Su nombre inicial era C withClasses, lo que muestra claramente ese propósito,
aunque finalmente hizo un juego con el operador incremento (++) de C. C++ podría leerse,
pues, como incremento de C o C incrementado, aunque la forma habitual de leer su nombre
es C más más (o C plus plus, manteniendo el nombre inglés). Inicialmente, C++ era
totalmente compatible con C; es decir, cualquier programa escrito en C era un programa
válido también en C++, aunque el contrario no era cierto.
•C# fue creado por AndersHejlsberg en torno al año 2000 como una versión mejorada de
C++ (el # del nombre se puede interpretar como cuatro crucecitas; es decir, C++++) para la
programación de alto nivel. El nombre del lenguaje también juega con el de C (en inglés, C es
la nota musical Do, mientras que C# es la siguiente nota, Do Sostenido). La idea era que las
capacidades de bajo nivel de C y C++ eran innecesarias para muchos programadores, para
quienes las dificultades y riesgos del manejo directo de la memoria y otros recursos no
ofrecían compensación.
Lenguajes de programación orientada a objetos
Los lenguajes de programación orientados a objetos tratan a los programas
como conjuntos de objetos que se ayudan entre ellos para realizar acciones. Entendiendo
como objeto al entidades que contienen datos. Permitiendo que los programas sean más
fáciles de escribir, mantener y reutilizar.
Los objetos tienen toda la información (atributos) que los diferencia de otros
pertenecientes a otra clase. Por medio de unos métodos se comunican los objetos de una
misma o diferente clase produciendo el cambio de estado de los objetos. Esto hace que a
los objetos se les trate como unidades indivisibles en las que no se separan la información
ni los métodos usados en su tratamiento.
Los lenguajes de programación orientadas a objetos son lenguajes dinámicos
en los que estos objetos se pueden crear y modificar sobre la marcha. Esta programación
orientada a objetos (POO) tomo auge a mediados de los años ochenta debido a la
propagación de las interfaces gráficas de usuarios, para lo que los lenguajes de
programación orientados a objetos están especialmente dotados.
Cómo se piensa en objetos
Pensar en términos de objetos es muy parecido a cómo lo haríamos en la vida
real. Por ejemplo vamos a pensar en un coche para tratar de modelizarlo en un esquema de
POO. Diríamos que el coche es el elemento principal que tiene una serie de características,
como podrían ser el color, el modelo o la marca. Además tiene una serie de funcionalidades
asociadas, como pueden ser ponerse en marcha, parar o aparcar.
Pues en un esquema POO el coche sería el objeto, las propiedades serían las características
como el color o el modelo y los métodos serían las funcionalidades asociadas como ponerse
en marcha o parar.
Generaciones Lenguajes Programación

Más contenido relacionado

La actualidad más candente

Trabajo de introduc computa
Trabajo de introduc computaTrabajo de introduc computa
Trabajo de introduc computaSampdp
 
Evolución y clasificación de los lenguajes de programación
Evolución y clasificación de los lenguajes de programaciónEvolución y clasificación de los lenguajes de programación
Evolución y clasificación de los lenguajes de programaciónjuanbryanc
 
Presentacion de lenguajes de programacion grado 9.2
Presentacion de lenguajes de programacion grado 9.2Presentacion de lenguajes de programacion grado 9.2
Presentacion de lenguajes de programacion grado 9.2danny7206
 
Ad1 rivera corpus jonathan 205
Ad1 rivera corpus jonathan 205Ad1 rivera corpus jonathan 205
Ad1 rivera corpus jonathan 205Jonatan Rivera
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacionalexlo92
 
lenguaje de Programacion
lenguaje de Programacionlenguaje de Programacion
lenguaje de ProgramacionLauracks
 
Computación
ComputaciónComputación
Computaciónkateshita
 
Lenguaje de programación
Lenguaje de programaciónLenguaje de programación
Lenguaje de programaciónJSPN
 
Powerpoint jimpulgar
Powerpoint jimpulgarPowerpoint jimpulgar
Powerpoint jimpulgarjimsaso
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacionjuanjokobrax
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller senaNat Alia
 

La actualidad más candente (14)

Trabajo de introduc computa
Trabajo de introduc computaTrabajo de introduc computa
Trabajo de introduc computa
 
Evolución y clasificación de los lenguajes de programación
Evolución y clasificación de los lenguajes de programaciónEvolución y clasificación de los lenguajes de programación
Evolución y clasificación de los lenguajes de programación
 
Presentacion de lenguajes de programacion grado 9.2
Presentacion de lenguajes de programacion grado 9.2Presentacion de lenguajes de programacion grado 9.2
Presentacion de lenguajes de programacion grado 9.2
 
Ad1 rivera corpus jonathan 205
Ad1 rivera corpus jonathan 205Ad1 rivera corpus jonathan 205
Ad1 rivera corpus jonathan 205
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
lenguaje de Programacion
lenguaje de Programacionlenguaje de Programacion
lenguaje de Programacion
 
Computación
ComputaciónComputación
Computación
 
Lenguaje de programación
Lenguaje de programaciónLenguaje de programación
Lenguaje de programación
 
Powerpoint jimpulgar
Powerpoint jimpulgarPowerpoint jimpulgar
Powerpoint jimpulgar
 
Maryan toledo
Maryan toledoMaryan toledo
Maryan toledo
 
Software pao
Software paoSoftware pao
Software pao
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Ensayo
EnsayoEnsayo
Ensayo
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller sena
 

Similar a Generaciones Lenguajes Programación

LENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACIONLENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACIONKathGon1
 
Compilador e interpretador
Compilador e interpretadorCompilador e interpretador
Compilador e interpretadorFrancisco Leal
 
02- Clase 1 - UD2 - Lenguajes.pdf
02- Clase 1 - UD2 -  Lenguajes.pdf02- Clase 1 - UD2 -  Lenguajes.pdf
02- Clase 1 - UD2 - Lenguajes.pdfNancyHerrera88
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller senadejuansi2
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller senazeepulveediita20
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller senazeepulveediita20
 
Tipos y caracteristicas de lenguajes de programacion. ( adolfo elias).
Tipos y caracteristicas de lenguajes de programacion. ( adolfo elias).Tipos y caracteristicas de lenguajes de programacion. ( adolfo elias).
Tipos y caracteristicas de lenguajes de programacion. ( adolfo elias).Alejandro Perez
 
Introducccion programacion
Introducccion programacionIntroducccion programacion
Introducccion programacionAnaisMar22
 
Clase3 guia1-introduccion-compiladores-conceptos
Clase3 guia1-introduccion-compiladores-conceptosClase3 guia1-introduccion-compiladores-conceptos
Clase3 guia1-introduccion-compiladores-conceptosInfomania pro
 
Presentación lenguaje c (pedro luis rodriguez c.i. 16388340)
Presentación lenguaje c (pedro luis rodriguez c.i. 16388340)Presentación lenguaje c (pedro luis rodriguez c.i. 16388340)
Presentación lenguaje c (pedro luis rodriguez c.i. 16388340)pedrolrc
 
Lenguaje c.Luis Carrodeguas.16418180
Lenguaje c.Luis Carrodeguas.16418180Lenguaje c.Luis Carrodeguas.16418180
Lenguaje c.Luis Carrodeguas.16418180Luiscarrodeguas
 
Trabajo de introduc computa
Trabajo de introduc computaTrabajo de introduc computa
Trabajo de introduc computaSampdp
 
Trabajo de introduc computa
Trabajo de introduc computaTrabajo de introduc computa
Trabajo de introduc computaSampdp
 
Trabajo de introduc computa
Trabajo de introduc computaTrabajo de introduc computa
Trabajo de introduc computaSampdp
 
lenguajes de programacion
lenguajes de programacion lenguajes de programacion
lenguajes de programacion MJhoana Quispe
 

Similar a Generaciones Lenguajes Programación (20)

LENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACIONLENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACION
 
Compilador e interpretador
Compilador e interpretadorCompilador e interpretador
Compilador e interpretador
 
02- Clase 1 - UD2 - Lenguajes.pdf
02- Clase 1 - UD2 -  Lenguajes.pdf02- Clase 1 - UD2 -  Lenguajes.pdf
02- Clase 1 - UD2 - Lenguajes.pdf
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
Clases/Tipos de lenguajes de programación
Clases/Tipos de lenguajes de programaciónClases/Tipos de lenguajes de programación
Clases/Tipos de lenguajes de programación
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller sena
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller sena
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller sena
 
Tipos y caracteristicas de lenguajes de programacion. ( adolfo elias).
Tipos y caracteristicas de lenguajes de programacion. ( adolfo elias).Tipos y caracteristicas de lenguajes de programacion. ( adolfo elias).
Tipos y caracteristicas de lenguajes de programacion. ( adolfo elias).
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Assembler:
 Assembler: Assembler:
Assembler:
 
Introducccion programacion
Introducccion programacionIntroducccion programacion
Introducccion programacion
 
Tema1 b
Tema1 bTema1 b
Tema1 b
 
Clase3 guia1-introduccion-compiladores-conceptos
Clase3 guia1-introduccion-compiladores-conceptosClase3 guia1-introduccion-compiladores-conceptos
Clase3 guia1-introduccion-compiladores-conceptos
 
Presentación lenguaje c (pedro luis rodriguez c.i. 16388340)
Presentación lenguaje c (pedro luis rodriguez c.i. 16388340)Presentación lenguaje c (pedro luis rodriguez c.i. 16388340)
Presentación lenguaje c (pedro luis rodriguez c.i. 16388340)
 
Lenguaje c.Luis Carrodeguas.16418180
Lenguaje c.Luis Carrodeguas.16418180Lenguaje c.Luis Carrodeguas.16418180
Lenguaje c.Luis Carrodeguas.16418180
 
Trabajo de introduc computa
Trabajo de introduc computaTrabajo de introduc computa
Trabajo de introduc computa
 
Trabajo de introduc computa
Trabajo de introduc computaTrabajo de introduc computa
Trabajo de introduc computa
 
Trabajo de introduc computa
Trabajo de introduc computaTrabajo de introduc computa
Trabajo de introduc computa
 
lenguajes de programacion
lenguajes de programacion lenguajes de programacion
lenguajes de programacion
 

Último

cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024AndreRiva2
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 

Último (20)

cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 

Generaciones Lenguajes Programación

  • 1. REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA EDUCACIÓN UNIVERSITARIA, CIENCIA Y TEGNOLOGÍA UNIVERSIDAD ALEJANDRO DE HUMBOLDT MATERIA: PROGRAMACION I SEDE: LOS DOS CAMINOS
  • 2.  Generaciones de lenguajes  Lenguajes de Bajo Nivel  El lenguaje maquina  El lenguaje ensamblador  El lenguaje ensamblador  Lenguaje intermedio  Los lenguajes de alto nivel  Ejemplos de lenguajes de programación de alto nivel  Lenguaje C  Características  Ventajas  Lenguaje C ++  Diferencias entre C vs C++  Lenguajes de programación orientada a objetos
  • 3. Generaciones La evolución de los lenguajes de programación se puede dividir en 5 etapas o generaciones. •Primera generación: Lenguaje máquina. •Segunda generación: Se crearon los primeros lenguajes ensambladores. •Tercera generación: Se crean los primeros lenguajes de alto nivel. Ej. C, Pascal, Cobol… •Cuarta generación. Son los lenguajes capaces de generar código por si solos, son los llamados RAD, con lo cuales se pueden realizar aplicaciones sin ser un experto en el lenguaje. Aquí también se encuentran los lenguajes orientados a objetos, haciendo posible la reutilización d partes del código para otros programas. Ej. Visual, Natural Adabes… •Quinta generación: Aquí se encuentran los lenguajes orientados a la inteligencia artificial. Estos lenguajes todavía están poco desarrollados.
  • 4. Lenguajes de Bajo Nivel Son mas fáciles de utilizar que los lenguajes máquina, pero, al igual que ellos, dependen de la máquina en particular. El lenguaje de bajo nivel por excelencia es el ensamblador. Las instrucciones en lenguaje ensamblador son instrucciones conocidas como nemotécnicos. Por ejemplo, nemotécnicos típicos de operaciones aritméticas son: en inglés, ADD, SUB, DIV, etc.; en español, SUM,RES,DIV,etc. Una instrucción típica de suma sería: ADD M, N, P Esta instrucción podría significar “sumar el número contenido en la posición de memoria M al número almacenado en la posición de memoria N y situar el resultado en la posición de memoria P”. Evidentemente es mucho más sencillo recordar la instrucción anterior con un nemotécnico que su equivalente en código máquina”. 0110 1001 1010 1011 Un programa escrito en lenguaje ensamblador no puede ser ejecutado directamente por la computadora en esto se diferencia esencialmente del lenguaje máquina, sino que requiere una fase de traducción al lenguaje máquina.
  • 5. El lenguaje maquina Un lenguaje de máquina es aquel con el que trabaja el microprocesador; da ordenes a la máquina, que son las operaciones fundamentales para su funcionamiento. para reaccionar y efectuar la operación que se desea, necesita de una secuencia de señales eléctricas almacenadas como "unos" y "ceros" en las posiciones de la memoria. Una y solo una secuencia de señales concreta, realiza una determinada operación. Identificaremos a partir de ahora la existencia de señal con un "1" y la ausencia con un "0". Este lenguaje es mucho más rápido que los lenguajes de alto nivel. La desventaja es que son bastantes difíciles de manejar y usar, además de tener códigos fuente enormes donde encontrar un fallo es casi imposible.
  • 6. •Ventajas del lenguaje ensamblador. Los lenguajes ensambladores presentan la ventaja frente a los lenguajes máquina de su mayor facilidad de codificación y, en general, su velocidad de cálculo. •Desventajas del lenguaje ensamblador. Los inconvenientes más notables de los lenguajes ensambladores son: •Dependencia total de la máquina lo que impide la transportabilidad de los programas. El lenguaje ensamblador del PC es distinto del lenguaje ensamblador del Apple Macintosh. •La formación de los programadores es más compleja que la correspondiente a los programadores de alto nivel, ya que no sólo las técnicas de programación, sino también el conocimiento del interior de la máquina. El lenguaje ensamblador Es un derivado del lenguaje maquina y esta formado por abreviaturas de letras y números. Con la aparición de este lenguaje se crearon los programas traductores para poder pasar los programas escritos en lenguaje ensamblador a lenguaje máquina. Como ventaja, es que los códigos fuentes eran más cortos y los programas creados ocupaban menos memoria. En este tipo de lenguajes se trabaja a nivel de instrucciones, es decir, su programación es al más fino detalle, además, está completamente orientado a la máquina.
  • 7. El lenguaje ensamblador Características: •Adaptación : Máxima entre programación y aprovechamiento del recurso de la máquina. •Velocidad : Máxima al contar con un acceso directo a los recursos, sin capas intermedias. •Portabilidad : Mínima por estar restringido a las especificaciones del fabricante. •Abstracción : Mínima por depender completamente de la técnica del hardware. •Uso : Requiere de la máxima atención y de una organización estructurada en base a los planos del hardware y del objetivo del software.
  • 8. Lenguaje intermedio Es el lenguaje de una máquina abstracta diseñada para ayudar a realizar el análisis de un programa informático. El término proviene de su uso en compiladores, donde el código fuente de un programa es traducido a un modo más apropiado para transformaciones de mejora de código antes de generar el código objeto o código máquina para una máquina determinada. El diseño del lenguaje intermedio difiere típicamente del lenguaje de máquina de tres maneras fundamentales: •Cada instrucción representa exactamente una operación fundamental; por ejemplo, los modos de direccionamiento "shift-add" (desplazar y añadir) comunes en microprocesadores no están presentes. •La información de la estructura de control puede no estar incluida en el juego de instrucciones. •El número de registros disponibles puede ser grande, incluso ilimitado.
  • 9. Los lenguajes de alto nivel También denominados lenguajes evolucionados, surgen con posterioridad a los anteriores, con los siguientes objetivos, entre otros: •Lograr independencia de la máquina, pudiendo utilizar un mismo programa en diferentes equipos con la única condición de disponer de un programa traductor o compilador, que lo suministra el fabricante, para obtener el programa ejecutable en lenguaje binario de la máquina que se trate. Además, no se necesita conocer el hardware específico de dicha máquina. •Incluir rutinas de uso frecuente como son las de entrada/salida, funciones matemáticas, manejo de tablas, etc, que figuran en una especie de librería del lenguaje, de tal manera que se pueden utilizar siempre que se quieran sin necesidad de programarlas cada vez. Estos lenguajes permiten al programador olvidarse por completo del funcionamiento interno de la maquina/s para la que están diseñando el programa. Tan solo necesitan un traductor que entiendan el código fuente como las características de la maquina.
  • 10. Los lenguajes de alto nivel Ventajas - Resultan en un código fuente más fácil de leer, escribir y mantener por los humanos. En general, permite emplear menos líneas de código en comparación con lenguaje máquina. - Permiten escribir un código válido ejecutable en distintos tipos de máquinas y sistemas operativos. - Emplean paradigmas de programación. Desventajas - Son más lentos de ejecutar, siendo el código máquina más eficiente. De todas maneras esto depende del diseño del compilador para lenguajes de alto nivel: un buen diseño produce más eficiencia. - En algunos casos el programa resultante requiere una determinada plataforma para ejecutarse.
  • 11. Ejemplos de lenguajes de programación de alto nivel Los primeros lenguajes de programación de alto nivel fueron diseñados en los 50. Actualmente existen cientos de lenguajes de este tipo como: - BASIC - C (algunos lo consideran de nivel medio) - C++ (algunos lo consideran de nivel medio) - Delphi - FORTRAN - Java - LISP - Modula-2 - Pascal - Perl - php - Prolog - Python - Visual Basic .NET
  • 12. Lenguaje C Es un lenguaje de programación de propósito general asociado, de modo universal, al sistema operativo UNIX. Sin embargo, la popularidad, eficacia y potencia de C se ha producido porque este lenguaje no está prácticamente asociado a ningún sistema operativo, ni a ninguna máquina en especial. Esta es la razón fundamental por la que C es conocido como el lenguaje de programación de sistemas por excelencia.
  • 13. Es un lenguaje de alto nivel, que permite programar con instrucciones de lenguaje de propósito general. También C se define como un lenguaje de programación estructurado de propósito general; aunque en su diseño también primó el hecho de fuera especificado como: •Un lenguaje de programación de sistemas, lo que proporciona una enorme cantidad de potencia y flexibilidad. •Asignación de estructuras (registros) y enumeraciones. • Preprocesador más sofisticado. •En la actualidad, el lenguaje C sigue siendo uno de los más utilizados en la industria del software, así como en institutos tecnológicos, escuelas de ingeniería y universidades. Prácticamente todos los fabricantes de sistemas operativos (tomando en cuenta a: UNIX, Linux, MacOS, Solaris, Windows, entre otros.), soportan diferentes tipos de compiladores de lenguaje C. Características
  • 14. Ventajas del lenguaje C El lenguaje C tiene una gran cantidad de ventajas sobre otros lenguajes y constituyen precisamente la razón fundamental de que después de casi dos décadas de uso C siga siendo uno de los lenguajes más populares, utilizados en empresas, organizaciones y fábricas de software de todo el mundo. C se caracteriza por su velocidad de ejecución. En los primeros días de la informática los problemas de tiempo de ejecución se resolvían escribiendo todo o parte de una aplicación en lenguaje ensamblador (muy al lenguaje de máquina). Debido a que existen muchos programas escritos en el lenguaje C, se han creado numerosas bibliotecas C para programadores profesionales que soportan gran variedad de aplicaciones.
  • 15. ++ es un lenguaje de programación diseñado a mediados de los años 1980 por BjarneStroustrup. La intención de su creación fue el extender al exitoso lenguaje de programación C con mecanismos que permitan la manipulación de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje híbrido. Posteriormente se añadieron facilidades de programación genérica, que se sumó a los otros dos paradigmas que ya estaban admitidos (programación estructurada y la programación orientada a objetos). Por esto se suele decir que el C++ es un lenguaje de programación multiparadigma. Actualmente existe un estándar, denominado ISO C++, C# es un lenguaje propietario de Microsoft que mezcla las características básicas de C++ (no las avanzadas) simplificándolas al estilo Java y ofreciendo un framework. C# forma parte de la plataforma .NET Lenguaje C ++
  • 16. {} entre llaves Las llaves sirven para definir el principio y el final de un bloque de instrucciones. Se utilizan para los bloques de programación Una llave de apertura “{“ siempre debe ir seguida de una llave de cierre “}”, si no es así el compilador dará errores. ; punto y coma El punto y coma “;” se utiliza para separar instrucciones en el lenguaje de programación de Arduino. También se utiliza para separar elementos en una instrucción de tipo “bucle for”. Nota: Si olvidáis poner fin a una línea con un punto y coma se producirá en un error de compilación. /*… */ bloque de comentarios Los bloques de comentarios, o comentarios multi-línea son áreas de texto ignorados por el programa que se utilizan para las descripciones del código o comentarios que ayudan a comprender el programa. // línea de comentarios Una línea de comentario empieza con / / y terminan con la siguiente línea de código. Al igual que los comentarios de bloque, los de línea son ignoradas por el programa y no ocupan espacio en la memoria. Algunas sintaxis
  • 17. Diferencias entre C vs C++ Estos lenguajes derivan uno de otro, pero tienen diferencias muy claras. •C es un lenguaje creado por Dennis Ritchie a principios de la década de 1970 y basado en el paradigma de programación estructurada. Pretende ser un lenguaje de propósito general que dé al programador control total sobre sus programas, permitiendo la programación de bajo nivel (es decir, permitiendo controlar directamente cosas como el acceso a memoria y otros recursos), pero a la vez proporcionando estructuras de alto nivel que hagan la programación de sistemas grandes más fácil. •C++ fue creado por BjarneStroustrup durante la primera mitad de los años 1980 con el fin de dotar C de mecanismos que permitieran usar el paradigma de programación orientada a objetos. Su nombre inicial era C withClasses, lo que muestra claramente ese propósito, aunque finalmente hizo un juego con el operador incremento (++) de C. C++ podría leerse, pues, como incremento de C o C incrementado, aunque la forma habitual de leer su nombre es C más más (o C plus plus, manteniendo el nombre inglés). Inicialmente, C++ era totalmente compatible con C; es decir, cualquier programa escrito en C era un programa válido también en C++, aunque el contrario no era cierto. •C# fue creado por AndersHejlsberg en torno al año 2000 como una versión mejorada de C++ (el # del nombre se puede interpretar como cuatro crucecitas; es decir, C++++) para la programación de alto nivel. El nombre del lenguaje también juega con el de C (en inglés, C es la nota musical Do, mientras que C# es la siguiente nota, Do Sostenido). La idea era que las capacidades de bajo nivel de C y C++ eran innecesarias para muchos programadores, para quienes las dificultades y riesgos del manejo directo de la memoria y otros recursos no ofrecían compensación.
  • 18. Lenguajes de programación orientada a objetos Los lenguajes de programación orientados a objetos tratan a los programas como conjuntos de objetos que se ayudan entre ellos para realizar acciones. Entendiendo como objeto al entidades que contienen datos. Permitiendo que los programas sean más fáciles de escribir, mantener y reutilizar. Los objetos tienen toda la información (atributos) que los diferencia de otros pertenecientes a otra clase. Por medio de unos métodos se comunican los objetos de una misma o diferente clase produciendo el cambio de estado de los objetos. Esto hace que a los objetos se les trate como unidades indivisibles en las que no se separan la información ni los métodos usados en su tratamiento. Los lenguajes de programación orientadas a objetos son lenguajes dinámicos en los que estos objetos se pueden crear y modificar sobre la marcha. Esta programación orientada a objetos (POO) tomo auge a mediados de los años ochenta debido a la propagación de las interfaces gráficas de usuarios, para lo que los lenguajes de programación orientados a objetos están especialmente dotados.
  • 19. Cómo se piensa en objetos Pensar en términos de objetos es muy parecido a cómo lo haríamos en la vida real. Por ejemplo vamos a pensar en un coche para tratar de modelizarlo en un esquema de POO. Diríamos que el coche es el elemento principal que tiene una serie de características, como podrían ser el color, el modelo o la marca. Además tiene una serie de funcionalidades asociadas, como pueden ser ponerse en marcha, parar o aparcar. Pues en un esquema POO el coche sería el objeto, las propiedades serían las características como el color o el modelo y los métodos serían las funcionalidades asociadas como ponerse en marcha o parar.