Por que java es tan patetico?
Publicado por Agustin (170 intervenciones) el 02/01/2018 20:42:09
Si comparamos a java con cualquier lenguaje estático moderno (por ejemplo C#, F#, Kotlin, Scala, e incluso TypeScript, ni hablemos de lenguajes mas avanzados como Idris o Haskell), vemos que java se queda totalmente atras en términos de riqueza del lenguaje, expresividad, productividad y digamos subjetivamente "belleza".
El codigo java en general es horriblemente tedioso, dificil de leer y escribir, innecesaria y vomitivamente repetitivo, carente de constructos y features que en otros lenguajes son moneda corriente como ser properties, operadores sobrecargados, generics (de verdad), string interpolation, null propagation, type inference, y un largo etc. Al mismo tiempo el type system de java presenta un soporte inexistente para value types (ni siquiera se puede hacer un List<int> en java), y el lenguaje carece que facilidades para el uso de Union Types, pattern matching, yield, y una cantidad enorme de features que si quieren puedo armar una lista y nombrarlos uno por uno.
En contraposicion, los lenguajes modernos en su mayoría presentan un superconjunto de las facilidades que se encuentran en java. Es decir, dado cualquier lenguaje (por ejemplo C#), éste posee TODAS las características de java, y muchísimas más que no se encuentran en java.
Por qué se da este fenómeno? cuales son las ventajas del lenguaje desde el punto de vista del desarrollador individualmente? Me refiero a qué ventajas se encuentran al escribir código java versus por ejemplo Kotlin, desde un punto de vista estrictamente técnico y no desde la mirada de recursos humanos que está feliz de conseguir por 2 dolares al año cientos de monitos que programen en java, cosa que no se da con lenguajes más avanzados por ejemplo F# o Scala?
El codigo java en general es horriblemente tedioso, dificil de leer y escribir, innecesaria y vomitivamente repetitivo, carente de constructos y features que en otros lenguajes son moneda corriente como ser properties, operadores sobrecargados, generics (de verdad), string interpolation, null propagation, type inference, y un largo etc. Al mismo tiempo el type system de java presenta un soporte inexistente para value types (ni siquiera se puede hacer un List<int> en java), y el lenguaje carece que facilidades para el uso de Union Types, pattern matching, yield, y una cantidad enorme de features que si quieren puedo armar una lista y nombrarlos uno por uno.
En contraposicion, los lenguajes modernos en su mayoría presentan un superconjunto de las facilidades que se encuentran en java. Es decir, dado cualquier lenguaje (por ejemplo C#), éste posee TODAS las características de java, y muchísimas más que no se encuentran en java.
Por qué se da este fenómeno? cuales son las ventajas del lenguaje desde el punto de vista del desarrollador individualmente? Me refiero a qué ventajas se encuentran al escribir código java versus por ejemplo Kotlin, desde un punto de vista estrictamente técnico y no desde la mirada de recursos humanos que está feliz de conseguir por 2 dolares al año cientos de monitos que programen en java, cosa que no se da con lenguajes más avanzados por ejemplo F# o Scala?
Valora esta pregunta
-6