Java vs Mono .NET ( C# ) en GNU/Linux
By: Date: abril 27, 2011 Categories: Programación

Hoy tuve varias discusiones sobre que es mejor .NET o JAVA, Se dijeron varios argumentos, desde cual es mas empresarial, mas profesional, el mejor código e incluso el rendimiento

Java lo tiene todo, es elegante, muy profesional, ideal para desarrollo empresarial pero me fallo a la hora del rendimiento, es cierto que sus programas no son exactamente los mas veloces.

Entonces quise saber cuánta era la diferencia en rendimiento de JAVA contra .NET en Linux, el resultado es abrumador, al menos la implementación de mono hace que el código de los programas .NET se ejecuten mucho más rápido que los programas JAVA

Para que no tuviera interferencia de otros procesos, pare todo los servicios de internet, incluso la swap, dejando al kernel libre para ejecutar los 2 programas y tomando el tiempo con time

No le fue muy bien a Java en rendimiento ni siquiera por que fue compilado y ejecutado por los programas de ORACLE, antes SUN java versión 1.6.0_25 y Mono 2.6.7

Parece ser que Miguel de Icaza ha hecho un excelente portado de una tecnología de Microsoft a GNU/Linux y la ha hecho tan bien que se ejecuta mejor que Java.

A Java aun le queda la elegancia de su código y que es mucho mas profesional, sin embargo esa elegancia y clases, rutinas y etc de la gigantesca librería de Apis de java parece que le han pasado una factura de ejecuciones pesadas.

Un video demostrando la situacion

Articulo relacionado

12 thoughts on “Java vs Mono .NET ( C# ) en GNU/Linux

  1. Usa: Google Chrome Google Chrome 10.0.648.205 en Windows Windows 7 - Detectado...

    es interesante lo que mencionas sobre lo que queda de java, solo por aclarar y no es que sea dotnetero aporreado de pecho ni nada por el estilo, solo que el que tu digas que java es elegante en el código es una contradicción la que tienes, ya que c# es sintacticamente igual que java, me sorprende que mucha gente cree que .net es el lenguaje y no, .net es la plataforma y no solo se desarrolla en c# sino tambien en vb.net, iron python/ruby, f# y un sin fin de de lenguajes que corren arriba del clr (virual machine para los javeros), hablando del lenguaje, hace años que java se siente obsoleto, sigue sin tener dinámicos, genéricos y demás, cosa que c# implementa desde hace un buen de tiempo.

    para mi la elección entre uno y otro es mero arguende filosófico y ya no es un tanto técnico, ambos son buenos, ambos se usan mucho, yo estoy contento con ambos, no me dejo llevar por filosofías que no llevan a nada, aun si, como plataforma .net es mejor…. xD

  2. Usa: Mozilla Firefox Mozilla Firefox 4.0 en Windows Windows XP - Detectado...

    Efectivamente, los tiempos son bastante diferentes, pero posiblemente no se deba al “buen diseño” de .NET sino a la “gracia” de MONO

    por favor alguien expliqueme en que consiste la elegancia del codigo JAVA, por que tengo entendido que la “elegancia” de codigo depende del desarrollador.

    en lo personal hace muchos años maneje JAVA y al menos para hacer DEBUGs y diseño de Interfaz es un dolor de cabeza.

  3. Usa: Mozilla Firefox Mozilla Firefox 4.0 en Linux Linux - Detectado...

    Ps a mi me sigue gustando Java, y la verdad no hubiera pensado en hacer una prueba de rendimiento, pero ps ni modo .net se llevo el performance

  4. Usa: Safari Safari 531.21.10 en iOS iOS 3.2.2 - Detectado...

    La elegancia se debe a quebal ser un lenguaje 100% objetos te obliga a trabajar con clases y da cierta estructura al lenguaje , no se si alguien ha escrito en pascal pero hay que ser bien tarado para escribir mal código en pascal , el lenguaje te obliga a hacerlo bien

  5. Usa: Google Chrome Google Chrome 10.0.648.205 en Windows Windows 7 - Detectado...

    Supuestamente la tendencia de los lenguajes de programacion de ultima generacion es el manejo de los objetos como tal, pero de la misma manera que la elegancia al escribir codigo, solo depende del caso que sean necesarios, si estamos hablando de las clases o estructuras de antaño… claro esta que segun es ahora todo un objeto, espero no estar erroneo.

    ahora bien respecto a pascal, lo maneje desde los discos de 5 1/4, pasando por la version turbo pasca (incluso con el problema que tuvo al entrar los nuevos procesadores) pasando por delphi (solo un rato) y en el caso de pascal si se podia hacer que el compilador no te obligara a hacer bien las cosas, pero eso solo lo hacias con las directivas de compilacion si mal no recuerdo.

    saludos!

  6. Usa: Mozilla Firefox Mozilla Firefox 4.0 en Windows Windows 7 - Detectado...

    [Offtopic]
    Last Dragon aprovechando el espacio en los comentarios en este tema, se les hace una invitacion a asistir a los vienes de cafe que se realizan a las 8pm en el cafe punta de cielo que esta por el km 4.5 para platicar sobre temas de Tecnologias de informacion. Este viernes platicaremos algo acerca de la nube, que pasa con los servicios en la nube y que alternativas hay ademas de amazon para servicios en la nube.

  7. Usa: Mozilla Firefox Mozilla Firefox 4.0.1 en Windows Windows 7 - Detectado...

    Fernando: tal vez para ti como programador la elección es meramente filosofica (aunque no termino de entender muy bien por que se contraponen). Pero para una empresa o un banco, la elección distaría mucho de esto.

    David:
    Java no es un lenguaje 100% orientado a objetos, por practicidad me parece. En su apartado en wikipedia creo recordar viene algo sobre ello.

    Hace tiempo no tocaba Java y nerdeaba con otra tecnología más antigüita (vivo para complicarme), pero desde que me tocó hacer aplicaciones para Android lo recordé.

  8. Usa: Mozilla Firefox Mozilla Firefox 3.0.17 en Ubuntu Linux Ubuntu Linux - Detectado...

    >>Entonces quise saber cuánta era la diferencia en rendimiento de JAVA contra .NET en Linux, el resultado es abrumador, al menos la implementación de mono hace que el código de los programas .NET se ejecuten mucho más rápido que los programas JAVA

    Si dices que java es lento porque es lento en tu laptop, no significa que sea lento. Puedes buscar pruebas donde contradicen tus resultados…

    >>ya que c# es sintacticamente igual que java,
    Parecido pero no igual.

    >>hace años que java se siente obsoleto, sigue sin tener dinámicos, genéricos y demás, cosa que c# implementa desde hace un buen de tiempo.

    Genericos esta desde la version 5 y vamos por la 7…. Y si java tambien le ha copiado algunas cosas a .net

    >>por filosofías que no llevan a nada, aun si, como plataforma .net es mejor…. xD
    .net no tiene tanto movimiento, primero se implementa en java luego en .net: spring, hibernate….

    >>David: Java no es un lenguaje 100% orientado a objetos, por practicidad me parece. En su apartado en wikipedia creo recordar viene algo sobre ello.

    Por ejemplo los nùmeros, existe la opcion de que sean primitivos lo cual en
    terminos de rendimiento es mejor que si fueran forzados a ser objetos siempre.

  9. Usa: Internet Explorer Internet Explorer 9.0 en Windows Windows 7 - Detectado...

    YIsku

    Mi laptop es una alienware con el procesador Intel Core I7

    Aunque el video en realidad lo grabe en un servidor DELL con procesasdores XEON

  10. Usa: Google Chrome Google Chrome 5.0.375.125 en Linux Linux - Detectado...

    public class estress{
    public estress(){
    int condicion =5000;
    System.out.println(“Constructor”);
    for(int x=0;x

  11. Usa: Google Chrome Google Chrome 5.0.375.125 en Linux Linux - Detectado...

    Mi comentario no salio. El punto es que la prueba dice que eso no es cierto. Y que tal vez tengas otra jvm instalada, checa tu classpath.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *