× PortadaNoticiasTrabajoColaboraciónEnlacesForosIRCFormaciónNosotros
Stratos: Developer's Meeting Point

Welcome to Stratos!

Acceder

Foros





C# vs Java: eficiencia de la VM (Autor : Daemon)
« 10 de Febrero de 2013, 02:29:30 pm »
Buenas,

S que esta pregunta puede suponer un flame, pero dejando a un lado las preferencias personales de cada uno: conocis algn estudio medianamente serio (o benchmarks) en donde se establezca qu rendimiento tiene C# vs Java a la hora de ejecutar cdigo (con y sin que intervenga el GC)?

Y sin restringir el campo a estos dos, qu lenguaje utilizis para programar?


Responder #1 por echinocactus
« 12 de Febrero de 2013, 05:42:46 am »
Hace muchos aos que no utilizo Java (desde la v5, aproximadamente). Por aquel entonces utilizaba ambas plataformas y lo curioso que recuerdo es que, en Windows, .NET ofreca mejor rendimiento, mientras que en Linux lo ideal era Java (en Windows, el rendimiento de Java dejaba mucho qu desear; y en Linux no tenas de otra ms que lo que hubiera de Mono en ese momento, para .NET).

Actualmente utilizo C#/.NET casi para todo, incluso juegos (XNA) y acceso a BD (Linq, Entity Framework). No solo estoy cmodo con el lenguaje en s, sino con todo el entorno de desarrollo, ya sea Visual Studio, TFS y... no mucho ms, todo lo tienes a la mano. Mientras que en el ambiente Java se tienen que integrar los pedazos de un ambiente de desarrollo antes de hacer cualquier cosa; hay ms opciones, quiz, pero mi inters principal (ahora que me dedico profesionalmente a desarrollar sistemas) es productividad, y con un ambiente .NET siento que de forma inmediata puedo atender problemas (en lugar de arquitecturas y despus el problema en s).

sa es mi impresin emprica. Y repito: hace mucho que no utilizo Java. No digo que actualmente no sea una buena plataforma. Simplemente estoy a gusto con C# y .NET.
Responder #2 por Vicente
« 12 de Febrero de 2013, 07:24:55 am »
Yo utilizo C# porque me siento muy muy comodo con el lenguaje, las libreras, el entorno,... Y adems me parece que el equipo que lo lleva en Microsoft ha evolucionado el lenguaje a lo largo de los aos de forma admirable

En la carrera Java me gustaba un montn, pero creo que al contrario que Microsoft Sun/Oracle no han conseguido evolucionar el lenguaje muy bien (la implementacin de genricos, ahora las lambdas, defensive methods,...).

Pero eso es personal respecto a los lenguajes, en trminos de rendimiento ni idea la verdad :)
Responder #3 por Manu343726
« 12 de Febrero de 2013, 09:49:04 am »
Hace un tiempo le este artculo en el que se hace una comparativa entre diferentes lenguajes de programacin en el campo de la bioinformatica. http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2267699/

Por los resultados que muestra, parece que C# suele consumir menos memoria que JAVA, pero en lneas generales el rendimiento es equivalente.

Pero sinceramente, cuando programas con cosas tipo Java/C# no tienes en mente el rendimiento. Tienes en mente la productividad. Al fin y al cabo, son plataformas que estn diseadas para RAD. Si necesitas estrujar la mquina, usa C o Cpp.

Y es en productividad donde, a da de hoy, todos estamos de acuerdo que .NET framework destaca sobre Java sin lugar a dudas. Sobre el diseo del lenguaje, estoy totalmente de acuerdo con Gorkinovich. Java esta estancado en un modelo de programacin de hace casi veinte aos, que no se ajusta para nada a las necesidades actuales.

C# ha evolucionado poco a poco, asustndose a los cambios, y sinceramente pienso que esta diseado con bastante ms cabeza que JAVA.
Responder #4 por Daemon
« 12 de Febrero de 2013, 10:17:42 am »
Me he encontrado esto:

http://benchmarksgame.alioth.debian.org/u32/csharp.php
http://benchmarksgame.alioth.debian.org/u32q/benchmark.php?test=all&lang=csharp&lang2=java

Es difcil sacar conclusiones. Segn eso, en rendimiento de tiempo de ejecucin quizs las bibliotecas de Java estn algo mejor implementadas que las de C#.

Como curiosidad este artculo de Google (el pdf dentro de la pgina). Me ha sorprendido Scala: http://readwrite.com/2011/06/06/cpp-go-java-scala-performance-benchmark







Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.