Underc0de

Foros Generales => Debates, Reviews y Opiniones => Mensaje iniciado por: Mortal_Poison en Noviembre 03, 2017, 02:51:49 PM

Título: ¿Qué opinan de Java?
Publicado por: Mortal_Poison en Noviembre 03, 2017, 02:51:49 PM
Hola a tod@s,


Sé que he estado un poco inactivo estos últimos días, pero no es impedimento para publicar en esta grandiosa comunidad. Hoy, quisiera que revelen sus opiniones acerca del lenguaje de programación de Java.

¿Por qué?

Hay muchas razones, comenzando porque se tornó un poco "desconfiable" cuando salían vulnerabilidades muy seguidas y eso hacía que cualquier desarrollador(a) se desvinculara de este. Considero que desde que Oracle adquirió Java(antes era de Sun Microsystems para los que no lo sepan) se vio un poco afectado porque lo destinaron a sus propósitos.

Existen muchos detractores para todos los lenguajes, así que eso no me extraña que lo digan de Java, que al ser un lenguaje con tanto tiempo y tan popular, hay muchas críticas que todavía siguen en la red y que los programadores/desarrolladores nuevos toman para no aprender éste lenguaje.

A ver, aún hay personas que critican Java 5, sí, Java 5. Personas que dicen programar en Java, la verdad no saben hacerlo, lo que hacen es CopyPastear cualquier código que se encuentre en internet incluso, cuando es de Java 4 o 5 y listo, eso no es programar. ¿Sabías que Java ya está en su edición 9?.

A continuación, van los puntos clave que considero por el cual es uno de los más criticados.

Código (java) [Seleccionar]
BufferedReader Reader = new BufferedReader(new InputStreamReader(new FileInputStream(FILE_NAME)));
String linea = Reader.readLine();
while(linea != null){
System.out.println(linea);
linea = Reader.readLine();
}


Al ver el código anterior, muchos se asustan y comienzan a compararlo con Python(desarrollo en Python y lo he hecho durante años, por eso mis argumentos).

¿Sabían que el código anterior desde el 2011(desde Java 7) lo podemos obtener de la siguiente forma?

Código (java) [Seleccionar]
List<String> Lineas = Files.readAllLines(Paths.get("texto.txt));

Sencillo, ¿cierto?.

Critican una verbosidad que realmente no existe.

Por favor, revisen éste post: Por qué debería aprender Scala. (https://www.toptal.com/scala/why-should-i-learn-scala)

Código (java) [Seleccionar]
public List<Product> getProducts() {
    List<Product> products = new ArrayList<Product>();
    for (Order order : orders) {
        products.addAll(order.getProducts());
    }
    return products;
}


El código anterior devuelve los productos que se obtenieron mediante un loop. Sin embargo, él compara que en Scala se hace de la siguiente manera:
Código (java) [Seleccionar]
def products = orders.flatMap(o => o.products)

Pero es que en las nuevas versiones de Java también podemos hacerlo, podríamos hacer esto por ejemplo:
Código (java) [Seleccionar]
productos = orders.stream().flatMap(o -> o.getProducts().stream())

Y listo.

Tomemos otro ejemplo de éste blog, por ejemplo:

Código (java) [Seleccionar]

List<String> list = new ArrayList<String>();
list.add("1");
list.add("2");
list.add("3");


En Scala es de la siguiente forma:
Código (java) [Seleccionar]
val list = List("1", "2", "3")

Pero en Java podemos usar asList y lo podemos hacer de igual forma.
Código (java) [Seleccionar]
Arrays.asList("1","2","3");

Y si nos vamos a Java 9, nos lo hace aún más sencillo:
Código (java) [Seleccionar]
List<String> strings = List.of("1","2","3");

¿Lo quieres con Int? no hay problema.
Código (java) [Seleccionar]
Set<Integer> ints = Set.of(1, 2, 3);Pero espera... los frameworks.

Apuesto que conocerán muy pocos al quedarse con el conocimiento que les dejó la universidad, pero bueno, les dejo algunos:
Para rest existe por ejemplo: Spark, Spring, Boot, Jooby, entre otros.
Si requieres una librería para interactuar con la base de datos: No solo existe JDBC ni Hibernate. Están JOOQ, Spring, Data, MyBatis, SQL20.

Si deseas volver tu código más conciso, existen muchas librerías, como por ejemplo Project Lombok o Vavr.

Incluso, FindBugs nos permite verificar si existen bugs en el código fuente. Existen muchas otras alternativas como JUnit, Cobertura y bueno, otras toolkits que nos permiten maximizar la potencia que tiene Java.

Para finalizar, muchos ponen que las interfaces gráficas de usuario quedan feas o un poco grotescas, creo que sería bueno que revisaran Neptuno,  (https://underc0de.org/foro/java/x-neptuno-x-copia-archivos-de-manera-sigilosa) donde sé que la GUI quedó un poco bonita.

Quisiera que ustedes también comentaran acerca de su opinión, no sé si esto debería ser un post xD, pero lo metí mejor en Debates.

Un saludo.
[/font]
Título: Re:¿Qué opinan de Java?
Publicado por: rush en Noviembre 03, 2017, 04:04:48 PM
+1

Quedo excelente, espero ver la continuación de estos aportes.

Saludos!!!
Título: Re:¿Qué opinan de Java?
Publicado por: Mortal_Poison en Noviembre 03, 2017, 06:47:02 PM
Hola Rush, (https://underc0de.org/foro/profile/rush/)

Muchas gracias ;D, espero con mis aportes que crezca en parte la comunidad.

Un saludo.
Título: Re:¿Qué opinan de Java?
Publicado por: Hu3c0 en Noviembre 03, 2017, 07:59:20 PM
Me ha gustado mucho el thread y añado mucho karma +1 soy un adicto a la taza desde 2014 y sigo aprendiendo todos los días de mi vida.

Por cierto muy chulas las interfaces del thread de Neptuno no sé si será casualidad o no pero has aplicado estilos muy parecidos a los que utilizar un genio de las interfaces en Java llamado Keeptoo.

Salu2 brother

Título: Re:¿Qué opinan de Java?
Publicado por: Mortal_Poison en Noviembre 03, 2017, 08:32:29 PM
Hola Hu3c0,

Sí, la verdad lo que hice fue aprender de él, me molaría como lo hacía así que destine un tiempo hace tiempos para aprender bien lo del diseño. Sin embargo, uno ya lo adapta a sus necesidades de lo aprendido, y como dices, ¡siempre se aprende algo nuevo!.

Un saludo y muchas gracias ;D.
Título: Re:¿Qué opinan de Java?
Publicado por: sadfud en Noviembre 03, 2017, 09:51:56 PM
Sinceramente lo llevo usando desde hace mes y algo y de momento me gusta, parecido a c++, sigue siendo un lenguaje de programacion de verdad, se critica mucho por dos razones creo yo, las interfaces graficas que no quedan bonitas como pueden quedar en c# y por las applets (en esto coincido, no se me ocurre nada peor que una web con back-end en java, desde el lado del usuario).

Suele pasar con lenguajes de este estilo, c, java c++ que mucha gente dice que no le gustan, normalmente suele ser gente que usa un lenguaje como python en el que solo hacen llamadas a funciones y manejan estructuras basicas por que no son capaces de programar de verdad (abro paraguas)

Como pega a java frente a C le veo el tema de punteros y control de memoria, por lo demas lo veo todo correcto
Título: Re:¿Qué opinan de Java?
Publicado por: Mortal_Poison en Noviembre 04, 2017, 09:40:10 PM
Hola Sadfud, (https://underc0de.org/foro/profile/sadfud/)

La verdad que Java en lo que respecta por ejemplo a JSP, nunca me ha gustado y me parece que es realmente tedioso. Pero como todo, ventajas y desventajas tendremos en los lenguajes de programación.

Por otra parte, te doy la razón, de hecho, Java es una 'fusión' entre C# y C++.

Un saludo y gracias por comentar ;D.
Título: Re:¿Qué opinan de Java?
Publicado por: Hu3c0 en Noviembre 05, 2017, 05:54:16 AM
Yo empecé a estudiar Java en el 2014 para poder hacer aplicaciones Android. Me cautivo tanto que a fecha de hoy sigo aprendiendo, después de comprender :la abstracción , modularidad, encapsulamiento, herencia y polimorfia, estoy aprendiendo sobre threads y sockets.

Por otro lado dispongo conocimientos sobre JSP, persistencia usando el driver mysql ,configuración de Pool de conexiones  y ahorita mismo también estoy estudiando persistencia con hibernate, para el postre estoy dejando JSF.Éste es mi target actual.

Yo también he visto varios videos de Keeptoo es todo un experto en diseño gráfico con material design lo encontré por casualidad  buscando información sobre Fx Scene builder con el cual se extiende  a un grado superior la creación de Interfaces de usuario.

Salu2  y seguir dándole duro porque esto no tiene fin.
Título: Re:¿Qué opinan de Java?
Publicado por: Mortal_Poison en Noviembre 05, 2017, 12:00:57 PM
Hola Hu3c0, (https://underc0de.org/foro/profile/Hu3c0/)

Claro que sí, todos esos conceptos a uno le hacen cambiar la perspectiva cuando uno desarrolla. Por otra parte, ni JSF/JSP me han gustado mucho, por eso no los he trabajado mucho. Prefiero un Symfony de PHP por ejemplo, ya va a cuestión de gustos. También lo encontré a él(KeepToo) porque antes hacía las GUI's con JavaFX. Sin embargo, con Swing también pueden quedar bonitas y él nos lo demostró.

Un saludo y happy hacking.
Título: Re:¿Qué opinan de Java?
Publicado por: D0Nkey en Enero 01, 2018, 09:29:24 PM
Sé que puede sonar newbie, y lo es, pero he buscado en todo el internet (saben que no es cierto) y no he encontrado respuesta, ¿puedo programar algún aparato inteligente desde cero con Java? Por cierto, ésto me levanta los ánimos con el lenguaje que más interesante me parece, aunque claro, creo que java al ser Poo puro está más destinado a estructuras (porque se forman con partes) y ésto tendría el mismo concepto de objeto aquí objeto allí para crear un gran objeto. ¿Opinan que es una buena idea conocerlo bien? He escuchado que es el programador no el programa, ¿si utilizas una función (como vienene en la API) no podrías simplemente cambiar su funcionamiento tomando su código base para adaptarlo más a tus deseos? Opino que el límite es la muerte.

//El Spellcheck no está en función, no lo había notado.
Título: Re:¿Qué opinan de Java?
Publicado por: gugadev en Enero 03, 2018, 09:33:53 AM
En mis primeros años de estudio y trabajo, fui un "Java Advocate". Llegué a usar Java 8/Java EE 7 y a conocer el lenguaje, muy bien. De hecho, es lo que me enseñaron en la Universidad y ese, bajo mi perspectiva, es uno de los errores más importantes.

Llegó un punto en que si tenía que realizar algo, lo hacía en Java; de hecho no sabía usar otra cosa. Hasta el momento defendía a capa y espada al lenguaje, más que todo porque era lo único que conocía.

Sin embargo, con el pasar del tiempo, como programador/analista/arquitecto/ingeniero, te ves en la necesidad de ver y evaluar distintas opciones desde el punto de vista estructural y funcional. Allí es cuando te empiezas a cuestionar si lo que sabes/usas es suficiente ante el problema que tienes frente.

Sin prolongarme demasiado, en mi opinión, Java está en proceso de muerte como lenguaje. Como plataforma tiene larga vida y se ha demostrado con proyectos como Scala, Groovy, Ceylon y Kotlin; pero como lenguaje, ya no tiene nada que ofrecer.

Uno de los principales problemas, si no el más relevante, es la falta de inversión por parte de Oracle. Desde que Oracle se hizo cargo de Sun, ha tratado a Java como ciudadano de segunda clase para centrarse en sus servicios Cloud, esto se puede ver en la actvidad de Oracle a lo largo del tiempo como lo representa y queja bien JavaGuardians.

Actualmente, hay mejores alternativas incluso para desarrollo empresarial. Un claro ejemplo es NET Core, el cual es moderno, seguro, eficiente y libre. Otras alternativas que, por ejemplo, usamos en producción en la empresa donde trabajo, son Go y Node.js.

Java tuvo su época pero la falta de interés e inversión le pasó factura.
Título: Re:¿Qué opinan de Java?
Publicado por: Randomize en Enero 03, 2018, 11:31:23 AM
¿Mi opinión de Java?


"A programar se aprende programando", lo resume bien en pocas palabras (no son palabras mías).


Hay más lenguajes, con una manta y humo sería pasarse, pensad un poco en la interfaz de conexión, no todo cabe en los balcones de la gente.

Un saludo.


Título: Re:¿Qué opinan de Java?
Publicado por: Drezan en Junio 08, 2018, 03:22:39 PM
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
En mis primeros años de estudio y trabajo, fui un "Java Advocate". Llegué a usar Java 8/Java EE 7 y a conocer el lenguaje, muy bien. De hecho, es lo que me enseñaron en la Universidad y ese, bajo mi perspectiva, es uno de los errores más importantes.

Llegó un punto en que si tenía que realizar algo, lo hacía en Java; de hecho no sabía usar otra cosa. Hasta el momento defendía a capa y espada al lenguaje, más que todo porque era lo único que conocía.

Sin embargo, con el pasar del tiempo, como programador/analista/arquitecto/ingeniero, te ves en la necesidad de ver y evaluar distintas opciones desde el punto de vista estructural y funcional. Allí es cuando te empiezas a cuestionar si lo que sabes/usas es suficiente ante el problema que tienes frente.

Sin prolongarme demasiado, en mi opinión, Java está en proceso de muerte como lenguaje. Como plataforma tiene larga vida y se ha demostrado con proyectos como Scala, Groovy, Ceylon y Kotlin; pero como lenguaje, ya no tiene nada que ofrecer.

Uno de los principales problemas, si no el más relevante, es la falta de inversión por parte de Oracle. Desde que Oracle se hizo cargo de Sun, ha tratado a Java como ciudadano de segunda clase para centrarse en sus servicios Cloud, esto se puede ver en la actvidad de Oracle a lo largo del tiempo como lo representa y queja bien JavaGuardians.

Actualmente, hay mejores alternativas incluso para desarrollo empresarial. Un claro ejemplo es NET Core, el cual es moderno, seguro, eficiente y libre. Otras alternativas que, por ejemplo, usamos en producción en la empresa donde trabajo, son Go y Node.js.

Java tuvo su época pero la falta de interés e inversión le pasó factura.

Efectivamente. Quizá Java no muera nunca, pero lo que si es cierto es que las empresas cada vez buscan más alternativas, y más ahora que C# está siendo multiplataforma, y Kotlin busca reemplazar Java para Android, y Python de por sí cumple mucho en otros aspectos.

Pero Java no va a morir porque tradicionalmente las empresas les cuestan confiar en nuevas tecnologías, o ya tienen mucho tiempo super montados, y cambiar de tecnología sería demasiada inversión tanto de dinero como de tiempo... Pero las nuevas empresas se lanzan con C#, Python, Go, Node.JS entre otras alternativas.
Título: Re:¿Qué opinan de Java?
Publicado por: Randomize en Junio 08, 2018, 03:41:04 PM
Aportaré mi mera opinión:

1º No sé programar en Java por mucho "public class Hola Mundo" que yo ponga, ¿pos no sé? Eclipsao que estoy.

2º Es obvio que su máquina virtual está en cualquier plataforma, la tengo yo en mi móvil del 2007, pos imagina, lo que lo hace de lo más funcional.

3º Su nombre se deriva de una charla con café y "Duke" es un quesito muy divertido...


Un saludo.


Título: Re:¿Qué opinan de Java?
Publicado por: luff1 en Junio 09, 2018, 06:41:25 AM
En mi opinión es un buen lenguaje para aprender en un inicio pues diría que está entre lenguajes como C y otros más modernos como Python y permite escoger si aprender lenguajes más antiguos o más modernos en poco tiempo. Ahora, centrarse solo en él creo que sería un error pues, com9 han dicho arriba, luego no sabes nada más.
En resumidas cuentas. Es un buen lenguaje para aprender TODOS los paradigmas de la programación som frustrarse demasiado y luego virar a otros lenguajes que necesites.
Un saludo.

Enviado desde mi ONEPLUS A6003 mediante Tapatalk

Título: Re:¿Qué opinan de Java?
Publicado por: Randomize en Junio 09, 2018, 08:47:05 AM
¿Virar a otros lenguajes que necesites?


Ya te digo yo que en muchos bancos todavía "se practica el COBOL" (¿Y sabes qué? ¡¡¡ No usan protección !!!)...


¿Programar?

Ya lo dije, ir para que te digan que te las apañes tú solo: "a programar se aprende programando", pos...

Un saludo.