Autor
|
Tema: Que lenguaje elegir, Java o C++? (Leído 22,773 veces)
|
Xandrete
Desconectado
Mensajes: 210
|
Con todo el ecosistema que está surgiendo alrededor de la máquina de java, como scala y clojure, no veo por qué aprender C++ si no es para hacer cosas a muy bajo nivel: - Por eficiencia. - Por saltarse mecanismos de seguridad.
¿Eco...sistema? ¿Ecosistema? Perdona, me resultó divertida esta palabra para este uso. Es que pienso en ecosistema y me imagino florecillas y pajaritos revoloteando en un pintoresco y rural paisaje sin polución Por cierto, esto de los ecosistemas me recuerda a una pieza de Camile Saint-Säens, llamada Le carnaval des animaux. Éste es uno de los movimientos, llamado Aquarium. ¡Y perdón por el Off-topic! ¡Saludos!
|
|
|
En línea
|
|
|
|
Littlehorse
All the world's a stage
Colaborador
Desconectado
Mensajes: 2.714
Nie Dam Sie
|
¿Eco...sistema? ¿Ecosistema? Perdona, me resultó divertida esta palabra para este uso. Es muy común usar el termino "ecosistema" refiriéndose al conjunto de aplicaciones y tecnologías que se generan alrededor de una plataforma sea esta del tipo que sea. Y si, efectivamente el mundo de tecnologías alrededor de la VM de Java es atractivo y útil en tantos aspectos que no alcanzan los posts para enumerar los alcances que uno puede tener si domina varios frameworks y tecnologías. Pues yo a C++ no le veo futuro. Más que nada porque es un lenguaje que tiene un monton de complicaciones y de cosas que mete patadas al buen diseño y la mantenibilidad(vease el mecanismo de polimorfismo que lleva), además de el creciente uso de C#, que es un lenguaje mucho más completo, potente y que tiende a tener un diseño bastante mejor. Todo lenguaje tiene dos caras y obviamente las ventajas que tiene en rendimiento y flexibilidad se balancean con desventajas en otros aspectos. Igualmente, lo de complicaciones es muy relativo y depende de que tanto domines el lenguaje. Lo mismo aplica para las ventajas/desventajas en el diseño. Lo del poliformismo estoy de acuerdo hasta cierto punto, ya que también tiene sus ventajas respecto de otros lenguajes. Sacando eso, creo que C# es el lenguaje que implementa el polimorfismo de la mejor manera -a mi parecer, obviamente- pero eso es solo una característica mas del lenguaje y al evaluar las ventajas/desventajas a nivel diseño, deben evaluarse todas las características. A C++ por el momento le queda bastante siempre que se necesiten aplicaciones de alto rendimiento y C++ sea uno de los pocos lenguajes en los cuales esto es posible. Ademas, mientras se le diga dando fuerza a C++ desde las corporaciones dominantes en el mundo del software, C++ seguirá tal donde esta. En la actualidad, tanto C# como Java pueden utilizarse para infinitas aplicaciones, pero no para alcanzar el mismo rendimiento que en C++, por razones obvias. Tal vez algún día se pueda, hoy por hoy es imposible.
Yo opino lo mismo que en otros posts recientes. Depende de lo que se quiera hacer y las áreas a las que uno quiera enfocarse. Saludos
|
|
|
En línea
|
An expert is a man who has made all the mistakes which can be made, in a very narrow field.
|
|
|
тαптяα
Desconectado
Mensajes: 1.151
Sic utere tuo ut alienum non laeda
|
JAVA, es más de presente-futuro. Es el lenguaje que te van a pedir en todos lados.
|
|
|
En línea
|
|
|
|
ShotgunLogic
Desconectado
Mensajes: 233
Claws so razor sharp
|
Es muy común usar el termino "ecosistema" refiriéndose al conjunto de aplicaciones y tecnologías que se generan alrededor de una plataforma sea esta del tipo que sea.
Y si, efectivamente el mundo de tecnologías alrededor de la VM de Java es atractivo y útil en tantos aspectos que no alcanzan los posts para enumerar los alcances que uno puede tener si domina varios frameworks y tecnologías.
Todo lenguaje tiene dos caras y obviamente las ventajas que tiene en rendimiento y flexibilidad se balancean con desventajas en otros aspectos. Igualmente, lo de complicaciones es muy relativo y depende de que tanto domines el lenguaje. Lo mismo aplica para las ventajas/desventajas en el diseño. Lo del poliformismo estoy de acuerdo hasta cierto punto, ya que también tiene sus ventajas respecto de otros lenguajes. Sacando eso, creo que C# es el lenguaje que implementa el polimorfismo de la mejor manera -a mi parecer, obviamente- pero eso es solo una característica mas del lenguaje y al evaluar las ventajas/desventajas a nivel diseño, deben evaluarse todas las características.
A C++ por el momento le queda bastante siempre que se necesiten aplicaciones de alto rendimiento y C++ sea uno de los pocos lenguajes en los cuales esto es posible. Ademas, mientras se le diga dando fuerza a C++ desde las corporaciones dominantes en el mundo del software, C++ seguirá tal donde esta.
En la actualidad, tanto C# como Java pueden utilizarse para infinitas aplicaciones, pero no para alcanzar el mismo rendimiento que en C++, por razones obvias. Tal vez algún día se pueda, hoy por hoy es imposible.
Yo opino lo mismo que en otros posts recientes. Depende de lo que se quiera hacer y las áreas a las que uno quiera enfocarse.
Saludos
Pues yo creo que el multihilo de C# pwnea a todos XD Y bueno, lo de C++ no es que alguien que maneje C++ bien no sepa utilizar correctamente todas las complicaciones que tiene, pero el problema es que por ejemplo en proyectos de Ingeniería de Software que siempre estas con codigo de otras personas es realmente una locura.
|
|
|
En línea
|
The clans are marching against the law, bagpipers play the tunes of war, death or glory I will find, rebellion on my mind.
|
|
|
Littlehorse
All the world's a stage
Colaborador
Desconectado
Mensajes: 2.714
Nie Dam Sie
|
Pero eso sucede en todos los proyectos en los que tengas que trabajar con código ajeno. Que el código sea o no una locura depende del nivel de seniority del/los proyectos involucrados.
Yo he visto proyectos en C++ muy bien hechos y documentados como también he visto proyectos en Java con código desastroso y no te hablo de proyectos pequeños si no de proyectos para multinacionales y la verdad es que te asustabas de ver tantas malas practicas. Test unitarios hechos "para que den verde" y módulos enteros con funcionalidades que tenían un nivel de acoplamiento que daba miedo.
Mientras mejor te manejes en un lenguaje, mas sencillo se te va a hacer comprender código ajeno, pero si este no esta ni comentado ni documentado y encima esta mal diseñado, ni siendo el mejor del mundo ni usando el lenguaje mas sencillo te evita los dolores de cabeza.
Saludos!
|
|
|
En línea
|
An expert is a man who has made all the mistakes which can be made, in a very narrow field.
|
|
|
armizh
Desconectado
Mensajes: 187
His brain caught in a hole...
|
Como opinion personal puedo decir que aprender C/C++ es la mejor forma de comenzar la programacion, a pesar de que no son los mas faciles, pero son los lenguajes mas extendidos y la gran mayoria de los lenguajes modernos estan basados en la sintaxis de C/C++. Pues yo creo que la forma mas eficaz de aprender es con un buen manual de C/C++ y codigo en mano de algun programa pero que este lo bastante comentado para poder entender como funciona. Mas personalmente recomiendo C cuando lo que necesitas potencia, practicamente todo se puede hacer con C, y pues la verdad a pesar de que C++ es mas eficaz que C y permite (en gran parte de los compiladores) codigo en C, yo no logro acostumbrarme a el, pero es un detalle mio xD Recuerda: para aprender necesitas un buen manual (que en este foro te pueden recomendar todos los habidos y por haber) y revisar un proyecto o una aplicacion bastante comentada y que sea basica (talvez valgan mas los ejercicios, que en este foro tambien abundan, de hecho hay subforos especificos para eso, pero yo no aprendi con ejercicios xd jeje). Si bien JAVA es bastante potente y eficaz, no es muy rapido debido a que se ejecuta sobre una VM lo cual relentiza el sistema. Es un buen lenguaje y su sintaxis esta basada en C++, por lo que aprendiendo C++ no sera tan dificil aprender JAVA (que de por si es facil). Saludos
|
|
|
En línea
|
Visita mi blog: http://armizh.10h.us/Fnx, fork de FreeNOS: git clone https://github.com/armizh/Fnx
Hamster, Entorno Integrado de Desarrollo C/C++: git clone https://github.com/armizh/Hamster
|
|
|
ShotgunLogic
Desconectado
Mensajes: 233
Claws so razor sharp
|
Pero eso sucede en todos los proyectos en los que tengas que trabajar con código ajeno. Que el código sea o no una locura depende del nivel de seniority del/los proyectos involucrados.
Yo he visto proyectos en C++ muy bien hechos y documentados como también he visto proyectos en Java con código desastroso y no te hablo de proyectos pequeños si no de proyectos para multinacionales y la verdad es que te asustabas de ver tantas malas practicas. Test unitarios hechos "para que den verde" y módulos enteros con funcionalidades que tenían un nivel de acoplamiento que daba miedo.
Mientras mejor te manejes en un lenguaje, mas sencillo se te va a hacer comprender código ajeno, pero si este no esta ni comentado ni documentado y encima esta mal diseñado, ni siendo el mejor del mundo ni usando el lenguaje mas sencillo te evita los dolores de cabeza.
Saludos!
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.
|
|
|
En línea
|
The clans are marching against the law, bagpipers play the tunes of war, death or glory I will find, rebellion on my mind.
|
|
|
Xandrete
Desconectado
Mensajes: 210
|
Si bien JAVA es bastante potente y eficaz, no es muy rapido debido a que se ejecuta sobre una VM lo cual relentiza el sistema.
No necesariamente. Existen procesadores Java que pueden ejecutar directamente bytecode de este lenguaje ^_^
|
|
|
En línea
|
|
|
|
armizh
Desconectado
Mensajes: 187
His brain caught in a hole...
|
No necesariamente. Existen procesadores Java que pueden ejecutar directamente bytecode de este lenguaje ^_^
Pero me da que esos procesadores no son muy estables, ademas de sacrificar la unica gran ventaja de Java sobre C/C++ que es la portabilidad real, comparada con la portabilidad por codigo de C/C++. Sin esa ventaja, como se dice en buen chileno, C/C++ le da mil patas en la r*** a Java, jeje perdon por eso xd Saludos.
|
|
|
En línea
|
Visita mi blog: http://armizh.10h.us/Fnx, fork de FreeNOS: git clone https://github.com/armizh/Fnx
Hamster, Entorno Integrado de Desarrollo C/C++: git clone https://github.com/armizh/Hamster
|
|
|
Xandrete
Desconectado
Mensajes: 210
|
Pero me da que esos procesadores no son muy estables, ademas de sacrificar la unica gran ventaja de Java sobre C/C++ que es la portabilidad real, comparada con la portabilidad por codigo de C/C++. Sin esa ventaja, como se dice en buen chileno, C/C++ le da mil patas en la r*** a Java, jeje perdon por eso xd Saludos.
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
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Ayudenme a elegir un lenguaje de programación!!!
« 1 2 3 4 »
Foro Libre
|
SuperDraco
|
33
|
18,192
|
2 Abril 2011, 08:43 am
por DaasCook
|
|
|
El lenguaje Java sigue siendo el Rey
« 1 2 3 »
Noticias
|
wolfbcn
|
24
|
11,174
|
14 Noviembre 2011, 14:32 pm
por тαптяα
|
|
|
El lenguaje C desbanca a Java del primer puesto
Noticias
|
wolfbcn
|
1
|
1,958
|
9 Abril 2012, 21:40 pm
por Eternal Idol
|
|
|
Elegir un Lenguaje de Programacion
Programación General
|
nicko_2310
|
4
|
2,986
|
15 Junio 2013, 12:58 pm
por antraXactive
|
|
|
¿que lenguaje elegir?
« 1 2 3 »
Programación General
|
kaniho
|
23
|
11,549
|
14 Junio 2015, 23:17 pm
por zonahurbana
|
|