¿que lenguaje elegir?

Iniciado por kaniho, 8 Junio 2015, 09:30 AM

0 Miembros y 1 Visitante están viendo este tema.

ivancea96

Cita de: Stakewinner00 en 10 Junio 2015, 17:59 PM
Con cosas serias me refiero los núcleos, ya sea de juegos, de navegadores, de sistemas operativos. Aunque hayan podido mejorar un poco la máquina virtual de java, sigue consumiendo demasiado y no resulta útil para cosas críticas como esas

Es indiscutible que un programa bien hecho en C/C++ será, al menos en la gran mayoría de los casos, más veloz que Java. En peso, contando el peso de la amquina virtual de Java, obviamente también será inferior (salvo quizás en proyectos grandes)

Java es "sencillo" por al razón de que te lo da todo hecho. Tienes montones y montones de librerías a tu alcance, que harán todo lo que te puedas imaginar. A su vez, puede ser complicado para novatos por su sistema de paquetes, archivos, y muchos etc.

Si bien es portable a todo entorno donde se puede instalar la máquina virtual, C++ suele ser portable, usando librerías (y obviamente recompilando), a sistemas con Linux y con Windows.

Desde luego, C++ 5 - Java 1. No le veo más.

Usuario Invitado

CitarCon cosas serias me refiero los núcleos, ya sea de juegos, de navegadores, de sistemas operativos. Aunque hayan podido mejorar un poco la máquina virtual de java, sigue consumiendo demasiado y no resulta útil para cosas críticas como esas

Agree. Utilizar Java para un núcleo no es buena idea. Lo mejor es utilizar C/C++ allí por cuestión de rendimiento.

Citarpero lo que vi comparándolo con C++ me pareció que aunque java tiene una librería estándar para cosas de sockets y demás (creo recordar), java se complicaba las cosas innecesariamente, supongo que para facilitar la vida a la máquina virtual?

Java en mi opinión es muy verboso, es por eso que da la idea de "complicarse". Algunas cosas, generalmente antes, se complicaban. Particularmente en Java EE < 6, donde recién empezaban las anotaciones a tomar lugar y las configs se hacían con puro XML.

CitarEn java también hay mucha oferta pero sobretodo a nivel de escritorio, y entonces comparándolo con otros lenguajes te limitas bastante.

Eso es el su mayoría de casos falso. Java se usa más para desarrollo web. Java EE incluye todo un set de tecnologías de alto nivel que facilita el desarrollo de aplicaciones web altamente eficientes y seguras.

Por experiencia, una aplicación bien programada como un sistema académico para escritorio escrita en JavaFX, no consumía más de 80MB. Claro, una en C++ te consume la mitad, pero prefiero no estar preocupándome por liberar memoria, punteros y todo eso que en producción es un dolor de cabeza terrible.

En web, tiene actualmente un muy buen rendimiento. La JVM ha sido bastante bien optimizada y en las últimas webapps Java que he podido manejar y observar, se comportan muy bien, sean con Spring MVC, o JSF.

CitarLa diferencia de Go con Ruby,Python, PHP etc es que es sencillo pero mucho más eficiente que PHP o python y demás. También es sencillo de aprender pero al ser nuevo no hay tanta documentación.

Agree. GO es un muy buen lenguaje. Es una lástima que aún no sea tan adoptado por la comunidad, pero le veo un muy buen futuro. También, NodeJS es una excelente opción que seguirá creciendo con el tiempo porque la comunidad detrás es gigante y muy activa, sin dejar de lado que JS es el lenguaje del futuro (según lo que dicen por allí...).

Creo que es conveniente aprender la mayor cantidad de tecnologías y/o lenguajes que podamos. No es bueno casarse con una sola tecnología, un programador completo tiene más oportunidad laboral.


Saludos.
"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein

kaniho

buah me lo poneis dificil ehh ,es que defendéis muy bien los lenguajes, sacais todas sus virtudes de una forma que es imposible decicirse xDDD,  aunque descarto c++,ensablador  aun sabiendo que pueden ser mas potente , ya que como dicen otros , me gusta que muchas cosas estén hechas, aunque tampoco quiero un scracth que te lo da todo hecho...
pero si que pueda trabajar con cosillas hechas , asi que tendre que probar java y C# y con el tiempo decidirme , ya que los dos cumplen lo que quiero, incluida mucha documentacion para aprender, y soporte android nativo en ambosSaludos

zonahurbana

Yo te sugeriría empezar por C++, y que en orden vayas revisando tema tras tema, hasta llegar a lo relativo a punteros.
Usa C++ a nivel de consola para formarte una buena "lógica de programación" resolviendo algoritmos de diversos tipos.
Creo que empezar por C++ te ayudaría a comprender mejor cómo es que funcionan las cosas por dentro (no a detalle, pero sí un poco a más bajo nivel que Java).

Luego, cuando quieras hacer aplicaciones de escritorio deberías ir por Java y verás que todo es mucho más sencillo de lo que habías imaginado.
Al menos yo recuerdo que en C++ obtenía muchos errores, por todo, y al momento de compilar luego de escribir mucho código siempre tenía el presentimiento de que obtendría errores.
La idea es que aprendas a lidiar con cada uno de ellos por tu cuenta, buscando información.

Así, una vez que pases a Java, los errores se reducirán drásticamente y verás todo relativamente sencillo.

Luego, si deseas conocer con mayor profundidad lo que ocurre internamente en el ordenador al manipular variables deberías aprender Assembler. Si consigues aprender medianamente Assembler luego creerás que no hay imposibles en la programación, le perderás temor a todo y no tendrás límites :silbar:

Siendo realistas, no creo que llegues a usar C++ en tus primeros proyectos, pero sí te recomendaría empezar por allí. Ya que como comentaron anteriormente, es mucho más eficaz que Java, C# y la gran mayoría de lenguajes, pero no es muy práctico para resolver problemas cotidianos.
Se usaría C++ para crear la base de programas importantes como navegadores, sistemas operativos, etcétera.
Nunca dejar de aprender es importante, más allá del ritmo que se siga ...