Post by Facundo OliveraBuenas, yo se que tal vez este no es el lugar para hacer esta pregunta pero
queria apelar a la sabiduria de la lista para que nos tiren a mi y a mis
compañeros de estudios una mano por sobre a que deberiamos orientarnos,
estamos cursando la tecnicatura en Programación en la UTN y estamos entre
orientarnos a java o a .net (más precisamente c#), pero nos gustaria saber
opiniones de gente que conoce del tema para que pueda decirnos hacia donde
nos conviene objetivamente tirarnos y por que. Muchas gracias :)
Aclaro, nunca trabaje con .net y actualmente trabajo con java. Hecha la
aclaración digo, comercialmente, son las dos tecnologias que mas fuerte se
manejan. O sea, laburo vas a conseguir en .net como en java. Nunca trabaje
con .net por lo que no se bien como sera el flujo de trabajo con .net, pero
por lo que he podido ver y conocer trabajar con el framework .net es mas un
trabajo de ensamblar partes que de programar...digo, Microsoft te provee de
todas las herramientas necesarias para uqe no tengas que pensar componentes,
agregados, etc ,etc. Esto lleva a que muchas veces la gente termine haciendo
cosas sin entender muuuy bien que se está haciendo por abajo (de esto si
tengo conocimiento por que laburo con gente que ha hecho cosas con .net y no
saben explicarte muy bien que sucede abajo de la capa que te provee
Microsoft).
En cuanto a Java, a mi tampoco me gustaba mucho antes, por que creia en eso
de que java es muy pesado, que tenes otros lenguajes mas livianos. La
verdad, Java no es el mas liviano. A costa de ser portable, con su maquina
virtual, llega a ocupar mucho espacio en memoria al correr aplicaciones. UN
dia cualquiera de trabajo, Netbeans me llega a ocupar casi 1gb en memoria
mas apache tomcat y la aplicación que este corriendo en ese momento, facil,
tenes 2gb de memoria dedicado exclusivamente al entorno java. Pero vamos,
hoy en dia los recursos no escasean. Con un procesador doble nucleo y 4 gb
de ram, podes laburar tranquilamente sin siquiera acordarte de la ram. En
cuanto a lo netamente programación, Java me encanta. me gusta mucho como
encaran el tema de la orientación a objetos y por lo menos a mi no me ha
costado programar las cosas que se me van ocurriendo sin grandes inventosy
trucos, cosa que en PHP si me pasa que si queres que algo funcione como
esperas, tenes que conocer un monton de trucos, configuraciones del
servidor, etc, etc. Otra cosa que tiene pro Java son las librerias. Tenes
librerias y frameworks muuuuy grosos que agilizan un monton el periodo de
desarrollo. Nosotros actualmente estamos trabajando con Wicket, un framework
web en Java y es impresionante la agilidad con la que programas. En cuanto a
conocer que hace por abajo Java, es todo open source...y de ultima,
decompilar alguna clase compilada no estan dificil...
A lo que me refiero. He aprendido muchas cosas leyendo codigo y
documentación de librerias ya armadas, y eso lo pude hacer gracias a que
todos los proyectos java te proveen de la documentación y del codigo fuente
para que puedas leerlo, debugearlo, modificarlo, etc, etc. Yo creo que esto
es una de las grandes contras de trabajar con .net, no tenes acceso a los
fuentes de lo que podes llegar a usar. Ademas, pensemos, un desarrollador
que se ate a un lenguaje como .net en el cual tenes que pagar una licencia y
atarte a determinadas tecnologias. .Net no es portables, lo corres en
Windows, o no lo corres, en cambio para Java existe cada vez mas
portabilidad a cualquier plataforma (celulares, tables, etc, etc).
Mira, uno de los grandes argumentos que tiene la gente que defiende a .Net
es que con .net programas muuuy rapido. Lo cierto es que es gente que le
molesta escribir mas de 200 lineas y que si ven una clase en java de 1000
lineas se cagan en las patas...esto me ha pasado mucho en el laburo, de
mostrar alguna clase media larga y de tratar de explicarle a una persona
.netosa y ella me dice "aaa pero .net te lo hace solo", en fin, son
decisiones, yo prefiero programar todo lo que uso, y que si no lo programo,
minimo lo pueda modificar o configurar a mis gustos. En java tambien
programas rapido, es mentira que escribis mas. Eso depende de que tan
refinadas tenes tus tecnicas orientadas a objetos, si utilizas bien
interfaces, herencia, etc, etc, se puede volver no solo agil y comodo si no
que muuuuy entretenido.
Repito, te hablo de una postura totalmente sesgada, ojala siempre pueda
elegir no trabajar con .net . Yo creo que lo mejor es hablar con gente, pero
tampoco dejar convencerse asi nomas. Escriban codigo, prueben, bajen
proyectos, fijense lo que esta haciendo la gente que utiliza .net y lo que
esta haciendo la gente que trabaja en java. asi pueden armarse una opinión.
Espero que les haya servido y ojala no los haya perdido con tanto
palabrerio. Suerte en esa busqueda. Saludos!
PD: Nadie sabe el destino de Java, ahora que Oracle manda, ojala nunca
termine como .net, algo cerrado, por ahora podemos contar con esos
beneficios que nos ofrecen las tecnologias abiertas
-- Santiago Barchetta --
Web Development