0% encontró este documento útil (0 votos)
3 vistas9 páginas

Estructura y Evolución del Lenguaje Java

Trabajo practico materia Estructura de los lenguajes, ingenieria en sistemas de informacion

Cargado por

pedritoghio2001
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
3 vistas9 páginas

Estructura y Evolución del Lenguaje Java

Trabajo practico materia Estructura de los lenguajes, ingenieria en sistemas de informacion

Cargado por

pedritoghio2001
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Trabajo Práctico Integrador: Java

Estructura del Lenguaje

Profesor: Analía Amar

Integrantes: Ghio Pedro, Tomas Borghi

Año lectivo: 2024


UCEL 2024 – Estructura de Lenguaje - ISI

Indice

Parte 1...................................................................................................................................................... 2
1. Descripción general del lenguaje...................................................................................................... 2
2. Objetivos con el que fue creado el lenguaje..................................................................................... 2
3. Evolución del lenguaje desde su creación hasta nuestros días......................................................... 2
4. Paradigma en el que se encuentra....................................................................................................2
5. Arquitecturas/entornos/ambientes donde puede ser utilizado el lenguaje..................................... 2
6. Describir el lenguaje de acuerdo a las características.......................................................................2
7. Principales fortalezas y debilidades del lenguaje..............................................................................2
8. Como es la utilizacion del lenguaje en la actualidad.........................................................................2

1
UCEL 2024 – Estructura de Lenguaje - ISI

Parte 1

1. Descripción general del lenguaje incluyendo: Fecha de creación, autor/es, compañía donde
se creó o que lo impulso, licencia de uso.
Java es un lenguaje de programación utilizado para crear software compatible con una gran diversidad
de sistemas operativos. Este lenguaje tiene la particularidad de ser compilado e interpretado al mismo
tiempo, es decir, es un lenguaje simplificado que convierte automáticamente el código en instrucciones
de máquina.

Java nacio en junio de 1991 como un proyecto llamado “Oak”, debido a que Oak ya estaba registrado
como parte de otra marca en 1995 se cambio el nombre a Java.

James Gosling fue el encargado principal del desarrollo de Java, obviamente con su equipo de ingenieros
en Sun Microsystems.

La compañía Sun Microsystems fue la encargada del desarrollo, que luego fue adquirida por Oracle
Corporation en 2010, es la compañía donde se creó Java y la que continúa impulsando.

Originalmente, Java fue distribuido bajo la licencia de Sun Microsystems. Actualmente, Oracle distribuye
Java bajo la Licencia Pública General de GNU (GPL) con la excepción de Classpath y también ofrece una
versión comercial.

Equipo de Sun Microsystems. James Gosling, con remera blanca y lentes.

2
UCEL 2024 – Estructura de Lenguaje - ISI

2. Objetivos con el que fue creado el lenguaje. Que influencias tuvo (inspiración en otros
lenguajes, personas, etc), se ramifica de algún otro lenguaje, etc.

El objetivo principal de Java fue ser un lenguaje de programación sencillo y compatible con todos los
sistemas operativos existentes. A partir de esta necesidad, Java se utiliza para crear diferentes
aplicaciones en varios dispositivos, permitiendo ejecutar este código en sistemas remotos de forma
segura, y siendo compatible tanto con móviles como con ordenadores portátiles.

Java se inspiró en lenguajes como C y C++, que influyeron en su sintaxis y algunas características,
mientras que Smalltalk y Objective-C aportaron ideas de programación orientada a objetos y recolección
de basura.

Sus principales objetivos incluyen la portabilidad, bajo el lema "escribe una vez, ejecuta en cualquier
lugar" (WORA - Write Once, Run Anywhere), permitiendo que el código Java se ejecute en cualquier
dispositivo que tenga una Máquina Virtual Java (JVM).

3. Evolución del lenguaje desde su creación hasta nuestros días. Continua con el mismo
objetivo, o mismas definiciones que cuando fue creado? En qué dirección cambio y por que
razones?

Desde el comienzo de su desarrollo en 1991 y lanzamiento en 1995, Java ha pasado por una serie de
actualizaciones y mejoras significativas, manteniendo su objetivo de ser un lenguaje de programación
multiplataforma, seguro y de alto rendimiento. A continuación, se detallan algunos hitos mas
importantes en la evolución de Java:

3
UCEL 2024 – Estructura de Lenguaje - ISI

● Java 1.0 (1995): Esta fue la primera versión de Java, que introdujo el lenguaje con una biblioteca
de clases básica y una Máquina Virtual Java (JVM) que permitía la ejecución de programas en
cualquier plataforma compatible.
● Java 2 (1998): Con esta versión, Java se dividió en tres ediciones: J2SE (Java 2 Standard Edition),
J2EE (Java 2 Enterprise Edition) y J2ME (Java 2 Micro Edition). Esto permitió que Java se adaptara
mejor a diferentes tipos de dispositivos y aplicaciones, desde aplicaciones de escritorio hasta
sistemas empresariales y dispositivos móviles.
● Java 5 (2004): Esta versión introdujo características importantes como los generics, las
anotaciones (metadata), el ciclo for-each y los tipos enumerados (enums). Estas mejoras
simplificaron la programación y aumentaron la seguridad y la robustez del código.
● Java 8 (2014): Java 8 fue un hito significativo, incorporando lambdas, la API de Streams y mejoras
en la concurrencia. Estas adiciones permitieron un enfoque más funcional en la programación
con Java, facilitando operaciones sobre colecciones y la manipulación de datos de manera más
eficiente y concisa.
● Java 11 (2018): Java 11 fue la primera versión de soporte a largo plazo (LTS) bajo la
administración de Oracle. Esta versión incluyó mejoras en el rendimiento, nuevas APIs y la
eliminación de características obsoletas. También se centró en la modularidad introducida en
Java 9, lo que permitió una mayor escalabilidad y mantenimiento de grandes aplicaciones.

La evolución de Java ha adaptado el lenguaje a las necesidades modernas de desarrollo, como:


Seguridad, Rendimiento, Facilidad de uso, Modularidad y escalabilidad. Básicamente evolucionó para
adaptarse a tendencias y necesidades como la programación funcional y la modularidad.

4. Paradigma en el que se encuentra. Si tiene características de varios, describir principal


paradigmas y las características de los otros paradigmas.

Java es un lenguaje de programación que se basa en la programación orientada a objetos (POO) como su
paradigma principal. Esto significa que la mayoría del código en Java se escribe utilizando objetos y
clases. Sin embargo, Java también admite otros paradigmas, como la programación estructurada y la
programación funcional.

Paradigma Orientada a Objetos: Java está diseñado principalmente alrededor del paradigma orientado a
objetos, lo que significa que utiliza conceptos como clases y objetos para estructurar el código.

Paradigma Imperativo o Estructurado: Java también soporta la programación imperativa, que es uno de
los paradigmas más antiguos. En este paradigma, los programas se componen de una secuencia de
instrucciones que alteran el estado del programa como las estructuras de control(bucles for, while y
condicionales if, switch) y modificación del estado (variables y asignaciones)

Paradigma Funcional: Con la introducción de expresiones lambda en Java 8, Java ha adoptado


características de la programación funcional

4
UCEL 2024 – Estructura de Lenguaje - ISI

5. Arquitecturas/entornos/ambientes donde puede ser utilizado el lenguaje.

Java es extremadamente versátil y se utiliza en una variedad de entornos:

1. Aplicaciones web: Java es ampliamente utilizado para desarrollar aplicaciones web. Frameworks
como Spring, JavaServer Faces (JSF) y Java EE (ahora Jakarta EE) facilitan la creación de
aplicaciones.
2. Aplicaciones de escritorio: Java permite el desarrollo de aplicaciones de escritorio a través de
bibliotecas como JavaFX y Swing.
3. Aplicaciones móviles: Hoy en día Java es fundamentalmente utilizado en el desarrollo de
aplicaciones Android. Android SDK utiliza una versión modificada de Java, lo que permite a los
desarrolladores escribir aplicaciones móviles en un entorno familiar y potente.
4. Aplicaciones empresariales: Middleware y aplicaciones empresariales a gran escala,
proporcionando infraestructura para gestionar transacciones de seguridad.
5. Sistemas embebidos: En dispositivos con recursos limitados.

6. Describir el lenguaje de acuerdo a las características vistas (Simplicidad, Naturalidad,


Abstracción, Reflexibidad, Eficiencia, Expresividad, Portabilidad, Tipado estático, Tipado
dinámico, Fuertemente tipado, Debilmente tipado, Inferencia de tipos, Closures, Lambdas,
Funciones de orden superior, Currying, Duck typing, Argumentos con nombres).

1. Simplicidad: Java se esfuerza por ser simple y fácil de aprender, con un conjunto claro y unificado
de conceptos para mejorar la legibilidad y el mantenimiento del código.
2. Naturalidad: Diseñado para ser natural en su área de aplicación, Java proporciona estructuras y
sintaxis adecuadas para permitir a los programadores centrarse en el problema en cuestión.
3. Abstracción: Java permite definir y utilizar estructuras complejas de manera que los detalles
puedan ignorarse, facilitando la modelación de problemas del mundo real, atraves de clases e
interfaces.
4. Eficiencia: Los programas Java se traducen eficientemente a código de máquina y se ejecutan de
manera eficiente, optimizando el uso de instrucciones y memoria.
5. Compactos: Java permite expresar operaciones de manera clara y concisa, lo que contribuye a la
claridad y mantenibilidad del código.
6. Reflexividad: Java permite que los programas "reflexionen" sobre su propia ejecución y
estructura, la reflexividad se logra principalmente a través del uso de la API de reflexión, que
permite a un programa obtener información sobre clases, interfaces, campos y métodos durante
la ejecución.
7. Portabilidad: Java es altamente portable, lo que significa que puede ejecutarse en diferentes
plataformas y sistemas operativos sin modificar el código fuente.

5
UCEL 2024 – Estructura de Lenguaje - ISI

8. Tipado estático: Java realiza comprobaciones de tipos en tiempo de compilación, los tipos de
todas las variables deben ser declarados explícitamente y verificados por el compilador durante
la compilación
9. Fuertemente y débilmente tipado:Java es un lenguaje de programación fuertemente tipado. Esto
quiere decir que al declarar una variable en Java tendremos que indicar su tipo y no podrá
cambiar de un tipo a otro a lo largo de la ejecución del programa.
10. Inferencia de tipos: Java ofrece inferencia de tipos, lo que permite al compilador deducir el tipo
de variables según el contexto de su uso.(Se introdujeron en java 7 y 8)
11. Closures y Lambdas: Java admite closures y lambdas, permitiendo referenciar funciones y
variables del contexto en el que están definidas de manera [Link] embargo, es importante
mencionar que en Java, la implementación de closures es limitada en comparación con otros
lenguajes como JavaScript.
12. Funciones de orden superior: Java permite el uso de funciones de orden superior, lo que facilita
el tratamiento de funciones como parámetros o resultados de otras funciones.
13. Currying: Java no ofrece soporte nativo para currying.
14. Duck typing: No, Java no admite duck typing. Java es un lenguaje de tipado estático y
fuertemente tipado, lo que significa que todas las variables y objetos tienen tipos bien definidos
que son verificados en tiempo de compilación
15. Argumentos con nombres: Java no admite argumentos con nombres directamente en su sintaxis,
pero usualmente se suele utilizar el patrón de diseño builder para este propósito.

7. Principales fortalezas y debilidades del lenguaje.

Fortalezas:

1. Portabilidad
2. Rendimiento
3. Gran comunidad y soporte
4. Seguridad
5. Ecosistema robusto
6. Multithreading y concurrencia

Debilidades:

1. Consumo de memoria
2. Rendimiento
3. Verboso

6
UCEL 2024 – Estructura de Lenguaje - ISI

8. Como es la utilizacion del lenguaje en la actualidad. Cantidad de usuarios, cantidad de


proyectos en los que se utiliza, cantidad de frameworks, mantenimiento del mismo por parte
de la comunidad o empresa. Comunidad que soporta el lenguaje.

Java sigue siendo uno de los lenguajes más populares y utilizados, desde hace muchos años. Según el
indice TIOBE que se actualiza mensualmente y se basa en datos recopilados de varios motores de
búsqueda populares, como Google, Bing, Yahoo!, Wikipedia y YouTube, entre otros.

No hay una cifra exacta de la cantidad de usuarios que utilizan Java en todo el mundo, ya que Java es un
lenguaje de programación extremadamente popular y se utiliza en una amplia gama de aplicaciones y
sistemas en diferentes industrias y sectores, pero debe haber millones alrededor de todo el mundo.

Java es utilizado en una amplia variedad de proyectos, desde aplicaciones web hasta sistemas
empresariales, con una amplia disponibilidad de frameworks como Spring, Hibernate y Java EE,
respaldado por Oracle y una vibrante comunidad de código abierto que mantiene y evoluciona el
lenguaje, además de participar activamente en foros, conferencias como JavaOne, y contribuciones en
proyectos de código abierto.

7
UCEL 2024 – Estructura de Lenguaje - ISI

Bibliografia:

● [Link]
● [Link]
● [Link]
o-de-java-de-1991-a-2021
● [Link]
● [Link]
● [Link]
● [Link]
● [Link]
● [Link]

También podría gustarte