En este grupo En todos

Grupo de Programación e Informática



Java vs C#

Suilen
Ingenieria nformatica umcc
Escrito por Suilen Hdez
el 16/04/2009 | Nivel Avanzado
Hola quisiera abrir un debate sobre estos dos lenguajes, que cren?
Manuel Leyva
Ingenieria informatica instituto super...
Escrito por Manuel Leyva
el 21/04/2009 | Nivel Avanzado

Hacer una comparacion entre lenguajes no es cosa de dos lineas, existen muchos aspectos sobre los cuales establecer comparacion, ambos son excelentes, por mi parte a la hora de enfrentarme a un proyecto dedico tiempo a decidir con cual lenguaje implementar. Soy mas del mundo Linux por lo tanto la balanza esta mas hacia la tecnologia Java en toda la grandeza de la palabra ya que ciertamente es un imperio (en el buen sentido)

Diego Flores
Lic. informatica instituto tecnologico...
Escrito por Diego Flores
el 06/05/2009 | Nivel Avanzado

Sinceramente nunca e programado en c# pero e estado en java y la diferencia esque a java lo puedes traer a cualquier ordenador que quieras solamente necesitas el. Class y lo que escuche si es que no me equivoco esque el c tienes que traer el codigo fuente y estarlo compilando en cada ordenador que lo lleves..

Mariano Lindon
Tecnico en computacion escuela de educ...
Escrito por Mariano Lindon
el 27/05/2009 | Nivel Avanzado

Pues en lo que ami respecta, C# compila para plataformas con "Framework" de Microsoft,lo que esuna gran desventaja a Java, ya que si se utiliza un "framework" desactualizado este codigo nunca se executara hasta actualizar el mismo

Santiago Penilla
Ing. de sistemas universidad del valle...
Escrito por Santiago Penilla
el 27/05/2009 | Nivel Avanzado

La verdad nunca he programado en c#, me case con java desde que estaba en la universidad y me ha parecido un lenguaje muy robusto, y funcional. Lo excelente son las diferentes versiones jee, jme, jdk etc, en las cuales permite hacer las bellesas que uno quiera


Cordialmente


Spd

Jonathan Zepeda
Programador en foxpro imb-pc
Escrito por Jonathan Zepeda
el 28/05/2009 | Nivel Avanzado

A mi criterio java es la evolucion de visual c, con java uno es capas de crear cualquier aplicacion juegos y paginas web, sus applest y servlets son una un gran tesoro en esta aplicacion y es totalmente orientado a objetos, manejo los dos lenguajes y me gusta mas java, ahora en la actualidad todos los sistemas manejaneste ide de programacion.

Beto Pppp Mmmm
Tabasco, México
Escrito por Beto Pppp Mmmm
el 20/07/2009 | Nivel Avanzado

En mi opinion personal, aunque no tengo mucha experiencia con ambos, te puedo decir que C# es mas facil y con el visual studio puedes programar mas rapido que con java. Java tiene la fama de ser multiplataforma, aunque es una verdad a medias, si haces una aplicacion en java para windows y lo quieres migrar a linux quieras o no, en la mayoria de los casos, tendras que modificar algunas lineas de comando. C# tampoco es multiplataforma del todo, aunque existe el proyecto mono, no es 100% compatible. La ventaja de java es la variedad de maquinas virtuales que tiene, para celulares, pda, y para los diferentes sistemas operativos que hay en la actualidad, aunque a mi parecer es un arma de doble filo, el que mucho abarca poco aprieta y es lo que hace java, en aras de abarcar la multitud de plataformas ha hecho un poco mas dificil la programacion en comparacion con C# que por ser para windows hecho por microsoft es mas facil programar funciones avanzadas en windows, aparte de que el visual studio te ahorra mucho tiempo programando. Java me gusta mucho, al igual que C#, pero lo que siempre le he criticado a java y hasta lo he odiado es que, digan lo que digan, las aplicaciones hechas en java son mas lentas y consumen mas recursos que C#, un ejemplo de eso, por mas que he buscado no he podido encontrar algun buen juego de pc que este hecho en java, de hecho, hace unos dias estuve buscando programas de uso comun hechos en java y no encontre, aun me falta buscar hechos en C#. C# tiene caracteristicas interesantes que no posee java, por ejemplo las enumeraciones y los delegados. He visto gente que elevan a java a un status casi de el dios de los lenguajes de programacion, no pienso lo mismo, aunque C# no es lo maximo tampoco, no estoy a favor de uno ni en contra del otro, simplemente doy mi opinion. Te voy a contar una experiencia que vi, en mi escuela tuvimos que entregar un proyecto de una base de datos, podiamos hacerlo en cualquier lenguaje, yo escogi C# para ahorrarme tiempo, unos cuantos escogieron hacerlo en VB, otros en PHP y varios en java, que paso? Pues todos entregamos el proyecto, nadie reprobo pero los que escogieron java pasaron mas tiempo frente a la pc que los demas, aparte de que les costo trabajo hacer las graficas, mientras que a mi no me costo mucho gracias a crystal report, ellos hicieron lo mismo que yo con los mismos resultados y hasta con la misma calificacion con la diferencia que a mi me tomo menos tiempo y quebraderos de cabeza que a ellos. Java parecer ser que fue pensado y hecho para grandes empresas en grandes servidores, tengo entendido que en un ambiente empresarial java lleva mucho la delantera con respecto a los demas lenguajes. Mi opinion personal, si vas a programar para empresas y servidores o para linux u otras plataformas usa java, si solo vas a programar aplicaciones sencillas de escritorio o quedarte solamente con windows o si te interesa mucho el rendimiento y programar mas rapido, usa C#.

Abel Meriño
Zaragoza, España
Escrito por Abel Meriño
el 27/07/2009 | Nivel Avanzado

Bueno mi experiencia en ambos lenguajes desde el punto de vista de desarrollo es poca, pero por dios.... La tecnología. NET es n-veces superior a Java (y fíjense q hablo de tecnología no del lenguaje en partícular), al principio los consideraba equivalentes, pero en la medida q he ido descubriendo me he convencido de ello... Algunos ejemplos:

Acceso a datos (el pan nuestro de cada día de la "mayoría" de los proyectos q desarrollamos) Incomprable ADO. NET en calidad, eficiencia y posibilidades con lo q brinda Java.

Manejo de eventos les recomiendo este artículo y saquen sus propias conclusiones: https://www.marteens.com/trick53. Htm

Las potencialidad de c# para el menejo de listas con las expreciones lambda, lo cual es extensivo para el manejo de datos con LinqTo SQL(pero bueno esto es solo propio para SQLServer)

C# es un lenguaje mucho más abstracto en sentido general lo cual ahorras código y ganas en eficiencia

La posibilidad de crear controles e incorporarlos en la propia interface de desarrollo (Visual Studio) y la posiblidad de extender propiedades a los controles de NET e incorporarlas en tiempo de diseño.

Y para terminar:

La interface de desarrollo VS es superior a NetBeens o cualquier otra de Java (Está claro q esto no es determinante, pero ayuda mucho y ahorra mucho tiempo)

Si buscamos en la historia Java se creo a imagen y semejanza de C++ (Esto porque hay detractores de c# q dicen q es una copia de Java)

Java siempre usa siempre ligaduras dinámicas de modo q lo hace más lento q c#

PD:

Como alguien escribió más arriba, el futuro de Java esta en su nuevo propietario, ORACLE, de lo contrario esta destinado....






Walter Mandarino
Santa Fe, Argentina
Escrito por Walter Mandarino
el 29/07/2009 | Nivel Avanzado

Programe en los 2, me gustaba mas c# pero la portabilidad a Linux con mono era horrible, ahora estoy usando JavaFx y es como el paraiso de los lenguajes, tiene lo mejor de c/u y mas compatibilidad q el propio java, con el mismo codigo se programa Web, Desktop y movil. Recomendadisimo!

Abel Meriño
Zaragoza, España
Escrito por Abel Meriño
el 10/08/2009 | Nivel Avanzado

Hola Walter he estado buscando información sobre Java FX y me ha parecido algo dispersa... Tienes algo q puedas recomendarme...
saludos
Abel

Andrés
Escrito por Andrés
el 29/11/2009 | Nivel Avanzado

Solox preguntar... Para vender un programa desarrollado en c# se tiene que pagar a Microsoft?

Walter Mandarino
Santa Fe, Argentina
Escrito por Walter Mandarino
el 30/11/2009 | Nivel Avanzado

Programo en Linux y siempre usaba Java pero nunca me conformo, comparado con c++ y otros q usaba me parecia horrible, ahora estoy usando c# con "Mono" y el IDE Monodevelop y anda muy bien, es increiblemente rapido, open source y multiplataforma, incluso desde hace muy poco solo se podia bajar el sdk para window pero ahora tambien el Monodevelop. No hay que pagar nada.

Escrito por Deicy Dionicio Albornoz
el 03/12/2009 | Nivel Avanzado

Y que me dices de XML

Wuill Alvarado
Guatemala, Guatemala
Escrito por Wuill Alvarado
el 04/03/2010 | Nivel Avanzado

Pues eso q la tecnoligia de. Net sea mejor q la de java no lo creo, estas comparando solo a. Net con Java compara a. Net con J2EE es como el. Net en java, pueda q sea tedioso q al hacer el codigo odies poner las mayusculas, y demas cosas pero por eso es la joya en los lenguajes, por q todo lo q usas o ves esta hecho en Java, tarjeta de credito, celulares, algunos programas de codigo libre o privado, equipo medico, GPS en fin como dice el anuncio Java everywhere, ademas winmierda el 25% fue escrito en Java el 75 en C#, Linux fue escrito el 40% en C++, el 5% en phyton, 10% en perl, 5% en C y el resto q es 40% en Java, y mi querido Unix q todo fue hecho en C. Pero siguiendo con el tema C# pueda q sea mas facil pero quien carajo va a pagar por una puta licencia o por el jodido IDE para C#, prefiero estar con Java a pagar por un buen IDE o por la licencia, todo lo q bill Gay tienes son copias, compara a una Applet con winbasura, o el Ipod con el zune de micromierda, todo lo copian, otro ejemplo sacando a ese buscardor q saber si es usado bing con GOOGLE bueno en fin si eres un amante de lo q hace Micromierda bien porti,

Luciano Luis Kuhliger Bertoni
Licenciatura en informática ceneval
Escrito por Luciano Luis Kuhliger Bertoni
el 04/05/2010 | Nivel Avanzado

Java es un lenguaje muy, pero muy robusto y poderoso, es multiplataforma y mucho más fácil que lenguaje C o C# para ambientes gráficos. Java salio con una máquina virtual especial para internet y luego se volvió un lenguaje de aplicaciones universales. Cuando Microsoft vio la maquina virtual de Java, sacó su propia versión de máquina virtual, conocida como aplicaciones. NET, que fue un fusile de Sun Microsystem, creador de Java. Durante 2 o 3 años, una revista Argentina llamada. CODE estuvo publicando que ¿Cuál de los dos lenguajes era mejor?, ¿Java o. NET? , pero con el tiempo se demostró que Java es muy superior a. NET. ¿Realmente es muy bueno Java? , los robots que mandaron al planeta Marte fueron programados en Java, la pelicula de Toy History, fue hecha con la primera verisión de Java para la empresa Pyxar, la mayoría de los celulares están programados con Java, y actualmente todo se puede hacer con Java, inteligencia artificial, sistemas operativos, programas de aplicación, juegos muy bien hechos, etc. El unico problema es que cuesta un poco de tiempo aprender Java, pero cuando entiendes la programación orientada a objetos, es cuando ves la verdadera potencialidad de un lenguaje de este tipo.
Hace años, en México, la Secretaría de Hacienda y Crédito Público, desarrollo sus sistemas para pago de impuestos en línea con Visual Basic. NET, y el sistema colapsó, por lo que emigrarón a Java, y así varias empresas que conocí, que desarrollaban sistemas grandes, todos dejaron Visual Basic, emigrarón a Java y una de ellas emigró a Visual C. Es cierto que C# es más fácil, pero es menos robusto que Java. Saludos.

Charles Requena Palomino
Ing. sistemas universidad catolica los...
Escrito por Charles Requena Palomino
el 11/08/2010 | Nivel Avanzado

Creo que cada uno tiene lo suyo al menos yo he nacido con linux y no con microsoft por lo que me resulta mas familiar java o c++ que c# aunque estoy trabajando reciente mente con este bajo monodevelop, me parece regular pero todavía esta en pañales con respecto a la portabilidad para linux y corriendo mmm ademas escuche un comentario sobre bases de datos en java obviamente es complicado por que tienes que instalar mysql o postgresql o cualquier base de datos. Pero la velocidad generada en consultas es mejor que SQL SERVER de microsoft a mi parecer programar un sistema usaria java y es mentira que las ides de java no sean completísimas discúlpenme señores pero se ve que nunca han programado bajo eclipse(con un plugin puedes programar hasta para android) ummm netbeans no es el unico ide ummm y con respecto a que no va seguir siendo libre es una falacia total.

Charles Requena Palomino
Ing. sistemas universidad catolica los...
Escrito por Charles Requena Palomino
el 11/08/2010 | Nivel Avanzado

Creo que cada uno tiene lo suyo al menos yo he nacido con linux y no con microsoft por lo que me resulta mas familiar java o c++ que c# aunque estoy trabajando reciente mente con este bajo monodevelop, me parece regular pero todavía esta en pañales con respecto a la portabilidad para linux y corriendo mmm ademas escuche un comentario sobre bases de datos en java obviamente es complicado por que tienes que instalar mysql o postgresql o cualquier base de datos. Pero la velocidad generada en consultas es mejor que SQL SERVER de microsoft a mi parecer programar un sistema usaria java y es mentira que las ides de java no sean completísimas discúlpenme señores pero se ve que nunca han programado bajo eclipse(con un plugin puedes programar hasta para android) ummm netbeans no es el unico ide ummm y con respecto a que no va seguir siendo libre es una falacia total.

Enrique Velasquez
Ingenieria electrónica universidad may...
Escrito por Enrique Velasquez
el 14/08/2010 | Nivel Avanzado

Este tipo de discusiones muchas veces se vuelve una guerra de fe, donde cada uno defiende el lenguaje de programación de su preferencia, hablando mal del otro u otros.

Para tratar de salir de este esquema, podríamos replantearnos la pregunta a que necesito conocer para desarrollar un buen sistema, y dentro de esto que ventajas me dan los lenguajes Java o C#

1) Sistemas para la Web
Veamos, para sistemas en la web, primero debo conocer bien el HTML y XML

Para programar en el lado del cliente en un sistema web
Es necesario saber Javascript y para aplicaciones mas sofisticadas, ActionScript asi creo objetos Flash

Para programar en el servidor web
Puedo usar PHP,. NET o JEE, si bien no son los unicos, son los que mas se usan. Mas adelante hare una comparacion entre los dos ultimos

Para programar en la BD

En el lado de la base de datos, si uso Oracle, PL/SQL es el lenguaje que debo aprender y si es el Postgresql pl/pgSql es su lenguaje nativo que es muy parecido al de oracle, y si es el sql server Tansact-sql. Estas bases de datos aceptan otros lenguajes de programacion

2) Programas para el Sistema operativo
Para programar aplicaciones que toque el kernel del sistema operativo o trabajen directamente con el hardware tanto en linux como en windows
La eleccion es C/C++. En algunos casos se puede usar el assembler del microprocesador pero ahora los SO actuales restringen mucho el uso directo del assembler

3) Aplicaciones para telefonos
Para programar en celulares con Android
Java o C++ es la eleccion nativa

Para programar en el iPhone
C es la eleccion nativa

Para programar un telefono con Windows Mobile
C o C# es la eleccion nativa

4) Programas para microcontroladores y PICs
El lenguaje que mas se usa es el C. Algunos se puede seguir programando en el assembler del microcontrolador, y algunos como el microcontrolador BasicStamp se programa en un lenguaje derivado del Basic.

5) Aplicaciones para Desktop
Creo que no necesita explicacion, el lenguaje a utilizar solo esta restringido por el SO


Podemos ver que el uso de un lenguaje depende del contexto de nuestra aplicacion, siendo Java y C# dos opciones mas en algunos casos y en otros nisiquiera podemos considerarlos. Por ejemplo, si mi aplicacion es de alto proceso matematico como en el caso de los sistemas manejo grafico es preferible el uso de C o C++ por su perfomance.

Enrique Velasquez
Ingenieria electrónica universidad may...
Escrito por Enrique Velasquez
el 14/08/2010 | Nivel Avanzado

Continuando con el anterior mensaje, y saliendome de la pregunta original Java o C#, realice este analisis comparativo de las ventajas y desventajas de. NET y JEE en la programacion de sistemas para la web, que creo sera de mayor utilidad, esto en base a la experiencia personal, por lo que pueden estar de acuerdo o no.

Separacion en capas
Tanto. NET como JEE soportan la separacion en capas como en el modelo MVC (Modelo Vista Controlador), mejorando la robustez, mantenibilidad y consistencia de la aplicacion.

Mantenibilidad e incorporacion de nuevas funcionalidades
Si se implementa de forma correcta la separacion en capas en el sistema, tanto. NET como JEE son faciles de mantener o de ampliar con otras funcionalidades

Desarrolladores
Debido a la gran cantidad de herramientas, framework y componentes, en JEE es dificil encontrar buenos desarrolladores para un conjunto de herramientas en particular. En un anterior proyecto nos fue dificil encontrar personal con experiencia de desarrollo con JDeveloper y ADF de Oracle, y en otro proyecto, no conseguimos personal que maneje ajax de JSF version 2. En. NET al tener un uso casi generalizado del framework Visual Studio Team, la busqueda de desarrolladores se hace mas facil, claro que ahi el filtro es si sabe C# o VB.

Aprendizaje de la plataforma
Al igual que el enterior punto, la proliferacion de herramientas... Etc, hace que la formacion en JEE sea mas dificil. Por ejemplo puedo desarrollar un sistema sabiendo solo Servlet y JSP, pero si quiero usar componentes en mi sistema debo aprender JSF y facelets, y si quiero mejorar la presentacion tengo para aprender ICEfaces, Primefaces o RichFaces. En. NET al tener un solo dueño, la formacion es mas unificada, salvo cuando se compra componentes de terceros.

Colaboracion en la nube
Java al tener mas años en el mercado y al ser free, tiene ventaja en este aspecto, hay mas librerias, modulos desarrollados en internet y que pueden ser usados en nuestros sistemas, que los que tiene. NET

Rendimiento
Esto depende de la forma de codificacion y la arquitectura que se emplee al desarrollar un sistema, vi sistemas hechos en JEE pesadisimos al igual que en. NET. Por ejemplo si en una aplicacion de uso masivo desarrollado en. NET se usa los dataset que se configuran en el tiempo de ejecucion, tendremos problemas.

Costo
Si nos restringieramos a la pregunta si java o C#, los dos son free, por eso puedo tener en linux aplicaciones programadas en java o c# con cero costo.
Pero si vamos a programar sistemas mas complejos donde se necesite usar las ventajas de la infraestructura de. NET o JEE la balanza se inclina para el lado de JEE.
Puedo usar el IDE gratuito de Microsoft para programar una aplicacion web en. NET y el codigo generado no tendra costo y puedo usar Posgresql como base de datos El costo esta en la compra del Sistema Operativo que soportara el IIS donde estara mi sistema web.

Claudia Carlotti
Barcelona, España
Escrito por Claudia Carlotti
el 15/02/2016 | Nivel Avanzado

¡Entro a este debate!

Hola a tod@s, tengo interés en esta materia y ¿Por qué no? Me gustaría profundizar más... Pero tengo algunas preguntas sobre que camino cursar para recibir formación profesional

Para los que tengáis experiencia ¿Me podrían asesorar sobre masters, oposiciones, postgrados, carreras universitarias u otras formaciones oficiales, cursos superiores o subvencionados?

¿Cuál es la mejor que puedo optar? ¿Alguna escuela en partícular?

Sobre todo que me podéis decir de Cursos gratis subvencionados de Java ¿Son útiles?

PD: España o formaciones a distancia u online