Tarea Academica 3

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 16

Facultad de Ingeniería

Ingeniería de Sistemas e Informática


TAREA ACADEMICA 3

CURSO:
TALLER DE PROGRAMACION (48161)

DOCENTE:

Billy Víctor Caso


ALUMNO:
Vázquez Aliaga Joao Junior
CICLO:
3
TEMAS:
“JShell: conceptos,
testing, JShell en consola, JShell en IDE”

Universidad tecnológica del Perú


Introducción

Jshell es una herramienta de línea de comandos introducida en Java 9.


Permite ejecutar código de una manera sencilla sin necesidad de un IDE,
aunque no es un sustituto de estos. Se arranca, se escribe la sentencia en
Java que se quiere ejecutar, y automáticamente se muestra el resultado
de la ejecución. Es decir, jshell implementa el clásico patrón REPL
(Read-Evaluate-Print Loop).

Es una herramienta bastante útil cuando se está escribiendo


determinado tipo de código. Lo habitual es tenerla abierta en una consola
aparte e ir probando en ella pequeños snippets de código a medida que
se desarrolla. Esto permite tener un feedback inmediato en vez de
esperar a compilar y ejecutar toda la aplicación en el IDE.

Es útil sobre todo para probar variantes de un mismo código,


experimentar con una librería con la que no se tenga demasiada
experiencia, evaluar una secuencia larga de métodos concatenados, o
ejecutar código copiado directamente de un sitio web.

Jshell se encuentra en el subdirectorio bin del directorio donde se


encuentre instalada la máquina virtual de Java. Se ejecuta arrancando
directamente el programa desde línea de comandos.
Testing

Una vez escrito pulsamos intro y el código se ejecutará de forma directa. Esto
en principio nos puede parecer poco útil pero la realidad es que a veces nos
puede ayudar a ejecutar pequeños bloques de código y probarlos de una
forma muy directa.
Imaginémonos que queremos mostrar en una consola el concepto de una
compra y el importe de esta. Quizás no nos acordamos de cómo se hacía esta
operación con el método printf de Java en System.out. ¿Cómo nos puede
ayudar la consola a recordarlo y ejecutar un ejemplo sencillo? Bueno en
principio sería suficiente con declararnos las variables.

Parece que hemos declarado las variables correctamente. Usamos el


comando/vars y nos muestra las variables existentes a nivel de jshell en estos
momentos.

Es momento de imprimir esos datos por la consola en un texto formateado.


¿Cómo se llamaba el método de System.out? No hay problema escribir
System.out y pulsar tabulador y java 9 Jshell nos mostrara una ayuda con los
métodos existentes.
Podemos ver como nos nuestra la lista de métodos que empiezan por print.
El que nosotros necesitamos es printf. Pues nada rellenamos el método y las
variables se imprimirán sus valores.
Jshell también nos puede ayudar a mostrar por ejemplo los valores de las
variables de entorno algo muchas veces muy útil.

Java 9 Jshell puede ser una herramienta muy útil en muchas situaciones
aportándonos la posibilidad generar código “sobre la marcha” y ver que es
lo que este devuelve.
¿Qué es el software testing?
Es un proceso para verificar y validar la funcionalidad de un programa o una
aplicación de software con el objetivo de garantizar que el producto de
software esté libre de defectos. La intención final es que coincida con los
requisitos esperados para entregar un producto de calidad. Implica la
ejecución de componentes de software o sistema utilizando herramientas
manuales o automatizadas para evaluar una o más propiedades de interés.

¿Por qué es importante el software testing?


Son importantes porque permiten identificar de manera temprana si hay
algún problema en el software, facilitando su resolución antes de la entrega
del producto. Un producto de software debidamente probado garantiza
calidad, seguridad, confiabilidad y alto rendimiento, además de otros
beneficios como ahorro de tiempo, seguridad y satisfacción del cliente.
Consola Jshell

JShell es una herramienta REPL de Java introducida en JDK 9 (para obtener


más información, consulte JEP 222 ). Le permite evaluar de forma
interactiva expresiones Java sin la sobrecarga de crear una clase ejecutable,
compilar su código, etc.

IntelliJ IDEA incluye una consola básica para trabajar con JShell desde
dentro del IDE, similar a Groovy Console . Puede usar JShell Console para
probar fragmentos de código, que incluso pueden hacer referencia a las
clases definidas en su proyecto.

Abra la consola JShell


En el menú principal, seleccione Herramientas | Consola JShell.
Esto abre la pestaña JShell Console en el editor, donde puede escribir código
Java, por ejemplo:
String name = "John";System.out.println("Hello " + name);
Presione Ctrl+Enter para ejecutar este código en JShell. Debería ver el
siguiente resultado
en la ventana de la herramienta Ejecutar :
Defined field String name = "John"System.out.println("Hello " +
name)Hello John
Para utilizar JShell Console, debe tener Java 9 o posterior disponible. Puede
ejecutar IntelliJ IDEA en un tiempo de ejecución anterior y su proyecto
puede usar un JDK anterior, pero debe seleccionar una versión de Java
compatible de la lista JRE en la parte superior de la pestaña Consola Jshell.
O haga clic para especificar la ruta a una versión valida de java.
De forma predetermina, todas las bibliotecas de las que depende su proyecto
están disponibles para Jshell console. Puede utilizar classpath de para
seleccionar un módulo especifico.

¿Para que sirve la consola Jshell de java9?

No tiene como objetivo crear un nuevo lenguaje de programación


interpretado: solamente ejecutará código Java (del Java Language
Specification – JLS) expresado en «Snippets», que son los comandos que se
escriben en el prompt.

El objetivo primordial es eliminar el ciclo: crear una clase con el método


public static void main -> escribir algo que imprima a consola con
System.out.println -> compilar -> ejecutar para ver el resultado.

¿Qué es una consola REPL?


Es un programa que se ejecuta en la shell del sistema (modo texto) y que
tiene un prompt en el cual escribimos comandos que se encarga de ejecutar.
En este caso concreto, jShell, se trata de una consola que sigue el sistema
REPL: Read-Eval-Print-Loop. Es decir:

Read: lee lo que introducimos en el prompt de la consola.


Eval: evalúa o ejecuta lo que hemos escrito.
Print: muestra una salida por pantalla como consecuencia de lo evaluado,
bien porque el comando implica de forma explícita sacar algo por pantalla o
porque la propia consola nos ayuda con más información.
Loop: vuelve al primer estado, a la espera de que el usuario introduzca más
comandos para ser leídos, evaluados y mostradas las consecuencias en la
pantalla.
Quizá estés pensando en que esto tiene más que ver con un lenguaje
interpretado que con uno compilado (aunque a ByteCode) como es Java. No
te preocupes, se han definido una serie de peculiaridades en la consola de
Java para que pueda funcionar.

Peculiaridades de la consola Jshell y el Jshell State


No es lo mismo escribir comando a comando en la consola que hacerlo en un
fichero por clase y que luego sea compilado. Hay algunas cosas que no nos
cuadran con la concepción natural de Java y que varían un poco respecto a
lo que estamos acostumbrados, pero ¡ojo! La consola jShell no crea un
dialecto nuevo de Java.

Para ello hay que tener en cuenta que el código no se ejecuta dentro de un
método public static void main (Strings… args), sino que se hace dentro de
una clase llamada JShell que es el motor de ejecución de lo que escribimos
en la consola y que le dota de algunas particularidades. Vamos a verlas:

Los fragmentos de código que se introducen son llamados snippets y


corresponden a fragmentos del Java Language Specification (JLS).
Se pueden realizar estas operaciones:
Hacer imports de clases.
Declarar clases o interfaces.
Declarar métodos, variables y campos sin estar en niguna clase (estarán en
una clase «sintética» en el JShell State como miembros estáticos).
Declarar sentencias y sentencias primarias del JLS
Mantiene el estado de todas las operaciones llevadas a cabo con anterioridad
y por tanto podemos hacer referencias a variables, métodos, clases,
imports…
Referencias futuras:
Por ejemplo, dentro de una clase se pueden hacer referencias a elementos
que todavía no están resueltos porque vienen a continuación: quedan en
estadounresolved.
Se pueden hacer cambios, por ejemplo, en clases que ya han sido
instanciadas. Estos cambios deben ser compatibles.
Además, tiene algunas funcionalidades de consola muy interesantes:

Se puede alterar el classpath en tiempo «de ejecución consola» para acceder


a nuevas librerías .jar. Basta con hacer un import y ya estará disponible.
Tiene autocompletado (con el tabulador), como lo tiene cualquier IDE de
Java, así tendremos más fácil saber los métodos de una clase.
Dispone de comandos, consultables con /help, para cargar, borrar o guardar
el estado de la consola. Así, es posible cargar/salvar un fichero con
instrucciones, o volver al estado inicial.
Finalmente señar que es posible usar el motor JShell desde código Java.
Dispone de una API a través de la cual se instancia el JShell State y se pueden
enviar comandos para la ejecución, incluso dispone del clásico método eval
(String input) de cualquier lenguaje interpretado.
Conclusiones
Java está acelerando la máquina para adaptarse a los nuevos tiempos y
luchar contra la competencia que suponen los lenguajes de nueva
generación, que se aprovechan de ventajas como el disponer de una consola
REPL para trabajar.

El modo en el que se trabaja con una consola REPL para ciertas tareas de
aprendizaje, pruebas y prototipado parece más creativo o directo que tener
que hacerlo con un lenguaje compilado y fuertemente tipado como es Java.

Con la adopción de un entorno de consola REPL en Java puede que comience


una nueva senda en las formas de desarrollar, enriqueciendo no sólo los
métodos básicos de aprendizaje para los nuevos programadores, sino que
también habre nuevas posibilidades como el uso de Java y sus librerías como
sistema de scripting para tareas que hasta ahora se dejaban en mano de
lenguajes menos formales.
Jshell en IDE
Empezando es demasiado útil para el progreso pronto y también es un
beneficio para todos los programadores de Java. Pero hay cosas importantes
que no se debe realizar como una de sus iniciales es no cometer el error de
enredar un entorno de desarrollo integrado en otras palabras el “IDE”.
Para aparentar un proyecto acabado o aplicación, no se debe poner tú
confianza con JShell. Aquello solo es un beneficio para la labor rápido de un
desarrollador. Como un ejemplo es el NetBeans es IDE y JShell es una
aplicativo por sí solo. Además, refuerza probar los códigos y examina
opciones cómodamente a medida que desarrolla su programa. Se empieza
con el transcurso de que se vaya ejecutando el programa, se inicia acertando
el JShell para probar después de aquello el código el trabajo de JShell en el
editor de programa o IDE. En secundario es aprender a cómo utilizar las
variables. La siguiente parte es la razón de los métodos y aspectos
coherentes, como la renovación de métodos, la sobrecarga, etc. Después
en la cuarta parte que trata de declarar, modificar y extender clases. La
quinta partese ocupa de las declaraciones y enumeraciones de flujo de
control, mientras que la sexta consta de expresiones lambda. Y así es como
dominas Jshell.

Un entorno de desarrollo integrado (IDE) es un sistema de software para el


diseño de aplicaciones que combina herramientas comunes para
desarrolladores en una sola interfaz de usuario gráfica (GUI). Generalmente,
un IDE cuenta con las siguientes características:
Editor de código fuente: editor de texto que ayuda a escribir el código de
software con funciones como el resaltado de la sintaxis con indicaciones
visuales, el relleno automático específico para el lenguaje y la comprobación
de errores a medida que se escribe el código.
Automatización de compilaciones locales: herramientas que automatizan
tareas sencillas y repetitivas como parte de la creación de una compilación
local del software para su uso por parte del desarrollador, como la
compilación del código fuente de la computadora en un código binario, el
empaquetado de ese código y la ejecución de pruebas automatizadas.
Depurador: programa que sirve para probar otros programas y mostrar la
ubicación de un error en el código original de forma gráfica.
JShell o Java Shell es un bucle de lectura-evaluación-impresión (REPL). Esto
significa que evalúa las expresiones a medida que se ingresan y nos muestra
los resultados. Se puede acceder a JShell desde la línea de comandos y es una
excelente herramienta para realizar ajustes en su código. Un programa
básico de Java necesita que pases por el tedioso proceso de escribir un
programa completo antes de compilarlo, corregir los errores y ejecutarlo solo
para descubrir que la salida no es la que esperabas. El uso de JShell le ayuda
a encontrar problemas a medida que desarrolla código. Puede ejecutar
declaraciones individuales en un JShell y usar API de las que no tiene idea.
DATO CURIOSO: El nombre interno de JShell es Proyecto Kulla. La
comunidad de desarrolladores es famosa por sus extravagantes nombres y
vale la pena mencionar este.
Kulla proviene de la mitología mesopotámica como el dios constructor que
fue desterrado después de que se completó la construcción. Estamos seguros
de que puede relacionar totalmente JShell con Kulla, ya que JShell es
necesario solo para el período de desarrollo del software Java de una
aplicación.
JShell o Java Shell es una nueva herramienta introducida en NetBeans que
se utiliza para ejecutar piezas de código independientes. Se pueden usar
métodos sin clases y códigos sin contexto para validarlos en JShell. Para
comprender JShell y dominarlo, es necesario comprender los seis aspectos
básicos, comenzando con los comandos básicos en JShell.
El segundo es aprender a usar variables. La tercera parte es la comprensión
de los métodos y todos los aspectos relacionados, como la sustitución de
métodos, la sobrecarga de métodos, etc., seguida de la cuarta parte que trata
de declarar, modificar y extender clases, la quinta parte se ocupa de las
declaraciones y enumeraciones de flujo de control, mientras que la sexta
consta de expresiones lambda. Y así es como dominas JShell.
Está más allá del alcance de este artículo discutir todos y cada uno de los
módulos de JShell en profundidad, sin embargo, definitivamente podemos
hablar sobre los conceptos básicos, comenzando con:
Iniciando JShell
Una vez que esté en NetBeans, diríjase a la pestaña llamada Herramientas.
Seleccione
Open Java Platform Shell en él.
¡Eso es todo! Ahora está en su propio símbolo del sistema de Java. Una vez
allí, sigue
adelante y escribe:
/
help
Esto incluirá una serie de comandos que puede escribir con su uso. Puede
escribir:
/list -start
Esto alistará todos los paquetes que se importan de forma predeterminada
tan pronto como inicie un JShell. Simplemente puede importar todos los
demás paquetes si desea utilizarlos. De manera similar, se pueden declarar
variables simplemente como se hace en un simple fragmento de código Java.
La declaración System.out.println se puede utilizar para imprimir los valores
de las variables. Una cosa a tener en cuenta aquí sería que el usuario debe
declarar un tipo de variable y JShell no lo declarará automáticamente.
Variables implícitas
Las variables implícitas son variables definidas automáticamente por JShell
y esta es una característica única de JShell. En un código Java simple, no
puede declarar variables implícitamente. Sin embargo, en JShell si
simplemente escribe '1', creará una variable implícitamente. Además,
cuando opera, JShell crea implícitamente una variable para almacenar el
resultado de la operación. Por ejemplo, si escribe '1 + 2', JShell creará
implícitamente una variable $ 4 ==> 3. También puede usar variables
implícitas normalmente, por ejemplo, se permite $ 1 + $ 4. Una cadena literal
como "Hola mundo" también invocará variables implícitas y la variable se
puede usar en otro fragmento de código para imprimir o usar.

Al sumar enteros con decimales y operaciones en las que entra en juego la


ampliación de los tipos de datos, las variables implícitas juegan un papel
importante. ¿Recuerda cómo / list enumera todos los fragmentos de código?
Del mismo modo, / vars enumera todas las variables. Un consejo para
recordar sería que JShell no permite que las variables de nivel superior sean
estáticas o finales. Si intenta hacerlo, se generará una advertencia. Si bien la
variable se creará, no obstante, no será de naturaleza estática ni final.

Jshell no es un IDE
Así que eso es todo por lo básico. Una vez que comience a usar JShell,
obtendrá la esencia de cómo aprovecharlo al máximo. Es una herramienta
poderosa para el desarrollo ágil y es una bendición para todos los
desarrolladores de Java. Sin embargo, nunca se debe confundir con un IDE
(entorno de desarrollo integrado). Para simular un proyecto completo o
desarrollar una aplicación, nunca se puede confiar en JShell. Es solo una
herramienta que ayuda a un desarrollador. Aquí, Netbeans es un IDE y
JShell es una 'aplicación / comando' por sí solo.
JShell es una nueva característica en JDK9 y NetBeans 9. Si desea utilizarlo,
actualice su NetBeans a la última versión y comience. No hay mucho que
aprender de nuevo cuando se trata de jshell, solo algunos no para tener en
cuenta y un par de características nuevas y emocionantes para explorar, y eso
es lo que hace que jshell sea tan divertido y útil.
BIBLIOGRAFIA
IBM Cloud Education. (28 de abril de 2020). Java theory and practice:
Interactive Java programming (REPL) with JShell, Part 2 Obtenido de
https://developer.ibm.com/tutorials/java-theory-and-practice-5/

Oracle help center. Java Platform Standart Edition Java Shell User’s Guide.
Obtenido de
https://docs.oracle.com/javase/9/jshell/introduction-jshell.htm#JSHEL-
GUID-

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy