C sharp - C# vs Java

 
Vista:

C# vs Java

Publicado por skull leader (2 intervenciones) el 27/08/2003 19:18:25
que es mejor? C# o Java? y lo mas importante... porque?
si alguien me puede decir se lo agradeceria

saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:C# vs Java

Publicado por Edgar (278 intervenciones) el 27/08/2003 20:52:36
Hola

Una de las ventajas que tiene java es que un programa hecho con este lenguaje puede correr en multiples sistemas operativos ya que se estos programas se basan en la maquina virtual. C# sigue la misma idea de java, pero aún no ha salido (o eso creo yo) una versión del framework que sea lo suficientemente buena para otros sistemas operativos.

Eso es lo único que te puedo decir... creo que todo es cuestión de gustos.. yo prefiero c# porque me siento muy comodo trabajando con el, y asi como yo prefiero c#, hay mucha gente que apoya java.

De todas maneras, la escogencia de un lenguaje depende de las características del mismo y no de los gustos, ya que si tu sistema necesita eficiencia en su ejecución (por ejemplo un sistema en tiempo real) no sería recomendable desarrollarlo ni en java ni en c#.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 158
Bronce
Ha disminuido 1 puesto en C sharp (en relación al último mes)
Gráfica de C sharp

RE:C# vs Java

Publicado por Yamil Bracho (1164 intervenciones) el 27/08/2003 21:46:36
Complementando lo que dice Edgard, las ventajas d eun lenguaje de programacion sobre otros es que tanto lo domines, tambien hay casos donde hay ciertos lenguajes que te facilitan ciertas tareas.

Hay un proyecto llamado Mono el cual consiste en portar todo el .NET Framework a Linux y otras plataformas. Pueden conseguie mas informacion en http://www.go-mono.com/

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:C# vs Java

Publicado por skull leader (2 intervenciones) el 27/08/2003 22:35:16
gracias por sus respuestas, queria saber que seria bueno, yo manejo delphi, y me da lo que necesito, pero frecuentemente escucho comentarios de comparaciones de C# y Java, y me comenzo a interesar, con un poco de tiempo pense en probar alguno de estos 2 lenguajes, pero creo que lo ideal seriá probar ambos para ver sus verdaderas diferencias, pero lo que me dicen me sirvio mucha para darme una idea inicial

gracias y saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:C# vs Java

Publicado por Orlando (1 intervención) el 20/08/2007 00:58:07
Dale con C#, ahi esta el futuro es much mejor que java porque es nuevo y biene hecho sacando todos lo errores de anteriores lenguajes, ademas cuando microsoft pierde en algo ????.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar

RE:C# vs Java

Publicado por ShyDow (1 intervención) el 12/06/2008 15:26:02
Citar:
------------
¿cuando pierde m$ algo?
-----------

perdio mas de 100 millones de $ gracias
a su VJ# y VJ++
contra Sun
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:C# vs Java

Publicado por Claudio (1 intervención) el 08/05/2014 02:09:05
" además cuando microsoft pierde en algo " por ser una empresa grande no tiene porque no equivocarse, igualmente apoyo c ya que java proviene de c. En mi opinión cada lenguaje tiene sus facilidades según para que lo vayas a utilizar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:C# vs Java

Publicado por German Basisty (1 intervención) el 14/11/2017 15:55:00
Por Dios que ignorante. Algo es mejor porque es nuevo? HAHA. Cuando Microsoft pierde en algo? Preguntale por los windows phone y despues hablamos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:C# vs Java

Publicado por Ion (1 intervención) el 01/02/2018 11:43:21
O bien preguntales por la XBOX frente a PS4, no ha perdido no...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:C# vs Java

Publicado por Abelardo (1 intervención) el 25/11/2007 21:34:25
Java y .NET tienen aspectos similares y cosas diferentes. Java es un lenguaje que se compila para correr en una maquina virtual JVM. Esta maquina virtual corre en casi cualquier sistema operativo: Windows, Linux, UNIX, Solaris, hasta en dispositivos mobiles. Es realmente fantastico ya que el mismo proyecto ya compilado como archivo .class o mejor .jar correra en cualquier otro sistema operativo sin ningun tipo de recompilacion. Basta con que des el archivo .jar y ya tienes una aplicacion completamente distribuitble. Incluso ademas si la combinas con las librerias SQLite puedes tienes en un tiro una aplicacion con base de datos totalmente portable y que se ejecutara en cualquier sistema operativo.

.NET no es multiplataforma y eso es algo que es importante resaltar. Hay un proyecto llamado Mono que hace los programas compilados con .NET corran sobre Linux y UNIX pero te sere sincero, todavia hay muchos cuelgues (te lo digo por experiencia propia). Este proyecto Mono incluye un compilador (2 versiones: mcs para net 1.1 y gmcs para net 2.0) y una maquina virtual (llamada mono) y es organizado por Miguel de Icaza. Mono es una maquina virtual que emula al .NET y trata de emular a Java en ser multiplataforma. Pero el estado de Mono es a verdad incompleto sobre todo en el paquete Windows Forms que no esta completamente portado y es inestable. Recuerda que aqui hay mucho trabajo de ingenieria inversa y eso siempre sera muy lento.

.NET aporta funcionalidad en que es posible ejecutar e interoperar diversos fragmentos de código escritos en distintos lenguajes, esto es, si codigas en C# o VisualBasic o J# todos estos lenguajes serán convertidos al lenguaje intermediario MSIL(”Microsoft Intermediate Language”) a través de un compilador determinado, este lenguaje intermediario es el que ejecuta el .Net Framework, de esta manera su código escrito en más de 20 lenguajes podrá interoperar. El codigo compilado desde cualquier lenguaje es compilado para correr sobre una maquina virtual que es el .NET Framework.
Mono trata de implementar este .NET framework.

Entonces aunque ambas son maquinas virtuales, la JVM y la .NET Framework son diferentes tambien, una es multiplataforma y la otra es solo para Windows. Una diferencia mas es que JVM es desde hace poco open-source desde que Sun la libero, asi que ahora es controlada ahora en su desarrollo por la comunidad y .NET si es controlada completamente por Microsoft.

Personalmente te aconsejaria ir por Java, dado que .NET es una plataforma privativa y siempre en el fondo estaras amarrado a Microsoft. Para Java tienes entornos de desarrollo muy bueno como Netbeans y Eclipse (ambos corren en Windows, Linux, etc). Ademas paquetes con clases en Java hay a montones, que te permiten hacer casi cualquier cosa, incluso un compilador para tu propio lenguaje (clases JLex y Java CUP). Conexion para base de datos las tienes con JDBC que te permite conectarte a casi cualquier gestor de base de datos: Postgres (la mejor base de datos libre), MySQL (tiene defectos en respecto a relaciones por sus tablas de tipo ISAM), SQLite (la mejor opcion si quieres hacer una base de datos de un solo usuario igualito que Microsoft Access y gratis), Oracle (que tiene una edicion libre personal para Linux y Windows)

Yo he comparado la performance actual en Linux Ubuntu de una aplicacion de ordenamiento de burbuja midiendo tiempo promedio y usando en cada medida un vector de 100 elementos con datos al azar, usando para compilarla el compilador C++ libre GNU, el compilador Intel C++ para Linux (libre tambien y se puede descargar de Internet), el compilador Java 1.6 y finalmente el compilador de Mono gmcs (para .NET 2.0) y los resultados son con respecto a performance:
de mejor a mas lento
1. Intel C++ Compiler y GNU g++ (empate, promedio de 0.24s para el algoritmo, ambos compilan a codigo maquina, puse nivel de optimizacion -O2)
2. Java 1.6 (promedio 0.34s)
3. Mono (usando gmcs para compilar y mono para correr: promedio 0.43s)

Algo interesante, he probado los tiempos tambien en Windows y los tiempos en Linux y son practicamente iguales, lo que indica que la JVM es superior a Mono en ambos sistemas. No he podido probar con Visual C++ 2005 asi que no podria decir si en codigo nativo en Windows es superior o igual o inferior a Linux.

Si quieres aplicaciones que compilen a codigo nativo tanto en windows como en Linux hay ademas un framework para C++ que se llama wxWidgets. Se programan con un IDE para C++ que trabaja tanto en Windows como Linux que se llama Code::Blocks. Es muy bueno y puedes construir aplicaciones graficas en minutos. Personalmente lo uso cuando quiero que mis aplicaciones sean muy rapidas ya que no compila a ninguna maquina virtual. Las clases provistas por la wxWidgets se parecen muchisimo a las MFC (Microsoft Foundation Classes) del Visual C++ asi que aprenderlas es muy directo. Las librerias wxWidgets tambien son libres y el Code::Blocks tambien. Para aplicaciones multiplataforma que quieres que sean de alta velocidad te las recomendaria sobre las librerias GTK y sobre las Qt (Qt no son gratuitas en Windows)

Finalmente mi recomendacion para aplicaciones con rapido tiempo de desarrollo, multiplataforma pero de verdad (no como con Mono), y que no estaras dominado a la larga por las decisiones de Microsoft, entonces usa Java + Netbeans + Swing + (Postgres o SQLite). No tendras que pagar a nadie por las herramientas de desarrollo y correra en cualquier plataforma: Windows, Linux (Ubuntu) o UNIX (PC-BSD). No aconsejo MySQL al menos por ahora (ya que la tabla por defecto ISAM no hacepta llaves foraneas e integridad referencial, el nuevo tipo de tabla InnoDB si).

Ahora si quieren hacer una aplicacion con alta performance compilado a codigo nativo, recomendaria usar Code::Blocks Nightly Build + GNU Compiler + WxWidgets 2.8

Visiten mi blog www.pintucoperu.wordpress.com
Muchos saludos,
Abelardo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

C# vs Java

Publicado por Santiago (1 intervención) el 11/03/2008 20:47:20
Bueno al parecer estas un poquito avanzado en cuanto a lo que se refiere a aplicaciones multiplataformas, ahora te quiero pedir un favor existen clases de java que contienen basicamente codigo de enciptacion de password (por ejemplo), ahora yo quiero utilizar el codigo de esas clases que son de extensión .jar, .Net permite una adesion de estas clases para su utilización tienes alguna información de como puede hacer esto si estoy utlizando clases estaticas en .Net???
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:C# vs Java

Publicado por 4gl (5 intervenciones) el 23/04/2008 17:10:00
Solo me gustaria hacer unos apuntes, no pretendo ponerte en evidencia, pero das haces algunas afirmaciones que alguna gente podría tomar como verdades y lo cierto es que hay algunas cosas que son, como minimo, discutibles:

Me parece un pelin desacertado desaconsejar Mysql por una razon como que el tipo de motor de almacenamiento es ISAM por dos razones:

1. No es cierto, este motor no esta ni siquiera disponible en Mysql 5.0. http://dev.mysql.com/doc/refman/4.1/en/isam-storage-engine.html. Supongo que te refieres a MyISAM...

2. Si necesitas claves foráneas usa InnoDB.

Quizas haya otras para desanconsejarla, pero esta no me parece una. Menos aun cuando recomiendas sqlite como base de datos monousuario cuando no soporta claves foráneas de ninguna manera.

Qt si esta disponible en GPL para Windows (hace mucho tiempo). http://trolltech.com/developer/downloads/qt/windows

PC-BSD no es Unix, vaya problema tendrian si lo fuera...

Para aplicaciones con rapido tiempo de desarrollo, multiplataforma, pues depende del tipo de aplicacion. Si tengo que limitarme a Java o C#, desde luego tiene que ser Java, C# no es una opcion en linux actualmente. Pero si puedo escoger otros lenguajes y lo importante es el tiempo de desarrollo, lenguajes como Ruby, Lisp o Erlang baten en tiempo de desarrollo a C# y Java por muchisimo y segun el dominio de la aplicacion, C# o Java no son ni siquiera opciones a considerar.

Esto ya es un poco mas subjetivo:

No me parece justo comparar el rendimiento de C# en Windows con la maquina virtual de Mono, no todo el mundo esta interesado en hacer aplicaciones multiplataforma y el rendimiento con la ultima maquina virtual de .NET sin duda seria muchisimo mejor. Usas Java 1.6, sin embargo la ultima version de .NET es 3.5, no 2.0.

Por otro lado, esto de que a traves de JDBC puedes acceder a cualquier base de datos es mas o menos cierto, pero el coste de rendimiento es muchisimo mayor que acceder a traves de ODBC en .NET. Ni digamos ya frente a usar drivers nativos .NET.

Cierto que CodeBlocks es un buen IDE para wxWidgets pero no el unico, como alternativas tambien tenemos wxDev-C++ ( http://wxdsgn.sourceforge.net/ ), y desde luego el todoterreno Eclipse.

De todas maneras, si alguien me preguntar por un entorno de programacion multiplataforma de alto rendimiento yo recomendaria Ultimate++, sus librerias me parecen mucho mas manejables (no inspiradas en las pesimas MFC, con una media de lineas por programa muchismo mas bajo que con wxWidgets) y el entorno esta mucho mas integrado que con wxDev-C++.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:C# vs Java

Publicado por skan (1 intervención) el 25/08/2008 22:00:47
habéis comentado que Mono es más lento que Java. Y a veces es cierto
Pero es que resulta que mono es la más lenta de las implementaciones de C#. Siendo .NET 3.5 hasta 4 veces más rápido, y por supuesto más rápido que Java.
De todos modos C++ siegue siendo el campeón.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:C# vs Java

Publicado por Hectox (1 intervención) el 11/09/2008 21:35:13
He leido un buen post sobre el tema. Quizá pueda orientar a alguien...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar