Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Vstudio C++ Express

Iniciado por Haddd, 31 de Agosto de 2004, 01:06:52 PM

« anterior - próximo »

Haddd

 Yo creo mucho en .Net. La verdad es que hacer un editor en C# o en VBasic o incluso en C++ Managed es tremendamente fácil comparándolo con la locura de MFC. Pero al ejecutar los ejemplos del SDK de DX, en Managed iba más lento...

Quizás haya que esperar a ver que es eso de XNA!!

seryu

 yo preferiria qedarme con mi bonito c++ aun a costa de tener qe seguir con cabeceras y el largo etc, y simplemente tener una nueva libreria qe te libre del horror mfc, qe por otro lado, ya tenemos asumido.

por otro lado, alguno aqi ha dicho qe le gusta java? en desarrollo de videojuegos creo qe no hay cosa peor qe java.

Grugnorr

 Los ejemplos del SDK están muy mal programados, son una traducción "literal" de los de C++.

Te explico, el ejemplo de los billboards(unos cuantos árboles en un terrero rotatorio):

En C# las structs son "clases ligeras", value-types (se crean en el stack). Mayor eficiencia y menor flexibilidad( no se puede heredar de ellas, no pueden heredar, sólo implementar interfaces... weno, alguna cosa más, quédate con que son una clase más eficiente para casos concretos). (Una de las muchas mejoras de eficiencia respecto a Java...)

En el ejemplo del SDK, se guardan los datos de los árboles en una struct, como en C++
El problema está en que,  en cada frame!, metían en una collection, ArrayList juraría, muchas de éstas structs. Las colecciones almacenan Objects, y como el inútil del programador está usando structs, al añadir una struct al ArrayList se tiene que crear un Object que lo envuelva (Boxing) y al sacarlo se debe desenvolver(Unboxing). Resumiendo, leí que en cada frame se creaba y liberaba como 2mbs "gracias" al mal uso de las structs.

Un ejemplo de todo ésto en C++ sería el pasar structs por valor 1000 veces en un loop a un método, en vez de hacerlo pro referencia. Más que ineficiencia del lenguaje, es poca habilidad del programador

PD: Managed C++ es un infierno de complejo, "sólo" se debería usar como pegamento entre C++ y .NET, ahí es simple y eficiente

PD2: Es "rumor oficial" que la XBOX2 funcionará bajo .NET (espero que 2.0, con sus generics(templates simplificadas, sin esas marcianada que enseña el Alexandrescu ^_ ^)

PD3: Echadle un ojo a AXIOM  y a Purple#

PD4: Sigo trabajando, a ver si esta noche reuno 30 minutos y hago un post decentemente estructurado  :P  
hat the hells!

Pogacha

 He visto muy poco de C#, expresaba mis primeras impresiones
Citar
CitarQUOTE 
clases, clases y mas clases, y muy poco codigo
A qué llamas tú código?  
Por ejemplo:
for(i=0; i< 100; i+= i&0xF + 1) HacerAlgoCon(i);
Remplazado con algo horrible como:
CIteradorEntero i;
i.Rango=CRango(0,100);
i.Correr( HacerAlgoCon(), CIncrementacion(1, 0, 0xF) );

Citar
CitarYa vi lo de MSIL y todo eso, (lo mismo sentia cuando vi las primeras lines de c++).
Debes ser la única persona del mundo que compararía el IL(lenguaje intermedio-bytecode de la VM) con C++ .No te recuerda más a un ensamblador sencillo?
Seguramente me exprese mal, al ver C# sentí lo mismo que sentí al ver C++ por primera vez, rechazo y desconcierto.

Grugnorr

 
CitarPor ejemplo:
CODE 
for(i=0; i< 100; i+= i&0xF + 1) HacerAlgoCon(i);

Remplazado con algo horrible como:
CODE 
CIteradorEntero i;
i.Rango=CRango(0,100);
i.Correr( HacerAlgoCon(), CIncrementacion(1, 0, 0xF) );

Dónde has visto eso?  :blink:

Tú crees que CIteradorEntero es una clase propia de C#?  (nooo)

No sé de donde has sacado eso, pero NO es C# : i.Rango=CRango(0,100); sin un new eso no es c#, por ejemplo

PD: Los bucles y en general la programación simple es totalmente = que en C<->C++<->Java... con añadidos como el foreach

PD2: Tutorial C# muy básico

PD3: Yo quería saber qué significaba que veías clases y no código  (twist)


hat the hells!

BeRSeRKeR

 Yo estuve probando C# durante una temporada y me gustó mucho (más que Java que sí que lo he utilizado más). Y desde entonces siempre he dicho que si tuviera que programar alguna utilidad tipo sistema de partículas, editor de niveles y cosas así, nada de MFC/C++, C# al canto. :)

Saludos.
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

Zaelsius

 A mí tambien me ha gustado C# mucho. Para hacer aplicaciones visuales, con un poco de cuidado se pueden hacer funcionar en Mono sin demasiados problemas :D.

En nuestro proyecto nos hacia falta un pequeño parser de ficheros de texto, y no me lo pensé dos veces y lo hice en C#. Porque en C++ incluso con std::string el manejo de cadenas es algo engorroso. Podría haber utilizado Java, pero la verdad es que la primera vez que arranca la JVM se me para el PC, jeje. Tambien cuenta poder usar Visual Studio, para qué engañarnos.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.