Que lenguaje elegir, Java o C++?

Iniciado por laidbackluke, 29 Diciembre 2011, 00:04 AM

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

Littlehorse

Cita de: ShotgunLogic en 21 Enero 2012, 10:31 AM
Lo se lo se, pero si ya de por si es malo, imaginate si el lenguaje empeora las cosas.

Lo que quiero decir es que no me gustan esas caracteristicas que tiene porque las veo para la Ingenieria del Software como abrumadoras, ademas que C# esta cogiendo mucha fuerza, y no es de extrañar porque es un lenguaje potentisimo.

Es que volvemos a lo de antes. Empeorar las cosas es algo muy subjetivo y depende de que tanto estés acostumbrado al lenguaje y de gustos personales.
Obviamente aprender C++ no es fácil, y desarrollar con el tampoco lo es y menos aun si el proyecto es de alta complejidad, pero esto no hace que de por si uno tenga que elegir C#.

A lo que voy con esto es que no hay que elegir un lenguaje en base a su dificultad, si no al alcance que tiene en el mercado global de desarrollo y con esto evaluar que conviene respecto del área a la cual uno se quiere dedicar. Eso es lo que debería predominar para luego no llevarse sorpresas.

Por supuesto que C# tomo y sigue tomando muchísima fuerza, y se lo merece porque es una excelente plataforma, pero no es C++ y hay muchas áreas donde C++ es la mejor alternativa.
Desde complejas suites de seguridad como la de Kaspersky, hasta suites de diseño como las de Adobe, pasando por juegos como Battlefield 3. Todos están hechos en C++, utilizando herramientas, frameworks, motores, y lo que les haga falta, pero en C++ al fin y al cabo.
Lo que quiero decir, es que estamos hablando de proyectos de miles de lineas de código, y sin embargo se sigue usando. Se sigue usando porque es una de las mejores alternativas en esa área y no por capricho de las empresas.

Seria genial que exista un C+++ con la facilidad de Java y la flexibilidad de C++? seguro que si, pero es lo suficientemente difícil de realizar y de hacerse se tardarían bastantes años en lograr compiladores tan optimizados como los de C++ hoy en día.

Por eso digo, C# es genial, Java también, pero en sus áreas. En las áreas de C++ todavía no compiten, así que depende lo que uno quiera es lo que debe elegir.

Cita de: Xandrete en 21 Enero 2012, 18:13 PM
Expresión totalmente correcta  ;). Pero, ¿por qué dices que sacrifica portabilidad? En principio, no. Lo único que tienen estos procesadores es que interpretan directamente el bytecode de Java. Pero este bytecode sigue funcionando perfectamente sobre JVM bajo otras arquitecturas (no es que se le haga ninguna modificación especial para poder ser ejecutado con un procesador Java).

Saludos

Igualmente los procesadores que ejecutan bytecode en la actualidad son meras curiosidades. No tienen aplicaciones en el mundo real mas que para ejemplificar velocidades y/o futuras aplicaciones pero hoy no encontraras una oferta laboral donde usen uno. Al evaluar Java hay que tener en mente que va a ejecutarse sobre una VM (sea cual sea la implementación de esta)

Saludos!

An expert is a man who has made all the mistakes which can be made, in a very narrow field.

armizh

Cita de: Xandrete en 21 Enero 2012, 18:13 PM
Expresión totalmente correcta  ;). Pero, ¿por qué dices que sacrifica portabilidad? En principio, no. Lo único que tienen estos procesadores es que interpretan directamente el bytecode de Java. Pero este bytecode sigue funcionando perfectamente sobre JVM bajo otras arquitecturas (no es que se le haga ninguna modificación especial para poder ser ejecutado con un procesador Java).

Saludos
Pero eso no seria como lo mismo que hace C/C++? en ese caso se sacrifica la ventaja de Java con respecto a C/C++ por lo que se aplica la expresion susodicha xd. Digo, eso es casi como compilar el bytecode de Java! o talvez lo sea  :rolleyes: pero no estoy muy informado sobre esos procesadores.
Concuerdo con Littlehorse en lo de C/C++, y personalmente pienso que estos dos lenguajes siguen siendo la mejor opcion dentro del campo de la programación. Aunque conozco muchos casos de programadores/aficionados de C que no logran acostumbrarse a C++ y viceversa, incluso en este foro tambien hay varios casos
Visita mi blog:
http://armizh.10h.us/
Fnx, fork de FreeNOS:
Código (sh) [Seleccionar]
git clone https://github.com/armizh/Fnx
Hamster, Entorno Integrado de Desarrollo C/C++:
Código (sh) [Seleccionar]
git clone https://github.com/armizh/Hamster

Xandrete

Coincido contigo plenamente, Littlehorse. Sólo quería nombrar los procesadores Java como eso, como curiosidad.

Cita de: armizh en 21 Enero 2012, 20:51 PM
Pero eso no seria como lo mismo que hace C/C++? en ese caso se sacrifica la ventaja de Java con respecto a C/C++ por lo que se aplica la expresion susodicha xd. Digo, eso es casi como compilar el bytecode de Java! o talvez lo sea  :rolleyes: pero no estoy muy informado sobre esos procesadores.
Concuerdo con Littlehorse en lo de C/C++, y personalmente pienso que estos dos lenguajes siguen siendo la mejor opcion dentro del campo de la programación. Aunque conozco muchos casos de programadores/aficionados de C que no logran acostumbrarse a C++ y viceversa, incluso en este foro tambien hay varios casos

Yeeep. Servidor tampoco es experto en procesadores Java >.<

¡Saludos!

ShotgunLogic

Cita de: Littlehorse en 21 Enero 2012, 19:15 PM
Es que volvemos a lo de antes. Empeorar las cosas es algo muy subjetivo y depende de que tanto estés acostumbrado al lenguaje y de gustos personales.
Obviamente aprender C++ no es fácil, y desarrollar con el tampoco lo es y menos aun si el proyecto es de alta complejidad, pero esto no hace que de por si uno tenga que elegir C#.

A lo que voy con esto es que no hay que elegir un lenguaje en base a su dificultad, si no al alcance que tiene en el mercado global de desarrollo y con esto evaluar que conviene respecto del área a la cual uno se quiere dedicar. Eso es lo que debería predominar para luego no llevarse sorpresas.

Por supuesto que C# tomo y sigue tomando muchísima fuerza, y se lo merece porque es una excelente plataforma, pero no es C++ y hay muchas áreas donde C++ es la mejor alternativa.
Desde complejas suites de seguridad como la de Kaspersky, hasta suites de diseño como las de Adobe, pasando por juegos como Battlefield 3. Todos están hechos en C++, utilizando herramientas, frameworks, motores, y lo que les haga falta, pero en C++ al fin y al cabo.
Lo que quiero decir, es que estamos hablando de proyectos de miles de lineas de código, y sin embargo se sigue usando. Se sigue usando porque es una de las mejores alternativas en esa área y no por capricho de las empresas.

Seria genial que exista un C+++ con la facilidad de Java y la flexibilidad de C++? seguro que si, pero es lo suficientemente difícil de realizar y de hacerse se tardarían bastantes años en lograr compiladores tan optimizados como los de C++ hoy en día.

Por eso digo, C# es genial, Java también, pero en sus áreas. En las áreas de C++ todavía no compiten, así que depende lo que uno quiera es lo que debe elegir.


Si yo te doy la razon, pero no me refiero a la dificultad, me refiero a la mantenibilidad. De todas formas tampoco hay que darle muchas vueltas, visto un lenguaje que soporte POO vistos todos, poco mas tienes que aprender, al menos de ese paradigma.

A ver que ocurre con el tiempo y que nuevas cosas van sacando en los lenguajes, y a ver si se ponen a renovar Java que ya va siendo hora XD
The clans are marching against the law, bagpipers play the tunes of war, death or glory I will find, rebellion on my mind.

armizh

Cita de: ShotgunLogic en 22 Enero 2012, 11:43 AM
Si yo te doy la razon, pero no me refiero a la dificultad, me refiero a la mantenibilidad. De todas formas tampoco hay que darle muchas vueltas, visto un lenguaje que soporte POO vistos todos, poco mas tienes que aprender, al menos de ese paradigma.

A ver que ocurre con el tiempo y que nuevas cosas van sacando en los lenguajes, y a ver si se ponen a renovar Java que ya va siendo hora XD
Creo que el problema de Java no es el lenguaje en si, sino que la maquina virtual... Por cierto, para 64 bits Oracle compila la maquina virtual para servidores, y la verdad es que el rendimiento es horrible. Jdownloader que ya de por si tiene mal rendimiento se vuelve praticamente inutilizable. Saludos
Visita mi blog:
http://armizh.10h.us/
Fnx, fork de FreeNOS:
Código (sh) [Seleccionar]
git clone https://github.com/armizh/Fnx
Hamster, Entorno Integrado de Desarrollo C/C++:
Código (sh) [Seleccionar]
git clone https://github.com/armizh/Hamster

ShotgunLogic

Cita de: armizh en 22 Enero 2012, 20:31 PM
Creo que el problema de Java no es el lenguaje en si, sino que la maquina virtual... Por cierto, para 64 bits Oracle compila la maquina virtual para servidores, y la verdad es que el rendimiento es horrible. Jdownloader que ya de por si tiene mal rendimiento se vuelve praticamente inutilizable. Saludos
Si, pero aparte de la maquina virtual deberian de ponerse las pilas con la genericidad, el multihilo y demas cosas como hizo C#
The clans are marching against the law, bagpipers play the tunes of war, death or glory I will find, rebellion on my mind.

Xandrete

Cita de: ShotgunLogic en 23 Enero 2012, 00:36 AM
Si, pero aparte de la maquina virtual deberian de ponerse las pilas con la genericidad, el multihilo y demas cosas como hizo C#

O dedicarse a plantar lechugas.

armizh

Cita de: ShotgunLogic en 23 Enero 2012, 00:36 AM
Si, pero aparte de la maquina virtual deberian de ponerse las pilas con la genericidad, el multihilo y demas cosas como hizo C#
Claro. Ademas algo me dice que C# esta creado para superar a Java  :silbar: La verdad es que desde que oracle compro a sun no he visto ningun avance en ninguno de los softwares, por ejemplo virtualbox, openoffice, java, como que todo se estanco en ese momento... claro, eso es lo que yo percibo.
Saludos
Visita mi blog:
http://armizh.10h.us/
Fnx, fork de FreeNOS:
Código (sh) [Seleccionar]
git clone https://github.com/armizh/Fnx
Hamster, Entorno Integrado de Desarrollo C/C++:
Código (sh) [Seleccionar]
git clone https://github.com/armizh/Hamster

ShotgunLogic

Cita de: armizh en 23 Enero 2012, 04:26 AM
Claro. Ademas algo me dice que C# esta creado para superar a Java  :silbar: La verdad es que desde que oracle compro a sun no he visto ningun avance en ninguno de los softwares, por ejemplo virtualbox, openoffice, java, como que todo se estanco en ese momento... claro, eso es lo que yo percibo.
Saludos
Si, pero precisamente por eso deberian de "contestarle", que Java mueve mucho dinero, ye es que joder, esta presente en cualquier cacharro, es una pena que se que ahi estancado por no renovarlo...
The clans are marching against the law, bagpipers play the tunes of war, death or glory I will find, rebellion on my mind.

Einath

C++ como Java tiene sus cosillas y son buenos para lo que son. Java está muy extendido, lo que es una ventaja, pero C++ se utiliza, por ejemplo, en el ámbito de la programación de videojuegos (no seamos ingenuos pensando en gráficos, obviamente eso va por otro lado. Pensemos en lo subyaciente, lo que no se ve, pero es imprescindible).

Sólo por eso C++ tiene asegurada una larga y próspera existencia.

Java es guay. Java está en todas partes y se puede hacer casi cualquier cosa con él. El tema es que lo difícil lo hace asequible y lo fácil lo complica. Pero no deja de tener éxito y ser un gran lenguaje.

Mi consejo es que cuantos más lenguajes se conozcan mejor, obvio, porque sabrás elegir qué lenguaje es el más indicado para qué aplicación en cada momento. Volviendo a lo de antes; un troyano en Java... bueno sí, se puede hacer, pero sería mejor hacerlo en en Cloquesea.