CLR: .Net / Mono / Boo / Otros CLR > C#
C# Versus Java
ibito:
He usado c# y java (el proyecto que postee empece en java y termine en c#), la verdad no me gustan ninguno de los 2 pero prefiero c# por su parecido a C/C++, al trabajar con java me tope un par de veces por que era "nuevo" para mi (pongo entre comillas "nuevo" porque si sabes programar no se te dificulta tanto un lenguaje nuevo).
Java tambien tiene la sintaxis muy parecida a c/c++ pero no se, c# se me facilito mas.
Java se me hace mucho mas lento en todos los aspectos, en cambio c# si es lento, pero no tanto.
Estoy seguro que me gusto mas c# porque ya ha pasado por mi cabeza hacer algo en c#, mientras que en java nomas no he querido hacer nada.
:hola:
Saludos!
antony_soluciones:
:D Hola amigos...
Espero no se ofendan los amantes de C# pero es que en realidad creo que java es muy superior, por favor lean este articulo
Articulo sobre java
si alguien tiene algo que aportar encontra de java despues de leerlo, soy todo ojos...
:hola: Que esten muy bien.
Cordialmente,
Antony Hernan Delgado Solano
solcito:
Gente, desde mi punto de vista todos lo que han defendido C#, el único justificativo que dieron fue: "Porque es mas facil"
Nunca he trabajado con C#, ahora estoy empezando con Java, y la verdad es que me gusta mucho. Porq me gusta mucho?
La principal razón es porq es MULTIPLATAFORMA. Esto es igual con C#??
Creo que los que piden que los de Java no sean fanaticos, son los mas Fanáticos de todos. Porq no vi ni una sola justificación técnica de porq preferian C#. Perdón solo la de JuanK, el tema de los hilos, pero la única.
Saludos :hola:
JuanK:
Hola,
1- el articulo de la revista enter no se debe tener muy en cuenta , ya que como se puede ver claramente esta comentado por una persona que trabaja para sun microsystems, y el articulo visiblemente esta hecho para promocionar los diez años de java.. parece más una nota pagada.
2- Todo lo que comentan como lo bueno de java lo tienen otras plataformas no solo java y C#.net
3.- Otra cosa es que el articulo esta muy mal enfocado, y muy mal sustentado, como sera que hablan que la idea de java fue originaria de ellos, cuando realmente lo mismo que hace java hoy dia , lo hacia smalltalk en los años 80, pero no pegó porque para las maquinas de ese entonces llevar una maquina virtual resultaba muy lento, sin embargo smalltalk era completamente portable gracias a su maquina virtual.
4- .NET framework esta pensado para ser multiplataforma, averigua sobre el proyecto mono.
5- Nunca he hecho web services en C# pero sosteniendo una conversacion con un experto en java que trabaja en la empresa conmigo... desarrollando en java me dijo hace unos dias:
"A mi me gusta mucho java porque lo he trabajado mas que el .NET debido a mi trabajo, asi que si me pone a hablar de ventajas y desventajas... seguramente hablaria solo a favor de java, con excepcion de dos cosas:
a- Aprender .NET me tomo mucho menos de la mitad del tiempo que me tomo llegar a ese nivel con java.
b- Hace unos seis meses tuve que hacer unos web services en .NET, no me gusto el estilo de hacerlos, pero definitivamente es mucho mas productivo, pues por cada web service inverti solo el 30% del tiempo que hubiera invertido para hacer los mismos web service en java."
6- Otras cosas importantes es que por el momento, y no tomando en cuenta smalltalk, .NET es la plataforma que mas ha implementado el paradigma orientado a objetos, incluso, y a diferencia de java, los tipos primitivos heredan de la clase object, lo cual da mas solides, integracion y versatilidad a la plataforma.
7- En .NET muchos tipos que en java se manejan como clases, se manejan como primitivos, permitiendo hacer uso de instrucciones como switch para hacer comparaciones de cadenas.
8- La ya siempre mencionada eficiencia, el codigo intermedio generado por .net (MSIL ) se ejecuta mas rapidamente que el byteode de java por dos razones fundamentales:
a) el MSIL no es interpretado como lo hace la maquina virtual de java con el byte code, el MSIL termina el proceso de compilacion cuando el software es usado por primera vez en la maquina, razon por la cual el codigo que genera finalmente esta optimizado para su ejecucion en el sistema operativo y hardware correspondiente, es decir el proceso de 'interpretacion ' del codigo solo sucede una vez y el resto de veces que se ejecute el programa ya no lo hace razon por la cual ya no es nuevamente interpretado y su rendimiento es superior.
b)el uso de memoria, si lo han notado cada vez que se ejecuta un programa hecho en java, se agrega un proceso mas al sistema, en el caso de windows creo que es el javaW lo cual no es más que el cargue de la maquina virtual a memoria, lo cual implica que si un programa requiere de 100mb libres para su ejecucion , a esto hay que sumarle otras cuentas megas que requiere la maquina virtual para estar en memoria, en .net esto no sucede ya que el framework no requiere de maquina virtual y todo lo enlaza dinamicamente.
9- El manejo del garbage collector, en mi experiencia personal he visto como programas hechos en java se REBIENTAN por memoria aun corriendo en maquinas con grandes cantidades de la misma... no estoy hablando de aplicaciones pequeñas como las que hacemos la mayoria, sino hablo de procesos de gran escala a nivel empresarial, donde por ejemplo ( lo vi hace dos semanas en mi empresa) haciendo un cargue y proceso de un archivo con 1'000.000 de registros a una base de datos java se apodero de de 250 MB de memoria en una mquina de 512 mb, cuando aun quedaban 100 MB libres, el aplicativo rebento por problemas de memoria. Logicamente se soluciono, incrementado en una configuración la cantidad de memoria a la cual podria acceder la maquina virtual y compilando con unos parametros especiales para que el el GC liberara los recursos mas frecuentemente...
En otra area hacen cargues de dimensiones similares usando tecnologia .net... y nunca han tenido que hacer nada de ello ni han tenido problemas por tal causa.
10- el caso JSP...
JSP, como bien lo sabrán es una tecnologia montada en java, que hace uso de java , que compila y crea codigo java etc...
ASP.NET esta montado con el .net framework etc...
Cualquiera puede hacer la prueba... cuanto tardan en acceder a una pagina JSP Vs una pagina ASP.NET.. peor cuando se esta haciendo desarrollo y hay que volver a hacer ' Deploy' en el servidor a cada rato para hacer pruebas... cuanto tarda la primera carga de ASP.NET comparada con la de un JSP?? la diferencia es aterradora... hagan la prueba....
Obviamente, y segun mi experiencia el más rápido si sigue siendo PHP en comparacion con los dos anteriores.
11- etc.. podria decir más pero ya lo saben, no trabajo con java el 100% del tiempo de hecho trabajo un 85% con oracle PL/SQL y el resto con java...
No creo que java sea malo, de hecho es muy bueno, y el hecho de que sea totalmente FREE (por el momento) es un gran punto a favor...
Pero en mi experiencia personal, la cual no es demasiado extensa ni en .NET ni en JAVA he notado esas grandes diferencias... y creo que podria encontrar mas tanto a favor como en contra si pudiera profundizar mas en los dos...
Como por ejemplo el hecho de que java no pueda manejar el concepto de estructuras, y por ello termina uno usando los famosos Java Beans que no son mas que otra clase que se queda en el heap y no en el stack como suele ocurrir muchas veces con la estructura lo cual vuelve muy lento algo que de una manera muy sencilla podria volverse muy rápido... como en C#.
DiabloRojo:
Hola.
Pues primero que todo aclarar que nunca he usado ni java ni c# por lo tanto no voto en este tema. Mi intervención es sólo para indicar que hay proyectos para hacer del c# un lenguaje multiplataformas. Revisen el siguiente enlace:
Proyecto Mono
Proyecto Mono_Plataformas
Lamentablemente está en inglés pero si consigo algo en español coloco el enlace. Sólo espero que el comentario enriquezca la discusión. Saludos a todos.
DiabloRojo.
Navegación
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa