Ver Mensaje Individual
  #16 (permalink)  
Antiguo 14/03/2006, 15:03
Avatar de [EX3]
[EX3]
 
Fecha de Ingreso: marzo-2006
Ubicación: Fuenlabrada, Madrid
Mensajes: 203
Antigüedad: 18 años, 2 meses
Puntos: 1
Cita:
Iniciado por MaxExtreme
Mmm... Yo llamo "wrapper" a una interfaz-módulo-añadido-loquesea que permite usar una librería de X lenguaje en otro, de manera transparente. Como vi que tú reorganizabas un poco las DirectX, vi que no era un wrapper a pelo.
Ofrece ciertas operaciones mas o menos complejas en pocas llamadas. Digamos que el componente gestiona muchas de esas operaciones de forma autonoma, sin que el programador tenga que estar pendiente de ello. Yo veo eso algo mas que una simple reorganizacion de codigo. Resumidamente un "wrapper" es una capa de abstraccion sobre otra capa o conjunto de ellas.

Cita:
Iniciado por MaxExtreme
Y por supuesto, VB6 para ese tipo de juegos es perfectamente válido. Ahora bien, como antes he dicho, creo que es más sencillo hacer un juego en otro lenguaje (ya no hablo de C++ y juegos profesionales), como C# con su framework o algún otro que provea de un lenguaje algo básico. Es decir, yo me moría en VB para usar arrays y demás, no había manera de controlar el código, o de leerle al cabo de un tiempo (también es cierto que era muy pequeño cuando le usaba).
Si no hubiera desarrollado la dx_lib32, otra de las razones por las que me empeño en seguir en VB6 (no voy a tirar 6 años de desarrollo y aprendizaje a la basura) estaria seguramente programando mi juego en un lenguaje comodo y sencillo como Blitz3D o inclusive el nuevo Blitz Max (si no los conoces estan los enlaces en mi web). Blitz Max, de los lenguajes actuales orientados a desarrollo de juegos, con sintaxis en BASIC tradicional, orientado a objetos, 100% compilado (no se interpreta codigo ni bytecode alguno) y con sus severas optimizaciones es uno de los lenguajes de este estilo que mas se aproxima a la potencia y velocida de C++ segun diversas pruebas que realizaron.

Cita:
Iniciado por MaxExtreme
En cambio, en C++, mi código es limpio, hace lo que quiero y muy controlado. Es difícil que cometa un error y no me entere. En cambio, en VB lo difícil es no cometerlos (exagerando un poco, pero para que se entienda).
¿Sabias que se pueden desactivar todos los controladores de error de VB6? Controladores de rango de valores, de indices en arrays, redondeos en numeros decimales, etc... De esta forma si se produce un error de haber accedido por ejemplo a un elemento inexistente en un array se producira un error de acceso de memoria (esos maravillosos mensajes de error de windows que te cierran el programa) y no un aviso de VB que interrumpe la ejecucion. Ademas de ganar mucha velocidad con esto el programa se aligera un poco de peso al compilarse. Eso si, al igual que en C++ ya toca estar al loro de lo que escribes ;)

Cita:
Iniciado por MaxExtreme
En definitiva, lo que creo que ocurre siempre es que VB6 tiene algunos defectos en el diseño del lenguaje. Si hubiesen quitado cosas que realmente están MAL (como las que aparecen en la wikipedia, artículo Visual Basic) y tuviese un mínimo control de tipos y abstracción, manejo mejor de datos, ya tendríamos un lenguaje perfecto para este tipo de cosas sencillas.
Totalmente deacuerdo, yo sigo pensando que el fallo de planteamiento fue por querer orientar este lenguaje exclusivamente a programas basados en ventanas y controles, y sistemas para gestionar bases de datos. De ahi que en un principio sus limitaciones sean poco forzosas en comparacion con un lenguaje de proposito general como C/C++. En este caso Delphi salio ganando y mucho (lastima de no conocerlo en su dia xD)

Salu2...
__________________
Proyecto dx_lib32 (http://dxlib32.se32.com) Libreria DLL ActiveX para el desarollo de juegos y programas multimedia en Visual Basic 6.0 con la potencia de DirectX

Dice un dicho que "el que calla otorga". En internet tenemos otro que dice "nunca alimentes a un troll" que viene a decir "dejale hablar solo que se ya se cansara de incordiar". Solo los necios creen tener la razon con la ultima palabra.