opinion sobre lenguajes de programacion nuevos

Todo aquello que no está relacionado con Gemix Studio ni con la programación DIV en general.

Re: opinion sobre lenguajes de programacion nuevos

Postby erkosone » Sun Feb 23, 2020 7:05 pm

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.
User avatar
erkosone
 
Posts: 10654
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.

Re: opinion sobre lenguajes de programacion nuevos

Postby CicTec » Sun Feb 23, 2020 7:56 pm

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.
User avatar
CicTec
 
Posts: 16553
Joined: Thu Jul 31, 2008 10:18 pm

Re: opinion sobre lenguajes de programacion nuevos

Postby Hokuto7 » Sun Feb 23, 2020 10:02 pm

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++?
User avatar
Hokuto7
 
Posts: 1396
Joined: Mon Aug 28, 2017 10:14 am

Re: opinion sobre lenguajes de programacion nuevos

Postby CicTec » Sun Mar 01, 2020 11:30 am

Hokuto7 wrote:Parece interesante el lenguaje Rust.¿Que os parece el lenguaje Go?

Hola Hokuto7,

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):
Source Code (C++) [ Download ] [ Hide ]
  • 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;
  • }
  •  


eso es el mismo programa en Rust:
Source Code (C++) [ Download ] [ Hide ]
  • 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;
  • }
  •  


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++.

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?

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:¿No se podria crear un lenguaje moderno,compatible con c++?

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.
User avatar
CicTec
 
Posts: 16553
Joined: Thu Jul 31, 2008 10:18 pm

Re: opinion sobre lenguajes de programacion nuevos

Postby Hokuto7 » Sun Mar 01, 2020 5:12 pm

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.
User avatar
Hokuto7
 
Posts: 1396
Joined: Mon Aug 28, 2017 10:14 am

Re: opinion sobre lenguajes de programacion nuevos

Postby CicTec » Sun Mar 01, 2020 8:52 pm

Hokuto7 wrote:Cuando pregunto sobre algun lenguaje nuevo no es para aprender a utilizarlo,es solo para saber la opinion de los demas.

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.
User avatar
CicTec
 
Posts: 16553
Joined: Thu Jul 31, 2008 10:18 pm

Re: opinion sobre lenguajes de programacion nuevos

Postby kozka » Tue Mar 10, 2020 2:44 pm

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/
User avatar
kozka
 
Posts: 2111
Joined: Sun Feb 01, 2009 9:36 pm

Re: opinion sobre lenguajes de programacion nuevos

Postby Hokuto7 » Tue Mar 10, 2020 10:02 pm

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/


Conozco p5js pero como no se puede descargar la referencia en español pues lo tengo aparcado,pero personalmente prefiero processing java.
User avatar
Hokuto7
 
Posts: 1396
Joined: Mon Aug 28, 2017 10:14 am

Previous

Return to Offtopic

Who is online

Users browsing this forum: No registered users and 4 guests