Java es un lenguaje arcaico, increíblemente lento, y redundante. Si lo enseñé alguna vez, fue porque:
a) El director del Instituto que me lo pidió inicialmente, se confundió… pensó haber leído en mi currículo que yo había sido docente en la UNICA (ahí dice claramente que fui Tech Support. Fue un momento bastante jocoso, la verdad),
b) Parece que no existia nadie más en Ica que enseñara eso, y
c) Me pareció paja la idea de ser profe
Es un error que no volveré a repetir. Quiero enseñar/exponer sobre Linux, Gambas, Blender, Python, y cualquier otro software libre que sea emocionante
¿Por qué digo que Java es arcaico y redundante? Porque su sintaxis es una copia de C. Y la sintaxis de C sólo tiene razón de ser en C, ya que el compilador de éste optima el código para convertirlo en lenguaje máquina, y ganar velocidad. Los lenguajes de programación de más alto nivel ya no compilan a lenguaje máquina directamente, usualmente lo hacen hacia un bytecode, y las optimizaciones de velocidad precisas de C pierden sentido. Para muestra, un botón: La sentencia switch, de C.
Si te has preguntado por qué tienes que escribir un break después de cada segmento case en una sentencia switch en Java, es por que tu inconsciente también sabe que Java es feo
Básicamente, un switch es un montón de ifs anidados, y es lo mismo usar uno u otro (python, por ejemplo, no tiene una instruccion switch, y te recomienda usar simplemente ifs), no hay beneficio de velocidad.
Excepto en C. La sentencia switch en C crea una tabla de saltos, donde el puntero de ejecución es empujado cierta cantidad de instrucciones según el valor numérico que se le pasa a la sentencia switch. Al no haber comparaciones (esto es, ifs), es mucho más rápido. Entonces cada keyword case marca un punto donde debe de saltar el puntero de ejecución. Aquí viene lo interesante: case no es una sentencia, no produce código máquina, solo lo usa el compilador para armar la tabla de saltos. Cuando se ejecuta el programa, no hay forma de saber dónde acaba las sentencias que le corresponde a cada case, por lo que uno manualmente tiene que marcar el fin, indicando que salga del bloque switch usando la sentencia break;.
Esta forma de trabajar de switch permite hacer optimizaciones bastante locas (como el dispositivo de Duff). Otra cosa a notar aquí, es que el valor que se le proporciona a switch debe ser únicamente numérico. Es poco probable que ese tipo de sentencia switch se use en estos tiempos, incluso lenguajes feos como Visual Basic tienen un switch mucho más moderno (su SELECT CASE, que permite hacer comparaciones de mayor, menor, y de cadenas, obviamente es internamente IFs anidados)
¿Aún sigues pensando que Java es moderno? Allá en 1995, adoptaron la sintaxis de C para hacerlo familiar con los programadores, y modificaron cosas que trae problemas en C (como punteros, recolectores de basura, etc.) Cumplió su objetivo, y se volvió muy popular. Y el mismo bodoque siguen usando hasta ahora, por mucha presión de grandes billeteras. Suena un poco a la historia de Windows
Ahora hay muchos lenguajes de programación, como Python, o Ruby, que son infinitamente mejores, modernos, y se enfocan en la velocidad de desarrollo, que es lo que realmente importa en estos tiempos.
Si, es cierto: PHP tiene también la sintaxis de C. Por eso estoy en el proceso de dejarlo
No hay discusión, solo un detallito, ademas de valores numéricos (int, byte, short) también admite el tipo char (que debe ir entre comillas simples).
prueba scala
Muy bueno tu post, saludos.
Algo cierto es que java es uno de los primeros lenguajes, pero al ser “viejo” asi este aportando o no, pues seguira en la cabeza de los programadores y que de alguna manera sino contribuye a la larga desaparecera, lo mismo pasa con windows (sorry oliver) que a la mala esta mejorando su sistema(sigues apestando) pero lo ha mejorado, pero lastima, son algo retardados para reaccionar xD
Pero dejar PHP por que tenmga algo de C? eso no, no compares, JAVA si que es un asco
Aplausos..
Me gusto la forma en que le dices a Java que es una porquería, sin olvidar que la sintaxis es una joda! y el debugear en un IDE cito Netbeans, Eclipse, es mucha mamada q te vas al padre y luego entras a métodos raros, donde la sintaxis es muy pro, y te quedas que pedo ahora que.
Bueno en lo personal también me disgusta el programar en Java, y si hay gente que le gusta es que no ha conocido, Python o Ruby, y señores que amen escribir mucha maja, para tener lo mismo en otro lenguaje, prueben programar con BrainFuck, bueno no, enserio, me agrado tu post.
Pingback: Tweets that mention Aclaración: ODIO JAVA (y un poco de switch/case) :: Melancolía al despertar -- Topsy.com
PHP > todos los lenguajes que existen.
me gusti el post, a java agragale que se decompila sin el menor problema, casi todo programa java es opensouerce aunque los programadores no quieran jajaja, y que todo programa se ejecuta en una maquina virtual que ocupa 1/2 cpu al ejecutar cualquier prgrama con interfaz grafica muy esbelta por asi decirlo ademas de ser imposible crear una interfaz ligera y estable graficamente…
Nadie enseña JAVA en Ica?? me ire a enseñarlo entonces jajajaja