Foros del Web » Programación para mayores de 30 ;) » Programación General »

La mejor manera de programar en windows

Estas en el tema de La mejor manera de programar en windows en el foro de Programación General en Foros del Web. Hola a todos. Ultimamente he estado investigando las diferentes formas de programar en windows (o por lo menos las que mas me llamaron la atencion). ...
  #1 (permalink)  
Antiguo 29/06/2005, 23:36
 
Fecha de Ingreso: junio-2005
Ubicación: México, México
Mensajes: 429
Antigüedad: 18 años, 10 meses
Puntos: 1
La mejor manera de programar en windows

Hola a todos. Ultimamente he estado investigando las diferentes formas de programar en windows (o por lo menos las que mas me llamaron la atencion).

De las que visto estan las siguiente:
  • Visual Basic (version 6, la net no me gusta :p, bueno, de hecho no me gusta visual basic, pero... por curiosidad )
  • Ensamblador de 32 Bits
  • C++ Builder
  • Con la API de C++ (la de Dev-C++)
  • Visual C++
C++ Builder y Visual C++ usan su propia biblioteca para crear programas (VCL de C++ Builer y MFC de Visual C++)...

Cual creen que sea el mejor para la programacion en Windows??. Mas o menos sé usar la API de Windows (mediante Dev-C++) y he visto la de MASM32 y son extremadamente parecidas, hasta los mismos parametros, de la misma forma, etc. Obvio, cada uno con su sintaxis...

Muchos opinan que es bueno crear la estructura de las ventanas, botones, controles, etc... en visual basic por su facilidad y enlazar el programa con una libreria dinamica hecha en C++ (eso fue lo que primero se me ocurrio)...

Una vez vi como hacian eso pero en vez de utilizar C++ usaban ensamblador mediante un archivo .def*

Ahorita yo sigo buscando opiniones; y saben sobre todo por que?. Lo que pasa es que, todas estas APIs (excepto la de MASM) crean controles (botones, check boxes, etc...) en la forma clasica del windows 2000 y versiones anteriores (o sea esos botones cuadrados)... y se ve un poco extraño el programa sobre todo si cambias el tema de Windows XP, los botones siguen siendo cuadrados y feos...

Con MASM sí se crean los controles como los del S.O. (en este caso XP); claro si ejecuto el programa en windows 2000 se veran cuadrados; pero como aun estoy comenzando con Ensamblador, no sé que tanto debo de saber para programar en MASM32...

Espero su opinion.

Lo que busco realmente es facilidad (como la que da C++ Builder) pero no tanto... ya que estuve programando un ratin con la VCL y llega un punto en el que casi llamas a la funcion: create_text_editor(); y te crea un editor de textos**... O sea, busco facilidad para los controles, pero que se programe algo a mano y no todo mediante funciones de la API. Y obvio, tambien busco que los controles sean los del S.O. y no los cuadrados feos...

En caso de que conoscan otras librerias, tambien me gustaria conocerlas (en C++)

Acotacines:
*No estoy muy seguro de que ese sea el archivo, es que eso lo vi hace como 2 años...
**Es un ejemplo un poco exagerado, pero la idea es que llega a ser aburrido...

Nota: Este mensaje puede contener errores.

Gracias.
  #2 (permalink)  
Antiguo 30/06/2005, 00:30
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
En realidad Dev-C++ es un IDE que usa gcc como compilador y no tiene ninguna API. No es una casualidad que los parametros de las funciones sean los mismos que en MASM32 ya que esas funciones son de la API de Windows, las provee el Sistema Operativo con una serie de DLLs y no Dev-C++.

La diferencia de sintaxis es muy clara en ensamblador puro:

push parametro1
push parametro2
call funcion

pero MASM32 provee una directiva muy interesante para facilitarnos la vida (lastima que la quitaran en MASM64):

invoke funcion, parametro1, parametro2

Otra cosa es que tanto con Borland Builder C++ como con VC++ podes (es lo mas corriente) hacer aplicaciones usando solo la API de Windows. VCL y MFC son librerias para lograr tener una alternativa a la API de Windows, lo unico que hacen es encapsular su funcionalidad.

Probablemente en MASM32 lo hayas visto es un archivo .res de recursos, esa es la forma mas facil de trabajar (al menos para mi gusto), creando dialogos en vez de ventanas. Control es un termino de alto nivel que no aplica a assembly, en este caso serian ventanas si se usa CreateWindowEx.

Nunca recomiendo Borland, me parece que es el mayor generador de bloatware del mundo en todas y cada una de sus versiones.

Si lo que vas a desarrollar es para vos y tenes todo el tiempo del mundo te recomiendo MASM32 ya que tenes la maxima potencia pero al mismo tiempo la mayor dificultad. Si es algo profesional te recomiendo VC++ pero usando la API de Windows, de esta manera si mañana tenes que trabajar con Dev-C++, Borland Builder, MASM32 o cualquier compilador/ensamblador que te permita acceder a una funcion de una DLL (API de Windows en este caso) podras reutilizar el mecanismo que aprendiste

Por cierto VB entre todos estos demas lenguajes no tiene nada que hacer, es de juguete
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO

Última edición por Eternal Idol; 30/06/2005 a las 00:37
  #3 (permalink)  
Antiguo 30/06/2005, 11:27
 
Fecha de Ingreso: junio-2005
Ubicación: México, México
Mensajes: 429
Antigüedad: 18 años, 10 meses
Puntos: 1
:D Totalmente de acuerdo con lo de Visual Basic :D

Con lo de la API de Dev-C++ me referia al conjunto de librerias que trae desde su instalacion para crear programas de windows junto con el gcc y la libreria de SDL, pero gracias por la aclaracion

Mencionaba eso de ensamblador comparado con C++, porque dicen que Ensamblador te da mas libertad de modificar las cosas, pero, si la estructura de la ventana es la misma, los parametros iguales... entonces me imagino que se puede modificar lo mismo no??

Y entonces, que tengo que saber de ensamblador para programar en masm32???. Me imagino que eso de los segmentos de memoria ya no... pero, las demas instrucciones como mov, push, pop, dec, inc, etc... esas sí... o como??

Y una ultima pregunta. En que caso me recomiendan usar C++ y en que casos Ensamblador de 32 bits???

Gracias.
  #4 (permalink)  
Antiguo 30/06/2005, 11:37
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Cita:
Iniciado por scrolling
Mencionaba eso de ensamblador comparado con C++, porque dicen que Ensamblador te da mas libertad de modificar las cosas, pero, si la estructura de la ventana es la misma, los parametros iguales... entonces me imagino que se puede modificar lo mismo no??
Tenes que pensar que Windows esta hecho en su amplia mayoria con C y su API esta orientada a este lenguaje, todos los atributos que podes modificar DOCUMENTADOS (no se si habra indocumentados pero imagino que si) estan disponible tanto desde C/C++ como desde assembly.

Cita:
Iniciado por scrolling
Y entonces, que tengo que saber de ensamblador para programar en masm32???. Me imagino que eso de los segmentos de memoria ya no... pero, las demas instrucciones como mov, push, pop, dec, inc, etc... esas sí... o como??
Los segmentos mueren en 16 bits, tenes un modelo de memoria plana de 32 bits. Las instrucciones las tenes que saber sino no vas a poder programar practicamente nada.

Cita:
Iniciado por scrolling
Y una ultima pregunta. En que caso me recomiendan usar C++ y en que casos Ensamblador de 32 bits???
Un poco te lo conteste en el mensaje anterior, siempre que el tiempo no sea una prioridad y ESTES DIPUESTO a pasar por un proceso de desarrollo mas largo y complicado (en el 90% de los casos) te recomiendo ensamblador.
Si tenes que presentar algo profesionalmente (en tu trabajo por ejemplo) o no tenes mucho tiempo te recomiendo C/C++ hasta que llegue el dia en que seas tan bueno en assembly como en esos dos y no cometas mas errores en assembly.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #5 (permalink)  
Antiguo 30/06/2005, 14:39
 
Fecha de Ingreso: junio-2005
Ubicación: México, México
Mensajes: 429
Antigüedad: 18 años, 10 meses
Puntos: 1
Bueno y ya que andamos en eso... algun buen curso de ensamblador que me recomienden...??? (de preferencia de 16 bits)

Gracias
  #6 (permalink)  
Antiguo 30/06/2005, 14:41
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
http://win32asm.cjb.net/
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:20.