• Domingo 15 de Diciembre de 2024, 02:52

Autor Tema:  Tipado dinámico, es posible?  (Leído 1693 veces)

UnMandrango

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Tipado dinámico, es posible?
« en: Martes 1 de Febrero de 2011, 21:27 »
0
Hola, simplemente eso: ¿Es posible implementar el tipado dinámico en C/C++ o esto solo es posible en lenguajes de scripting?

He probado mil formas y bibliotecas (incluidas las boost) pero no consigo nada convincente. Pregunto esto porque no quiero seguir perdiendo el tiempo si es imposible.

La finalidad es porque estoy desarrollando un pequeño motor de juegos basado en el de la empresa en la que trabajo (este es de código cerrado) y permite tipado dinámico, es un lenguaje script, pero puede ser interpretado que es como yo lo uso para desarrollar los juegos y luego se puede compilar cuando el juego ya esta terminado.

Gracias!

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Tipado dinámico, es posible?
« Respuesta #1 en: Martes 1 de Febrero de 2011, 22:22 »
0
void* se puede usar para implementar eso. De todas formas, tienes otros lenguajes para eso. No veo sentido usar C/C++ con tipos no estrictos.

UnMandrango

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Tipado dinámico, es posible?
« Respuesta #2 en: Martes 1 de Febrero de 2011, 22:29 »
0
Hola m0skit0, el tema de void * ya lo intente, pero como puedo luego recuperar un void * a un objeto sin saber cual es? pero sin saberlo, totalmente dinámico.

La gracia es usar C/C++ porque es mas eficiente que un lenguaje interpretado.

El motor del que hablo de la empresa esta desarrollado en C++, y creo que lenguajes como Python o PHP, realmente también han sido creados en C o C++ (de esto no estoy seguro). Entonces debe ser posible implentarlo, no? O realmente el tipado dinámico de estos lenguajes es "simulado" por el interprete?

ProfesorX

  • Moderador
  • ******
  • Mensajes: 796
  • Nacionalidad: mx
    • Ver Perfil
Re: Tipado dinámico, es posible?
« Respuesta #3 en: Martes 1 de Febrero de 2011, 23:39 »
0
Bueno la respuesta a tu pregunta ya esta contestada con tus mismas palabras.

Si utilizas un lenguaje compilado no es posible tener tipos dinamicos. necesitas un lenguaje interpretado (o de script, que es basicamente eso, un lenguaje interpretado)

La ventaja de los script radica en poder desarrollar prototipos rapidamente, supongo que esa es la razon por la que utilizan ese tipo de motor en la empresa donde trabajas, pero nada impide que trabajes con C++ normal y compiles de la manera tradicional, sin tener un lenguaje script, es cosa de que te organices tu forma de trabajo, para que recompiles lo menos posible, ya que cuando tienes un proyecto grande es en lo que se pierde mas tiempo, recompilar.

Ahora, si aun insistes en implementar un motor como el que usas en la empresa donde trabajas, entonces valga la redundancia deberas hacerlo tu mismo, el camino no sera facil, pero la ventaja que tienes ahora es el internet, que si sabes buscar adecuadamente tendras lo necesario para comenzar, puedes tomar el ejemplo de otros proyectos que desarrollan interpretes (LUA, Python, PHP, etc) y tomar ideas para implementarlas en tu propio motor, incluso puedes buscar intepretes de C++.

Saludos :)

NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================

UnMandrango

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Tipado dinámico, es posible?
« Respuesta #4 en: Miércoles 2 de Febrero de 2011, 00:10 »
0
Gracias por responder. Ya lo tengo claro, no pierdo mas tiempo en cosas imposibles!  :good:

Ya llevo días mirando también el tema de crear un interprete, usando Flex/Bison, no parece fácil pero creo que puede ser muy interesante crear un interprete de un lenguaje propio (algo simple claro :P) aunque sea para aprender.

Por cierto, en que categoría del foro podría comentar mis dudas sobre Flex/Bison?

Saludos!