Rust es el sucesor de C/C++ sin mas, o eso pretende ser.
Te deja hacer todo lo que hace C y C++ con el mismo o mejor performance y mejor api ya que ha sido creado para usarse con las tecnologías de hoy.
opinion sobre lenguajes de programacion nuevos
- erkosone
- Posts: 10656
- Joined: Tue Feb 24, 2009 2:13 pm
- Location: Barcelona.
- Contact:
- CicTec
- Posts: 16590
- Joined: Thu Jul 31, 2008 10:18 pm
Re: opinion sobre lenguajes de programacion nuevos
Lo he mirado por encima, me parece bastante diferente de C/C++ como lenguaje y de primeras no me gusta mucho, habra que ver su difusion y como evoluciona.
- Hokuto7
- Posts: 1408
- Joined: Mon Aug 28, 2017 10:14 am
Re: opinion sobre lenguajes de programacion nuevos
Parece interesante el lenguaje Rust.¿Que os parece el lenguaje Go?
Lo que no entiendo de c++ es que se sigue actualizando y añadiendo nuevas funcionalidades pero no modernizan la sintaxis,¿acaso no pueden hacerlo?
¿No se podria crear un lenguaje moderno,compatible con c++?
Lo que no entiendo de c++ es que se sigue actualizando y añadiendo nuevas funcionalidades pero no modernizan la sintaxis,¿acaso no pueden hacerlo?
¿No se podria crear un lenguaje moderno,compatible con c++?
- CicTec
- Posts: 16590
- Joined: Thu Jul 31, 2008 10:18 pm
Re: opinion sobre lenguajes de programacion nuevos
Hola Hokuto7,Hokuto7 wrote:Parece interesante el lenguaje Rust.¿Que os parece el lenguaje Go?
He mirado un poco mas el manual de Rust, es un lenguaje moderno y compilado, lo que implica que la velocidad de ejecucion de los programas es muy alta (como en C/C++), todavia en mi opinion no se puede considerar Rust el sucesor de C++, por varias razones:
- Por empezar no es un lenguaje adapto para quien quiere aprender a programar o quien tiene poca experiencia de programacion.
- Su sintaxis es bastante distinta da C++, con lo cual lo pone como lenguaje diferente y no sucesor.
- Tiene un control mas restricto en la sintaxis, eso permite evitar algunos errores (especialmente de memory management) respecto a C++, pero su gramatica es mas compleja, de hecho tiene bastantes palabras claves y operadores que se pueden combinar entre ellos, un ejemplo de un simple programa en C++ (sin OOP):
[Codebox=cpp file=Untitled.cpp]
void main(int argc, char *argv) {
int32_t value;
value = find_max(10, 20);
printf("max value is: %d\n", value);
return 0;
}
int32_t find_max(int32_t x, int32_t y) {
int32_t max = x;
if(max < y) {
max = y;
}
return max;
}
[/Codebox]
eso es el mismo programa en Rust:
[Codebox=cpp file=Untitled.cpp]
fn main() {
let mut value: i32 = find_max(10, 20);
println!("max value is: {value}", value);
}
fn find_max(x: i32, y: i32) -> i32 {
let mut max: i32 = x;
if max < y {
max = y;
}
max;
}
[/Codebox]
Como puedes ver, la sintaxis gramatical de Rust es muy distinta a C/C++ y en varias cosas mas complejas, por ejemplo Rust obliga a inicializar siempre todas las variables (que se declaran con let), que de un lado es bueno porque evita errores de "undefined value" de variables no inicializadas correctamente cuando usadas, pero de otro obliga a escribir cierto tipo de sintaxis mas compleja, otro ejemplo es que las variables son immutables por default, esto significa que no se puede asignar otro valor fuera de la inicializacion, para hacerlo se debe declarar la variable como "mutable" con la palabra clave mut.
Luego en la definicion de la funcion, indicar el tipo de retorno es menos intuitivo que en C/C++ (se debe indicar la flecha "->" y el tipo), ademas el tipo de retorno puede ser implicito indicando como ultima istruccion el valor da devolver, si este valor es una struct la sintaxis es mas compleja aun.
En definitiva es un lenguaje moderno y interesante, aunque personalmente me gusta mas la sintaxis de C/C++ y su capacidad de poder gestionar cosas mas libremente.
Si el lenguaje lo quieres usar para programar juegos, puede ir bien para hacer juegos pequenos y prototipos, todavia el ecosistema de C++ (especialmente para librerias, frameworks etc.. para juegos) es huge respecto a Rust, asi que de momento almenos, si quieres seguir con la programacion de juegos con otros lenguajes, te recomiendo seguir con C++.
Lo standard va implementando nuevas features al lenguaje, en los aspecto que consideran oportunos, esto ya es modernizar, por ejemplo basta comparar las features del C++98 (1998) con el C++17 (2017).Hokuto7 wrote: Lo que no entiendo de c++ es que se sigue actualizando y añadiendo nuevas funcionalidades pero no modernizan la sintaxis,¿acaso no pueden hacerlo?
Crear un lenguaje moderno compatible no tiene sentido, la compatibilidad se hace actualizando/modernizando lo que ya hay, crear un nuevo lenguaje, significa hacerlo incompatible y de hecho seria un nuevo lenguaje, un poco como Rust no puede ser el sucesor de C++ (almenos en mi opnion) porque los lenguajes no son compatibles, la sintaxis es muy distinta.Hokuto7 wrote: ¿No se podria crear un lenguaje moderno,compatible con c++?
- Hokuto7
- Posts: 1408
- Joined: Mon Aug 28, 2017 10:14 am
Re: opinion sobre lenguajes de programacion nuevos
Cuando pregunto sobre algun lenguaje nuevo no es para aprender a utilizarlo,es solo para saber la opinion de los demas.
Sobre rust tienes razon,tiene una sintaxis mas liosa que la de c++ y no me gusta mucho.Para crear juegos este lenguaje no tiene nada y no merece la pena usarlo en este aspecto,si alguien lo quiere utilizar para tener un buen rendimiento yo prefiero c++ que tiene una sintaxis mas clara y hay mas documentacion.
Pero si se quiere utilizar algun lenguaje nuevo con buen rendimiento se puede mirar Go y Crystal,sobre todo Crystal que parece tener una sintaxis parecida a ruby.
Y bueno...el que quiera usar algun lenguaje para hacer juegos solo tiene que mirar los lenguajes que utilizan,(unity,unreal y godot) y ya sabra los lenguajes que tiene que aprender.
Saludos.
Sobre rust tienes razon,tiene una sintaxis mas liosa que la de c++ y no me gusta mucho.Para crear juegos este lenguaje no tiene nada y no merece la pena usarlo en este aspecto,si alguien lo quiere utilizar para tener un buen rendimiento yo prefiero c++ que tiene una sintaxis mas clara y hay mas documentacion.
Pero si se quiere utilizar algun lenguaje nuevo con buen rendimiento se puede mirar Go y Crystal,sobre todo Crystal que parece tener una sintaxis parecida a ruby.
Y bueno...el que quiera usar algun lenguaje para hacer juegos solo tiene que mirar los lenguajes que utilizan,(unity,unreal y godot) y ya sabra los lenguajes que tiene que aprender.
Saludos.
- CicTec
- Posts: 16590
- Joined: Thu Jul 31, 2008 10:18 pm
Re: opinion sobre lenguajes de programacion nuevos
De hecho te de dado mi opnion, tanto en el lenguaje, su aprendizaje, dificultad, como en el utilizo para los juegos, tratando este sitio de un game engine con lenguaje de programacion para juegos, tambien porque creo que actualmente a nivel de programacion no estas usando lenguajes de programacion para el desarrollo de algo que no sea un juego.Hokuto7 wrote:Cuando pregunto sobre algun lenguaje nuevo no es para aprender a utilizarlo,es solo para saber la opinion de los demas.
- kozka
- Posts: 2111
- Joined: Sun Feb 01, 2009 9:36 pm
Re: opinion sobre lenguajes de programacion nuevos
me gusta supongo que por lo bien que te lo vende el de the code train
https://p5js.org/
y he hecho algun programa con https://threejs.org/
https://p5js.org/
y he hecho algun programa con https://threejs.org/
- Hokuto7
- Posts: 1408
- Joined: Mon Aug 28, 2017 10:14 am
Re: opinion sobre lenguajes de programacion nuevos
Conozco p5js pero como no se puede descargar la referencia en español pues lo tengo aparcado,pero personalmente prefiero processing java.kozka wrote:me gusta supongo que por lo bien que te lo vende el de the code train
https://p5js.org/
y he hecho algun programa con https://threejs.org/