Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:
Hola,despues de desarrollar un programa en Javascript me han dicho que el Javascript es mas lento que el C++...es cierto esto o me la quieran colar?
Gracias!
Perdon quería decir Java no Javascript. Es decir la pregunta es Java o C++?
La respuesta rápida es que C++ es más rápido en la mayoría de las situaciones. Pero no siempre la mejora es tan ventajosa ni necesaria.
La respuesta con matices es:
- ¿Qué hace el programa?
¿Algoritmo complejo, Gráficos 3D, cálculos matemáticos complejos, consultas a base de datos?
- ¿Has optimizado el código Java? ¿Has hecho pruebas cronometrando el tiempo después de cada mejora?
- ¿Tienes el mismo conocimiento de ambos lenguajes?
Quizás la ventaja que puedas conseguir con C++ no merece la pena el esfuerzo que has de poner en aprenderlo y/o volver a crear el programa.
Yo te diría que C++ es *siempre* más rápido que Java. De todas formas hay que matizar dos cosas. a) Posiblemente, algo que hagas tu en C++ será más lento que lo mismo hecho en Java si el algoritmo es mejor o si no sabes programar bien. b) Cuando se hacen proyectos grandes no sueles programar tu mismo los algoritmos de bajo nivel (proceso o filtrado de imágenes por ejemplo), sino que usas bibliotecas ya hechas. Es aquí donde se emplea más tiempo, y no dependerá del lenguaje que uses porque probablemente dicha librería esté implementada en C o incluso ensamblador (independientemente de que la uses en C/C++ o Java).
Mi recomendación es que te pases a C++. De todas formas es interesante lo que "aprendiendo" te dijo: "¿Tienes el mismo conocimiento de ambos lenguajes?". Si pretendes hacer algo rápido a corto plazo es mejor que uses el lenguaje que mejor se te de. Si miras a largo plazo mejor C++.
La respuesta corta es "depende del compilador".
La respuesta larga es:
Java en general es un lenguaje que trabaja sobre una máquina virtual por lo que esta máquina tiene que interpretar el código y ejecutarlo, por lo que suele ser más lento que C++. Sin embargo algunas implementaciones de Java "compilan" el código por lo que no corre sobre la máquina virtual y se ejecuta directamente sobre la máquina (al igual que C++), así que depende del compilador y las optimizaciones que le haga al código.
Para un PC actual te da casi igual usar uno u otro, a no ser que hagas cálculos intensivos "a mano" (es decir sin usar librerías de otros que ya estarán hechas y optimizadas), usa el que más sepas utilizar.
S2
Ranganok Schahzaman