#LyX 2.3 created this file. For more info see http://www.lyx.org/ \lyxformat 544 \begin_document \begin_header \save_transient_properties true \origin unavailable \textclass book \use_default_options true \maintain_unincluded_children false \language spanish \language_package default \inputencoding auto \fontencoding global \font_roman "default" "default" \font_sans "default" "default" \font_typewriter "default" "default" \font_math "auto" "auto" \font_default_family default \use_non_tex_fonts false \font_sc false \font_osf false \font_sf_scale 100 100 \font_tt_scale 100 100 \use_microtype false \use_dash_ligatures true \graphics default \default_output_format default \output_sync 0 \bibtex_command default \index_command default \paperfontsize default \spacing single \use_hyperref false \papersize default \use_geometry false \use_package amsmath 1 \use_package amssymb 1 \use_package cancel 1 \use_package esint 1 \use_package mathdots 1 \use_package mathtools 1 \use_package mhchem 1 \use_package stackrel 1 \use_package stmaryrd 1 \use_package undertilde 1 \cite_engine basic \cite_engine_type default \biblio_style plain \use_bibtopic false \use_indices false \paperorientation portrait \suppress_date false \justification true \use_refstyle 1 \use_minted 0 \index Index \shortcut idx \color #008000 \end_index \secnumdepth 3 \tocdepth 3 \paragraph_separation indent \paragraph_indentation default \is_math_indent 0 \math_numbering_side default \quotes_style french \dynamic_quotes 0 \papercolumns 1 \papersides 1 \paperpagestyle default \tracking_changes false \output_changes false \html_math_output 0 \html_css_as_file 0 \html_be_strict false \end_header \begin_body \begin_layout Standard La evolución de los lenguajes de programación va ligada al crecimiento de la complejidad en aplicaciones y a la mejora de la capacidad del hardware, y busca acercarse a los conceptos del dominio de la aplicación ( \series bold abstracción \series default ). Un \series bold paradigma de programación \series default es una serie de conceptos que guían la forma de pensar acerca de los programas, construirlos y estructurarlos. Los lenguajes de programación reflejan uno o varios de estos paradigmas. \end_layout \begin_layout Standard El paradigma \series bold orientado a objetos \series default organiza el software como una colección de objetos que se relacionan y proveen la funcionalidad de un sistema. Este paradigma nos permite: \end_layout \begin_layout Itemize \series bold Abstracción \series default : Centrarse en las propiedades de los tipos y no en la implementación. \end_layout \begin_layout Itemize \series bold Modularidad \series default : Descomponer el software en componentes que se combinan entre sí. \end_layout \begin_layout Itemize \series bold Encapsulación \series default : Juntar la estructura de un tipo de datos con sus operaciones. \end_layout \begin_layout Itemize \series bold Ocultación de información \series default : Diferenciar la parte pública de un módulo de la privada. \end_layout \begin_layout Itemize \series bold Herencia \series default : Definir clases a partir de otras. \end_layout \begin_layout Itemize \series bold Polimorfismo \series default : Permitir que una entidad haga referencia a objetos de distintos tipos. \end_layout \begin_layout Standard En 1985 se crean el \series bold C++ \series default , extensión orientada a objetos de C muy popular que ayudó a difundir el paradigma, y \series bold Eiffel \series default , creado por Bertrand Meyer tras un profundo estudio del paradigma pero considerado \begin_inset Quotes fld \end_inset teórico \begin_inset Quotes frd \end_inset y poco usado. \end_layout \begin_layout Standard En 1995, Sun Microsystems (adquirido por Oracle en 2009) crea \series bold Java \series default , un lenguaje OO puro popularizado por su uso en la web y con numerosas bibliotecas de código, y en el año 2000 Microsoft crea \series bold C# \series default , que combina C++ y Java, junto con su plataforma \series bold .NET \series default . \end_layout \begin_layout Standard El compilador de Java genera un \series bold código intermedio \series default o \emph on bytecode \emph default , independiente de la plataforma, e interpretado o compilado en el momento (compilación \series bold JIT \series default , \emph on Just In Time \emph default ) por la máquina virtual de Java (JVM), con lo que el código se puede ejecutar en cualquier máquina que tenga instalado el entorno de ejecución de Java y la máquina virtual, independientemente de la arquitectura del procesador y el sistema operativo. \end_layout \begin_layout Standard Java presenta una sintaxis sencilla, parecida a C++ pero eliminando las características complejas, y es robusto al ser fuertemente tipado (el compilado r detecta muchos problemas del código), soportar excepciones (para gestión de errores en tiempo de ejecución) y proveer \begin_inset Quotes fld \end_inset recogida de basura \begin_inset Quotes frd \end_inset (hace innecesaria la gestión de punteros). Aprenderemos Java 1.8. \end_layout \end_body \end_document