Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: prometheus48 en 29 Octubre 2011, 19:02 pm



Título: ¿Como hacen los progrmas los profesionales?
Publicado por: prometheus48 en 29 Octubre 2011, 19:02 pm
Hola a todos,

Bueno llevo programando en visual basic un tiempo, y me di cuenta de que visual basic es para hacer aplicaciones rápidamente. Osea no definitivas.
La pregunta que os hago es,¿Cómo hacen los programadores los programas tipo
Google chrome por ejemplo(qué programas utilizan) y si lo hacen visualmente
o escribirndo código sin parte visual?
Muchas gracias.

Salu2! :D


Título: Re: ¿Como hacen los progrmas los profesionales?
Publicado por: lnvisible en 29 Octubre 2011, 19:11 pm
Normalmente en C o alguna variante, como C++ o C#.

Normalmente sin parte visual, y con muchos scripts para automatizar la construcción, las pruebas del sistema, etc.

Si te interesa Chrome puedes verlo aquí.
http://www.chromium.org/developers


Título: Re: ¿Como hacen los progrmas los profesionales?
Publicado por: [Case] en 31 Octubre 2011, 08:24 am
Mira Edsger Dijkstra decía que Basic "mutila la mente más allá de toda recuperación", yo nunca he probado VisualBasic o algún derivado de Basic,así que no te podría dar mi opinión, pero mira si quieres vivir de programar, mínimo es saber programar en 5 distintos lenguajes de programación.

En java por ejemplo todo es puro código, igual que en python. Las que te muestran ventanas de como va ir quedando el aspecto visual del programa son las IDE's.


Título: Re: ¿Como hacen los progrmas los profesionales?
Publicado por: WHK en 31 Octubre 2011, 09:16 am
Programar algo como google chrome, firefox, photoshop, antivirus, etc se necesita mucho mas que solo código y mucha gente, no solo una persona.

Normalmente un grupo de personas son los encargados del diseño de código, no las ventanas sino el como funcionará, donde irá cada cosa, que debe hacer en que casos, etc, luego eso se lleva al grupo de programadores que codean casi todo pero separado en departamentos, por ejemplo departamento 1 se encarga del motor, otro grupo de las apis, otro grupo de las bases de datos, etc etc. Después llega a manos de los diseñadores que esos si se encargan de que se vea bien, que sea comodo, que sea amigable de usar, etc etc y despues a un grupo de personas que testean el programa para ver que todo ande bien y al final otro grupo de personas se encargan de empaquetar todo y disribuirlo, otro se encarga de la publicidad, etc etc etc,,,, es todo un staff de gente detrás de proyectos grandes y muy rara ves veras algo bien hecho en vb6, casi siempre es c++, python o derivados como java y c# tal como decian mas abajo.

Ahora, hay buenos programas que estan hechos en visual basic .net pero son bastante lentos como yahoo messenger 7 y 8, despues lo pasaron a visual c++.


Título: Re: ¿Como hacen los progrmas los profesionales?
Publicado por: adastra en 31 Octubre 2011, 09:35 am
No hay una respuesta simple a tu pregunta, las aplicaciones "profesionales" abarcan muchas facetas; por ejemplo, para desarrollar aplicaciones web existen lenguajes que son mucho más comodos y adaptados para ello, PHP, JSP, ASP, javascript, VBScript, etc.. etc.. etc.., mientras que para realizar aplicaciones back-end existen otras, las ya citadas anteriormente, C, C++, Java, C#, etc. Incluso puedes crear programas "profesionales" enfocados a manipular eventos a bajo nivel, como interrupciones del sistema, invocaciones a funciones nativas, etc. Para algunas de estas operaciones probablemente te venga bien usar ASM (ya sea directamente o desde un programa en C)... Como puedes ver, depende del contexto de la aplicación que desees emplear. No obstante, si deseas una recomendación sobre un lenguaje de programación para comenzar a desarrollar aplicaciones mucho más serias que con VB, te recomiendo C/C++ y Java.


Título: Re: ¿Como hacen los progrmas los profesionales?
Publicado por: prometheus48 en 1 Noviembre 2011, 18:18 pm
Muchisimas gracias chicos-
Me lo habéis aclarado.
Saludos!


Título: Re: ¿Como hacen los progrmas los profesionales?
Publicado por: seba123neo en 2 Noviembre 2011, 00:07 am
Bueno llevo programando en visual basic un tiempo, y me di cuenta de que visual basic es para hacer aplicaciones rápidamente. Osea no definitivas.

necesitas argumentos para convenceme de eso.

con visual basic, podes hacer tranquilamente aplicaciones gigantes, muchisimos sistemas de gestion estan realizados en visual basic y son realmente grandes.


Título: Re: ¿Como hacen los progrmas los profesionales?
Publicado por: adastra en 2 Noviembre 2011, 00:55 am
necesitas argumentos para convenceme de eso.

con visual basic, podes hacer tranquilamente aplicaciones gigantes, muchisimos sistemas de gestion estan realizados en visual basic y son realmente grandes.

1. Un sistema "grande" tal como lo expones es una medida subjetiva. Que es para ti grande?
2. El hecho de que un sistema sea "grande" no lo convierte en un sistema estable, seguro, robusto, escalable y eficiente.
3. Las funcionalidades que ofrece VB se cuentan con los dedos y no se pueden comparar con la potencia que ofrece la API de lenguajes como Java o cualquiera de los que se encuentran incluidos en el framework de .NET
4. No hay que olvidar que VB6 tiene ya más de 15 años, en su tiempo era malo y hoy en día, no hay razón ni siquiera para enseñarlo en las escuelas...

Ahora, si te refieres a VB .NET, la cosa cambia, ya que se trata de una mejora sustancial con respecto a su antecesor, no obstante desde mi punto de vista prefiero la estabilidad y versatilidad que proporciona Java, que probablemente cueste más aprenderlo? si, eso es cierto y no es discutible, pero en esta vida las cosas buenas cuestan dinero y/o esfuerzo!


Título: Re: ¿Como hacen los progrmas los profesionales?
Publicado por: pucheto en 2 Noviembre 2011, 02:47 am
Podes aprender un poco mas del proceso de desarrollo de software si te interesa saber como se hace software de manera 'profesional'.


Título: Re: ¿Como hacen los progrmas los profesionales?
Publicado por: seba123neo en 2 Noviembre 2011, 04:58 am
1. Un sistema "grande" tal como lo expones es una medida subjetiva. Que es para ti grande?

grande significa, sistemas de gestion - ERP tipo TANGO GESTIÓN (que esta realizado en .NET) o BAS, por darte 2 ejemplos.

2. El hecho de que un sistema sea "grande" no lo convierte en un sistema estable, seguro, robusto, escalable y eficiente.

si mi abuela no estuviera muerta estaria viva, obvio que grande no quiere decir eso, pero lo puede ser tranquilamente.

3. Las funcionalidades que ofrece VB se cuentan con los dedos y no se pueden comparar con la potencia que ofrece la API de lenguajes como Java o cualquiera de los que se encuentran incluidos en el framework de .NET

no me vas a dar una clase de lo que hace visual basic y lo que no hace., yo lo se perfectamente, no hace falta esa comparación.

4. No hay que olvidar que VB6 tiene ya más de 15 años

mas de 15 ? tiene 13 años, no se como hiciste el calculo.

en su tiempo era malo y hoy en día

eso es lo mas tonto que escuche, si vos decis que era o es malo es subjetivo tambien, es solo tu opinion contra la de miles de programadores que eligieron este lenguaje para hacer software. y no me olvido de las empresas que han realizado softwares en este lenguaje, softwares gigantes que tardaron años en hacerlos y mantenerlos, y que hoy en dia lo siguen manteniendo ya que pasarlo a .NET cuesta años de desarollo y tiempo, personas, etc, no es asi nomas la cosa, pensa en las empresas, no penses en los tipos que hicieron un formulario con 2 botones. creo que subestimas la potenca que tuvo o puede llegar a tener VB6. hoy en dia es obvio que una empresa nunca va a elegir VB6 para comenar a hacer un software desde 0, elige .NET sin pensarlo.

no me banco a los que como vos critican un lenguaje de programacion, por ahi hay una frase que dice algo como "ningun lenguaje es malo, si el programador sabe usarlo", deja que le diga a los miles de MVP de Visual Basic tu opinion haber que opinan.

antes que me respondas, tene en cuenta que programo en VB6, .NET y Java.


Título: Re: ¿Como hacen los progrmas los profesionales?
Publicado por: adastra en 2 Noviembre 2011, 10:11 am
lo que no se puede esperar es que una técnologia que lleva estancanda durante varios años (VB6) aun sea empleada hoy en día y digo que en su tiempo era malo, ya que en su epoca existian lenguajes de programación mucho más robustos y potentes (por ejemplo lenguaje C), desde un punto de vista objetivo, (y ya que conoces a la perfección VB6) debes reconocer que no se puede comparar con un lenguaje como C o Java eso es innegable.
Personalmente no encuentro ninguna razón para utilizar a día de hoy VB6 y si alguien me dice "Existen sistemas grandes que estan escritos en VB6" para mi NO es una razón suficientemente fuerte como para que comience a utilizar tal lenguaje. El hecho de que una herramienta, S.O o lenguaje de programación sea utilizado por muchas empresas o muchos grupos de personas, puede tener muchas razones y no necesariamente tienen que ver con la calidad del software; por ejemplo, los ERP que mencionas, te has puesto a pensar por que han elegido VB6? no será que esperaban obtener el soporte por parte de MicroSoft que no obtenian de herramientas o lenguajes de programación basados en Software Libre? el número de usuarios de una herramienta es irrelevante, lo cuenta realmente es la calidad de la misma.

El colega ha preguntado "¿Como hacen los programas los profesionales?" un sistema profesional a día de hoy tiene que ser como minimo estable, seguro, robusto, escalable, eficiente y en algunas ocasiones, independiente de plataforma, estas caractisticas no son alcanzables con VB6, así de simple.
Luego, si que es cierto que hay algo en lo que estoy deacuerdo contigo y es que lo más importante para programar, es precisamente saber programar sin importar el lenguaje de programación empleado, la logica computacional, la capacidad de resolver problemas y disfrutar haciendolo son las principales habilidades que debe poseer cualquier programador y eso es independiente del lenguaje que se utilice.
A lo mejor, esto ultimo seria la mejor respuesta que se le puede dar a esta pregunta, para hacer programas profesionales, primero debes fomentar ciertas actitudes y habilidades necesarias, debes amar la programación y tener gusto por crear cosas nuevas o mejorar las existentes, los mejores programadores que he conocido en los años que llevo metido en este mundo, han sido tambien las personas muy creativas.


Título: Re: ¿Como hacen los progrmas los profesionales?
Publicado por: seba123neo en 2 Noviembre 2011, 16:52 pm
ya que en su epoca existian lenguajes de programación mucho más robustos y potentes (por ejemplo lenguaje C), desde un punto de vista objetivo, (y ya que conoces a la perfección VB6) debes reconocer que no se puede comparar con un lenguaje como C o Java eso es innegable.

y quien en su sano juicio puede llegar a comparar VB6 con C ? ningun programador que yo sepa, que conoce como funcionan esos 2 lenguajes puede llegar a comaprarlos nunca, porque si lo hace entonces es de pura ignorancia. Todos sabemos que C o C++ o es lo maximo que hay, el lenguaje mas utilizado del mundo, y en el que se puede hacer un sistema operativo y aplicaciones super potentes, antivirus, drivers...etc.

El colega ha preguntado "¿Como hacen los programas los profesionales?" un sistema profesional a día de hoy tiene que ser como minimo estable, seguro, robusto, escalable, eficiente y en algunas ocasiones, independiente de plataforma, estas caractisticas no son alcanzables con VB6, así de simple.

esa es otra falacia, ¿ para que quiero programar en un lenguaje multiplataforma si uno trabaja en una empresa que trabaja sobre productos windows unicamente ? podria haber elegido C/C++ tambein, pero se eligio VB6 y se soluciono el problema de la misma forma cual es el problema ?

por eso cuando uno pregunta "que lenguaje elijo para comenzar" pues la respuesta es "que necesitas hacer y para que sistema vas a trabajar", cada empresa elige su lenguaje a costa de lo que va a usar.

otro de los mitos que se dicen es que si uno programa en VB6 despues le cuesta entender otros lenguajes, eso es otro mito, yo aprendi .NET y Java sin dificultad.

por eso nunca hay que decir que un lenguaje fue malo ni es malo, que esta pasado de moda el VB6 eso no lo dudo, nadie lo puede discutir, es viejo, pero sin embargo sigue ahi y hay gente que se inicia en la programacion facilmente gracia a este lenguaje y que despues puede migrar a otros lenguajes sin problema. te puedo asegurar que en VB6 se hicieron y se pueden hacer cosas que uno nunca penso que se podian hacer, yo mismo me he sorprendido de las cosas que se hacen, gracias a que puede tener control de toda la API de windows y un monton de cosas mas.

saludos.


Título: Re: ¿Como hacen los progrmas los profesionales?
Publicado por: BlackZeroX en 2 Noviembre 2011, 22:55 pm
.
    "No heches perlas a los cerdos!¡" (Jesus).
    "Es de sabios dudar..." ().
    "Si quieres ser sabio,aprende a interrogar razonablemente, a escuchar con atención, a responder serenamente y a callar cuando no tengas nada que decir." (Johann Kaspar Lavater).
    "El sabio puede cambiar de opinión. El necio, nunca" (Immanuel Kant)
    "Tu algoritmo es solo el reflejo de ti mismo" (YO, jajaja)
    "El lenguaje es tan malo como el programador lo es" (Creo que lo dijo Karcrack (http://foro.elhacker.net/profiles/hocicos-u90456.html)).

@adastra
  * Si vb6 en su tiempo era malo y sigue siendo malo, entonces preguntate ¿por que siguen sacando versiones?.
  * Dices que no tienes mucho tiempo usandolo... te invito a que desarrolles algo robusto en el, despues dinos tus comparaciones y experiencias, por que hablar de las experiencias de otros no es muy bueno que digamos, aun que si es de algun articulo de los mismos creadores entonces ya es otra cosa.


otro de los mitos que se dicen es que si uno programa en VB6 despues le cuesta entender otros lenguajes, eso es otro mito, yo aprendi .NET y Java sin dificultad.


Ademas de los que mencionas he aprendido Objetive-C, C/C++, php, y voy por mas lenguajes, VB6 fue mi primer lenguaje de programacion!¡, y no me costo entender ningun otro lenguaje apesar que vb6 encierra y carece de muchas cosas.

---->

    Esta claro que VB6 no es C y C no es vb6, ambos tienen sus PROSy sus CONTRAS... inclusive hay algo que se llama C# que mezcla la facilidad de VB, pero tambien todo lo robusto de C, y de otros lenguajes, es muy parecido a JAVA.

    Esta claro que vb6 sin uso de metodos considerados (hacks), es inferior a C (y seguira siendo inferior), pero la verdad es que si tu algoritmo en si es ineficiente no importa donde lo implementes, seguira siendo ineficiente!¡, sea en vb6, C/C++, C#, vb .Net, java, etc...

    * Incrible pero cierto en la empresa TELMEX hay sistemas de computo creados en VB6, bastante ROBUSTOS, que usan posiblemente librerias creadas en C, y esto no quiere decir que vb6 sea ineficiente ni que c sea lo mismo, se eligieron usar ambos lenguajes para COMPLEMENTARSE y ser PRODUCTIVOS.

    Por otro lado quien desee programar en un lenguaje como VB6 puede trabar varios aspectos CASI como C, y lo digo asi debido a que directamente no se puede y por que VB6 carece de muchas cosas, como la herencia por decir un ejemplo.
    * http://foro.elhacker.net/programacion_visual_basic/mmemory_writeprocessmemoryvbacopybytesrtlmovememory_replacement_noapi-t343343.0.html;msg1680271#new
    * http://foro.elhacker.net/programacion_visual_basic/como_crear_memoria_dinamica-t343380.0.html;msg1679850#msg1679850
    * etc...
    Los anteriores son considerados metodos hacks para el lenguaje, debido a aque nativamente no se puede.

    * VB6 puede acercarse un poco a la velocidad de C?, un poco si, siempre y cuando se usen estilos de programacion "hacks", y que el algoritmo sea EFICIENTE.

Bueno ya me canse de escribir y de PONER las cuestiones por las cuales muchos pelean, discuten y alegan con un mismo fin, defender su opinion y claro la eleccion es cuestion de opiniones!¡, pero si las personas no tienen esa facultad de "Prueba y Error" mejor tomar a lo loco.

Todos somos ignorantes, lo que pasa es que no todos ignoramos las mismas cosas!¡.
Albert Einstein


--------->

llendo al tema principal:

 * Necesitas definir una NECESIDAD ( para que va a hacer el programa, es realmente requerido?, a quien va dirigido?, etc... ).
 * Necesitas un equipo de desarrollo (NO solo podras hacer tu solo debido almenos que seas un erudito o que tengas bastante tiempo).
 * Necesitas una planificacion ( Tiempos ).
 * Necesitas definir hacia que arquitectura/plataforma/S.O.
 * Necesitas definir el/los lenguajes a emplear y revisar PROS y CONTRAS de cada uno ( NO PUEDES crear un videojuego GRANDE 3D en java solo por que te gusta este lenguaje, aun de que puedes puedes pero debes revisar tus criterios ).
 * Necesitas as una organizacion en el codigo ( Establecer un standart respecto al estilo de comentarios, nomeclaturas, etc... ).
 * Necesitas tener una COMUNICACION con tu equipo de trabajo y revisar los tiempos.
 * Necesitas dividir las partes del codigo en Subprogramas y ejecutarlos como tal!¡ ( Para no tener que esperar a todos los demas a aque terminen, No por ellos vas a retrasarte verdad? ).
 * Necesitas $$$ ( crees que vas a ser autosuficiente solo con el afecto al proyecto?... solo si eres rico claro, o tienes ahorros ).
 * ...
 
Hay mas puntos que no recuerdo por ahora. Estos puntos son los que tomo en consideracion en un desarrollo; cabe aclarar que no solo uso VB6.

 Un consejo extra (por que seguro este hilo va a terminar mal).
 * Si nesesitas ser productivo, es decir, que nesesites crear una aplicacion en corto tiempo, con una interface rapida, opta por algun lenguaje que te permita  (Si es que requieres una GUI) dibujar controles (Para C/C++ puedes usar el IDE CodeBlocks->wxWidgest, tambien puedes usar el framework QT, o esta la opcion de C#, que como dige mezcla las virtudes de varios lenguajes ).

Dulces Lunas!¡.


Título: Re: ¿Como hacen los progrmas los profesionales?
Publicado por: WHK en 5 Noviembre 2011, 08:34 am
Pues muchos utilizarán vb6 aun pero si te vas a presentar a alguna empresa en chile como desarrollador y si dices que sabes visual basic te mandan por un tubo a la calle.

Yo no opino lo mismo con respecto a vb6 y vb.net pero depende del gusto de cada persona, igual se ha demostrado que otros lenguajes como c# de .net funcionan mucho mas rápidos en tiempo de ejecución que vb.net y el cambio de código no es para nada complejo.
La cosa cambia al hablar de vb6 ya que hay muchisimas cosas incomodas por asi decirlo al momento de portar la aplicación a sistemas de windows >7000 como vista, 7 y 8 no por las librerías porque se pueden adjuntar y registrar desde un bat, pero el problema es que ya no son las mismas apis, las direcciones de memoria cambian, algunas constantes tambien cambian como por ejemplo los valores para saber si un archivo es archivo o es directorio, dependiendo del sistema operativo los valores son diferentes y vb6 esta preparado con constantes nativas unicamente para windows xp o menores versioes y para hacer algo para vista debes hacer todo un calculo y detección de sistema operativo para hacer lo mismo, cosas que otros lenguajes igual de alto nivel ya los hacen.

Yo pienso que vb6 no es tan malo, es bueno en sistemas con windows xp pero es horrendo en sistemas mas avanzados.

Lenguajes hay para el mundo y hasta en javascript puedes hacer todo lo que haces en visual basic, pero anda a hacer un photoshop en vbscript o javascript usando windows form.

Ahora hay sistemas muy muy grandes ERP que estan hechos en visual basic como el softland y son la porqueria mas grande que jamas se ha visto pero son los mas comprados y es porque nadie mas sabe hacer programas administrativos tan completos, pero no quiere decir que sean buenos o estables, de hecho en la ultima empresa wue estuve me toco administrar un servidor con un erp en vb6 y era un dolor de cabeza porque todo funcionaba mal y se quejaba por todo y era un desastre y funcionaba con mmsql server 2008, las relaciones de datos de la db son pesimas y hay campos duplicados por todos lados.

Yo se que si seba123neo hubiera programado softland hubiera ido de maravilla pero no se hasta que puno sea tan confiable como una aplicación mas robusta hecha en otro lenguaje y mas escalable.

Por ejemplo hay gente que hace foros en asp y access pero yo no le confiaría eso a una empresa a pesar de que pueda funcionar bien.

Hasta una sitroneta aun funcionan bien y puedes hecharle agua al motor y te va a prender igual pero no le voy a dar eso a alguien de regalo, en ves de eso le compro un vehiculo como la gente.

Igual se programar en vb6, tube mi infancia en ese lenguaje y me divertí mucho, también se vb.net, c# y un poco de java pero el dia en que tenga que hacer una aplicación seria no lo haré en vb6


Título: Re: ¿Como hacen los progrmas los profesionales?
Publicado por: BlackZeroX en 6 Noviembre 2011, 07:00 am

Pues muchos utilizarán vb6 aun pero si te vas a presentar a alguna empresa en chile como desarrollador y si dices que sabes visual basic te mandan por un tubo a la calle.


Eso depende de la nesesidad y es un punto abierto a critica y debate.


La cosa cambia al hablar de vb6 ya que hay muchisimas cosas incomodas por asi decirlo al momento de portar la aplicación a sistemas de windows >7000 como vista, 7 y 8 no por las librerías porque se pueden adjuntar y registrar desde un bat, pero el problema es que ya no son las mismas apis, las direcciones de memoria cambian, algunas constantes tambien cambian como por ejemplo los valores para saber si un archivo es archivo o es directorio, dependiendo del sistema operativo los valores son diferentes y vb6 esta preparado con constantes nativas unicamente para windows xp o menores versioes y para hacer algo para vista debes hacer todo un calculo y detección de sistema operativo para hacer lo mismo, cosas que otros lenguajes igual de alto nivel ya los hacen.


El unico problema no son las apis y el problema de las dirreciones DEPENDEN de la arquitectura del sistema (asta donde tengo entendio) por ejemplo:

* YO JAMAS PROGRAMARIA EN 64bits con VB6 para esto usaria otro lenguaje (esto debido a la longitud del puntero de 64bits que obviamente vb6 no aguantaria... aun que se podria usar el tipo Currency... Pero no es viable realmente).

Sobre las constantes no habra problema debido a que hasta ahora no se han modificado pero si agregado mas de este modo nativamente en VB6 si seria un problema esto tiene una solucion usando las apis con sus constantes respectivas de este modo NO habra ningun problema... de hecho NO HAN CAMBIADO (Lo he comprobado en el IDE) o diferido las constantes internas de vb6 con las del S.O., lo que si es que sE HAN AGREGADO MAS CONSTANTES que por obvias razones en vb6 no existen de manera nativa, pero eso tiene solucion (No quiero defender VB6 en este aspecto solo quiero aclarar este punto y/o extenderlo de una manera mas documentada).

Por ejemplo usar GetFileAttributes function (http://msdn.microsoft.com/en-us/library/windows/desktop/aa364944%28v=vs.85%29.aspx) + File Attribute Constants (http://msdn.microsoft.com/en-us/library/windows/desktop/gg258117%28v=vs.85%29.aspx) (hasta donde he visto no han cambiado las constantes)

OJO: En Windows 8 sea 32bits o 64bits yo por mi parte NO USARE VB6 estare usando en lo personal C/C++, C# y/o Java u otro que me agrade VB6 como dijiste lo dejo para Win XP, pero como aun tiene soporte en Win 7...

* Windows Vista es un asco desde el principio y en todo da problemas no solo a las APP creadas en VB6 o me equivoco? (lo digo por que me dio problemas con el Photoshop, DVDPlayer, varios Video Juegos, entre otra cosillas).

Lo que si veo que cambia mucho en los S.O. W$ son algunas estructuras por ejemplo PEB difiere mucho de una arquitectura de 32 a una de 64 al igual que la longitud de los punteros por decir algunos ejemplos.

* Hay apis que en efecto llegan a cambiar... pero tambien hay APIS que se agregan por ejemplo QueryIdleProcessorCycleTime


Lenguajes hay para el mundo y hasta en javascript puedes hacer todo lo que haces en visual basic, pero anda a hacer un photoshop en vbscript o javascript usando windows form.


mmm solo se me ocurre darle una pistola a VBScript y javascript ( Por que son Scripts y dicho comentario esta un tanto fuera de lugar ya que esta IMPLICITO que los scripts no sirven para algo tan choncho ).

* Si fuera para diseño grafico es mas razonable (Y NADIE LO NIEGA) que es mejor usar un lenguaje que te permita y de mas acceso a la memoria y si es posible (recomendado) programacion Paralela y por Hilos, VB6 no permite tanto, NO esta diseñado para ello.


Ahora hay sistemas muy muy grandes ERP que estan hechos en visual basic como el softland y son la porqueria mas grande que jamas se ha visto pero son los mas comprados y es porque nadie mas sabe hacer programas administrativos tan completos, pero no quiere decir que sean buenos o estables, de hecho en la ultima empresa wue estuve me toco administrar un servidor con un erp en vb6 y era un dolor de cabeza porque todo funcionaba mal y se quejaba por todo y era un desastre y funcionaba con mmsql server 2008, las relaciones de datos de la db son pesimas y hay campos duplicados por todos lados.


Una cosa es la BDD y otra el lenguaje y OTRA LA LIBRERIA DE ACCESO como DAO u ADO, aclarando que DAO ya esta obsoleta y ADO es lo que se usa actualmente(hasta donde he podido ver)... si el programador sabia como era un sistema ERP pero no tenia una practica de programacion, es INJUSTIFICABLE echarle la culpa al lenguaje por culpa de un mal programador o diseño del programa es como si yo le quisiera echar la culpa a C tan solo por que el programa es MALO o el APP se queja por mil y un cosas (cosa que ya me a pasado con 1st javascript Editor y nunca le heche la culpa al lenguaje... pero si al(los) desarrollador(res)).

Por otro lado para que sea mas maleable un APP para manejar o que tenga una cceso a varias BDD yo usaria el sistema ODBC... si era Java usaria JDBC para evitarme algunos conflictos...


Yo se que si seba123neo hubiera programado softland hubiera ido de maravilla pero no se hasta que puno sea tan confiable como una aplicación mas robusta hecha en otro lenguaje y mas escalable.

Por ejemplo hay gente que hace foros en asp y access pero yo no le confiaría eso a una empresa a pesar de que pueda funcionar bien.


Se que seba123neo te dira lo mismo que yo ACCESS es una ***** para usarla como BDD.

Igual se programar en vb6, tube mi infancia en ese lenguaje y me divertí mucho, también se vb.net, c# y un poco de java pero el dia en que tenga que hacer una aplicación seria no lo haré en vb6

En eso concuerdo, de hecho yo la crearia en C/C++ o C# ya que me permite programar con conceptos que me han GUSTADO DEMASIADO y que vb6 carece y me parecen alguna manera Exitantes, que me intuyen y me atrapan mas (me hacen gustar del desarrollo de una manera mas Amena y simple desde mi punto de vista claro).

Pero todo es cuestion de Opiniones y del nivel de Critica que tenga cada uno, VB6 lo uso para jugar ahora, C/C++ lo uso para exitarme laboralmente!¡.

Dulces Lunas!¡.


Título: Re: ¿Como hacen los progrmas los profesionales?
Publicado por: adastra en 6 Noviembre 2011, 20:22 pm
De acuerdo con todos, sin embargo sigo opinando que para hacer un programa profesional, con unos mínimos de calidad, no utilizaría de ningún modo VB6, pero vamos, es una cuestión de opiniones nada más. VB6 me parecía una chapuza hace años cuando lo use por primera vez y hoy en día mi opinión no ha cambiado, precisamente porque no he recibo argumentos validos que justifiquen su uso por parte de sus "defensores", pero es simplemente mi opinión, cada cual tiene la suya y aconseja lo que puede dependiendo de sus experiencias.


Título: Re: ¿Como hacen los progrmas los profesionales?
Publicado por: BlackZeroX en 6 Noviembre 2011, 22:21 pm
No me habia leido esto...

1. Un sistema "grande" tal como lo expones es una medida subjetiva. Que es para ti grande?
2. El hecho de que un sistema sea "grande" no lo convierte en un sistema estable, seguro, robusto, escalable y eficiente.
3. Las funcionalidades que ofrece VB se cuentan con los dedos y no se pueden comparar con la potencia que ofrece la API de lenguajes como Java o cualquiera de los que se encuentran incluidos en el framework de .NET
4. No hay que olvidar que VB6 tiene ya más de 15 años, en su tiempo era malo y hoy en día, no hay razón ni siquiera para enseñarlo en las escuelas...

1.- Un app que tenga mas de 5 modulos o funcionabilidades y este en combinacion con otros sistemas.
2.- Un sistema depende de su diseño al igual de si el diseño permite que sea o no escalable (No pretendras hacer un sistema con access y c verdad, y despues intentar extenderlo si solo repites codigo y tu dice no contempla extensiones de diseño no contemplados).
3.- Eso esta a discucion... una cosa es UN FRAMEWORK y otra un API que de hecho en VB6 puedes ocupar el API de Windows... pero comparar lenguajes me parece una tonteria ya que cada uno tiene RUMBOS distintos por ejemplo es como si quisiera comparar javascript con C o ASM, es una tonteria.
4.- Cobol tiene mas años y es anticuado o malo como dices respecto a los paradigmas, en pocas palabras no tiene que ser un lenguaje malo por su edad, sera mejor que des un tipo de argumento valido.

Citar

Ventajas

    Posee una curva de aprendizaje muy rápida.
    Integra el diseño e implementación de formularios de Windows.
    Permite usar con facilidad la plataforma de los sistemas Windows, dado que tiene acceso prácticamente total a la API de Windows, incluidas librerías actuales.
    Es uno de los lenguajes de uso más extendido, por lo que resulta fácil encontrar información, documentación y fuentes para los proyectos.
    Fácilmente extensible mediante librerías DLL y componentes ActiveX de otros lenguajes.
    Posibilita añadir soporte para ejecución de scripts, VBScript o JScript, en las aplicaciones mediante Microsoft Script Control.
    Tiene acceso a la API multimedia de DirectX (versiones 7 y 8). También está disponible, de forma no oficial, un componente para trabajar con OpenGL 1.1.7
    Existe una versión, VBA, integrada en las aplicaciones de Microsoft Office, tanto Windows como Mac, que permite programar macros para extender y automatizar funcionalidades en documentos, hojas de cálculo, bases de datos (access).
    Si bien permite desarrollar grandes y complejas aplicaciones, también provee un entorno adecuado para realizar pequeños prototipos rápidos.

Inconvenientes

Las críticas hechas en las ediciones de Visual Basic anteriores a VB.NET son variadas,8 se citan entre ellas:

    Problema de versionado asociado con varias librerías runtime DLL, conocido como DLL Hell
    Pobre soporte para programación orientada a objetos9
    Incapacidad para crear aplicaciones multihilo, sin tener que recurrir a llamadas de la API de Windows.
    Dependencia de complejas y frágiles entradas de registro COM10
    La capacidad de utilizar controles en un solo formulario es muy limitada en comparación a otras herramientas. DLL Hell DB, Libro Programando en Visual Basic,2002


Fuente: https://secure.wikimedia.org/wikipedia/es/wiki/Visual_Basic

De acuerdo con todos, sin embargo sigo opinando que para hacer un programa profesional, con unos mínimos de calidad, no utilizaría de ningún modo VB6,

Opino lo mismo (No usaria minimos de calidad nunca)... pero en si el sistema ya esta hecho ni modo.

Dulces Lunas!¡.


Título: Re: ¿Como hacen los progrmas los profesionales?
Publicado por: pucheto en 7 Noviembre 2011, 19:35 pm
De acuerdo con todos, sin embargo sigo opinando que para hacer un programa profesional, con unos mínimos de calidad, no utilizaría de ningún modo VB6, pero vamos, es una cuestión de opiniones nada más. VB6 me parecía una chapuza hace años cuando lo use por primera vez y hoy en día mi opinión no ha cambiado, precisamente porque no he recibo argumentos validos que justifiquen su uso por parte de sus "defensores", pero es simplemente mi opinión, cada cual tiene la suya y aconseja lo que puede dependiendo de sus experiencias.
La calidad del software depende mas del proceso de desarrollo ( Especificación de requerimientos, Testing, Diseño, etc ) y no del lenguaje de programación que uno elija.
A que llamas un software de calidad ? en que contexto ?

( Eso no quita que el lenguaje no sea lindo, por lo menos para mi, tiene una sintaxis horrorosa )


Título: Re: ¿Como hacen los progrmas los profesionales?
Publicado por: BlackZeroX en 7 Noviembre 2011, 20:05 pm
Eso no quita que el lenguaje no sea lindo, por lo menos para mi, tiene una sintaxis horrorosa

La mayoria de los lenguajes se parece en base la sintaxis... aun que si por ejemplo no me gusta cobol solo por su sintaxis...

Dulces Lunas!¡.


Título: Re: ¿Como hacen los progrmas los profesionales?
Publicado por: adastra en 7 Noviembre 2011, 20:07 pm
La calidad del software depende mas del proceso de desarrollo ( Especificación de requerimientos, Testing, Diseño, etc ) y no del lenguaje de programación que uno elija.
A que llamas un software de calidad ? en que contexto ?

( Eso no quita que el lenguaje no sea lindo, por lo menos para mi, tiene una sintaxis horrorosa )


un sistema profesional a día de hoy tiene que ser como minimo estable, seguro, robusto, escalable, eficiente y en algunas ocasiones, independiente de plataforma (esto último no siempre, depende de las necesidades concretas del cliente y de las especificaciones de requerimientos), estas características no son alcanzables con VB6, así de simple, (nuevamente, es una opinión personal). Normalmente los "analistas" y "diseñadores" de software que solo pican UML suelen decir cosas como  "la calidad es independiente del lenguaje de programación y lo más importante es el diseño y el testing", eso es un grave error que se ha ido expandiendo de una forma homogénea y global, supongamos lo siguiente:
tienes un equipo de 10 programadores muy experimentados en VB6, conocen perfectamente el lenguaje y no hay ninguna laguna en sus conocimientos sobre dicho lenguaje. Desarrollan un ERP.
tienes un equipo de 10 programadores muy experimentados en C, conocen perfectamente el lenguaje y no hay ninguna laguna en sus conocimientos sobre dicho lenguaje. Desarrollan el mismo ERP con los mismos requisitos funcionales, no funcionales, planes de pruebas y la misma metodología de desarrollo y se ejecutan en maquinas con las mismas restricciones de HW.
Cual de los dos productos crees que tu que será mejor? cual será más escalable? más robusto? más seguro y eficiente? cual será más optimo?
Esto es como lo que decía alguien atrás sobre "que no se puede comparar C y VB6" favoreciendo obviamente a C, esta claro que la herramienta con la que desarrolles es muy importante, no vas a poder construir un ferrari con las mismas herramientas que utilizas para construir un skoda... creo que el punto de lo que quiero decir esta claro.
Partiendo de esa premisa aun crees que el lenguaje de programación en el que esta escrito un programa no importa?
desde mi punto de vista, el lenguaje de programación en el que esta escrito una aplicación, es simplemente una característica vital.


Título: Re: ¿Como hacen los progrmas los profesionales?
Publicado por: BlackZeroX en 7 Noviembre 2011, 20:17 pm
estas características no son alcanzables con VB6, así de simple, (nuevamente, es una opinión personal).

con eso me quedo.

Partiendo de esa premisa aun crees que el lenguaje de programación en el que esta escrito un programa no importa?
desde mi punto de vista, el lenguaje de programación en el que esta escrito una aplicación, es simplemente una característica vital.

Cual de los dos productos crees que tu que será mejor? cual será más escalable? más robusto? más seguro y eficiente? cual será más optimo?

Define cada uno, despues los discutimos por que asi no convenses a nadie.

Dulces Lunas!¡.


Título: Re: ¿Como hacen los progrmas los profesionales?
Publicado por: BlackZeroX en 7 Noviembre 2011, 20:33 pm
Por ejemplo:

 * Escalabilidad-> Como es el mismo diseño ambos tienen esa misma propidad (Sin emcabio si el codigo es desastrozo, poco se podra hacer independientemente del lenguaje P.j: Codigo Repetido, ).
 * Robustes-> Independientemente del Lenguaje, Depende mas del diseño ya que el codigo es solo una representacion del diseño en algo funcional de algo para lo que es mas eficiente mas algo mas adaptable, seguro mas optimo... y estas caracteristicas dependen mucho del diseño.
 * Seguridad y Eficencia-> Segun las practicas de cada programador es decir del como maneje los errores de cada uno y a como actue cada uno ante ellos, y en la seguridad de datos segun sea el diseño del protocolo de datos y como este el diseño de resguardo ante cada uno de ellos.
 * Optimo-> El que se adapte a las nesesidades establecidas y si los requisitos son menores que mejor no? y si es mas rapido uff.


Normalmente los "analistas" y "diseñadores" de software que solo pican UML suelen decir cosas como  "la calidad es independiente del lenguaje de programación y lo más importante es el diseño y el testing", eso es un grave error que se ha ido expandiendo de una forma homogénea y global, supongamos lo siguiente:


No nos hagas suponer danos argumentos.

Dulces Lunas!¡.


Título: Re: ¿Como hacen los progrmas los profesionales?
Publicado por: seba123neo en 7 Noviembre 2011, 20:38 pm
forma homogénea y global, supongamos lo siguiente:
tienes un equipo de 10 programadores muy experimentados en VB6, conocen perfectamente el lenguaje y no hay ninguna laguna en sus conocimientos sobre dicho lenguaje. Desarrollan un ERP.
tienes un equipo de 10 programadores muy experimentados en C, conocen perfectamente el lenguaje y no hay ninguna laguna en sus conocimientos sobre dicho lenguaje. Desarrollan el mismo ERP con los mismos requisitos funcionales, no funcionales, planes de pruebas y la misma metodología de desarrollo y se ejecutan en maquinas con las mismas restricciones de HW.

bueno tomando tu ejemplo, ahora preguntate esto ¿ cuanto tardan en crear el sistema ERP los programadores de C y cuanto los de visual basic ?

y estas poniendo un ejempo bastante grande, supongamos una empresa chica, que no tiene 10 sino 3 programadores geniales en VB6 y los otros en C, para hacer un ERP con esa cantidad de programadores en el de visual basic 6 podes estar años minimo 2 para que sea funcional, estamos hablando de sistemas de por lo menos mas de 500 pantallas, base de datos con cientos de tablas, cientos de clases, modulos con miles y miles de lineas.

si el de visual basic tarda años y en teoria es lo mas facil que hay, los de C/C++ y bueno...cuando tenga 70 años, que me avisen...

uno de los mejores ERP Tango Gestion (que esta realizado en .NET), asi y todo yo si te pongo uno bueno en visual basic 6 se puede hacer lo mismo y ni vas a notar la diferencia en funcionalidades, los de tango lo hacen, bueno nosotros lo hacemos en VB6 tambien.

esto no es una pelea haber quien programa mas rapido, solo es una observación de lo que puede llegar a ser encarar un ERP con esos 2 lenguajes, ni es una critica a C/C++, que todos sabemos que es lo mas potente que hay. pero sea o no potente hay empresas que igual lo hicieron en VB6 y no hay problema con eso, los clientes estan contentos y tiene todo lo que necesitan, ¿ optimizarlo ? siempre se puede optimizar mas.

he visto cada sistema ERP pedorro que yo digo como puede ser que sea "tan famoso", puede estar hecho en lenguajes potentes, pero si tiene una planificacion horrible de bases de datos el sistema es lento y no tiene conparación en velocidad con otros en el acceso a los datos, por ejemplo uno que use MySQL o SQL Server contra esos sistemas de bases de datos que son motores personalizados con archvios .dat e .idx de terceros que son lentisimos. y te puedo asegurar que este que te estoy hablando es uno de los mas usados y famosos de argentina, sin embargo su sistema de bases de datos apesta y es super lento, se llena con un poco de datos y hacer un select a la tabla olvidate, tada minutos.

saludos.









Título: Re: ¿Como hacen los progrmas los profesionales?
Publicado por: adastra en 7 Noviembre 2011, 20:44 pm
Un buen programador en C, no tardará tanto en programar como dices, lo mismo pasa con Java, se suele decir que es más difícil hacer cualquier cosa en Java y requiere muchas lineas de código, un buen programador en Java, reutilizará código y hará un sistema flexible. Lo mismo pasa en C/C++ tal vez cuando dejes de programar en lenguajes "visuales" puedas apreciar la diferencia.


Título: Re: ¿Como hacen los progrmas los profesionales?
Publicado por: BlackZeroX en 7 Noviembre 2011, 20:50 pm
.
Si se programa en C/C++ sin usar nada ajeno a el como el framework QT, wxWidgets, etc... es eterno el diseño de la GUI, luego que si los Memory Leaks.

por otro lado hay algo que se llama PRODUCTIVIDAD.

Nota: Es hemoso C/C++... cuando no te haces bolas tu solo (Experiencia propia).

Dulces Lunas!¡.


Título: Re: ¿Como hacen los progrmas los profesionales?
Publicado por: seba123neo en 7 Noviembre 2011, 20:53 pm
Lo mismo pasa en C/C++ tal vez cuando dejes de programar en lenguajes "visuales" puedas apreciar la diferencia.

te dije post antes que programo tambien en Java y progamo para Android tambien.


Título: Re: ¿Como hacen los progrmas los profesionales?
Publicado por: x64core en 7 Noviembre 2011, 20:54 pm
REFLEXION: MIGRAR A C++


Título: Re: ¿Como hacen los progrmas los profesionales?
Publicado por: seba123neo en 7 Noviembre 2011, 20:55 pm
REFLEXION: MIGRAR A C++

jaja si cerrado el tema, ahora le digo a los jefes eso y me rajan de una patada  :P


Título: Re: ¿Como hacen los progrmas los profesionales?
Publicado por: Sh4k4 en 7 Noviembre 2011, 21:01 pm
(http://3.bp.blogspot.com/-rjOy4CsYEcs/TZqHEWRB-UI/AAAAAAAAAQg/LE_2e1vLJjQ/s1600/historia-web-brownsers.bmp)

jaja para que sepan la verdad como hacen los grandes programillas... mujajaja

no es trolleada es humor naaa mas.  ;D


Título: Re: ¿Como hacen los progrmas los profesionales?
Publicado por: x64core en 7 Noviembre 2011, 21:15 pm
yo vine tarde  :D :xD
bueno mi opinion :)
Yo pienso que depende de la aplicacion que programaras asi tiene uno que elegir el lenguaje
no por gusto hay varios lenguajes de programacion :P Y como dicen por ahi por eso mismo hay que aprender a programar en varios
lenguajes de programacion y tambien porque algunos lenguajes ya se estan quedando en el pasado como VB6 ,  si ahora hay un foro especifico para el, dentro de 5 años QUIZA solo abra un sub-foro si es que ya no abra nada especifico para el :P no se diga dentro de 10 años :P yo estoy aprendiendo aun VB6 pero jamas pienso quedarme con el, lo que si es cierto es que me a ayudado a comprender rapidamente lenguajes que estoy aprendiendo como C++ , PHP .
quiza a unos digan que VB es malo porque te deja un mal costumbre en programacion por ejemplo en la sensibilidad de mayusculas
y minusculas comparado con C++ pero al menos a mi, eso no ah sido problema solo me acostumbro a escribir bien en VB y asi no tengo problemas en otro lenguajes :P
y pienso que el futuro es C++,PHP,.NET,ASM,JAVA tambien otros pero se especializan un poco distinto :P Android....
un programador que sepa programaar perfectamente en esos lenguaje creo que no tendra problema en nada segun
en programacion :P
opniones ;D


Título: Re: ¿Como hacen los progrmas los profesionales?
Publicado por: Queta en 7 Noviembre 2011, 21:53 pm
¿Y no creen que la reflexión más acertada es usar el lenguaje que necesites, y se adapte más a tus necesidades, en aquel momento?


Título: Re: ¿Como hacen los progrmas los profesionales?
Publicado por: x64core en 7 Noviembre 2011, 21:55 pm
¿Y no creen que la reflexión más acertada es usar el lenguaje que necesites, y se adapte más a tus necesidades, en aquel momento?

+1 , eso mismo dije/digo ;D


Título: Re: ¿Como hacen los progrmas los profesionales?
Publicado por: BlackZeroX en 8 Noviembre 2011, 03:51 am
¿Y no creen que la reflexión más acertada es usar el lenguaje que necesites, y se adapte más a tus necesidades, en aquel momento?

Es lo que dije desde un principio... Revisar PROS y CONTRAS y Definir que lenguaje usar, pero somos unos tercos a la de a Benito juarez y tenemos que decir X, Y cosa de un lenguaje solo por que no nos parece o tenemos una Ignorancia respecto a el... pero con esa simpe y acertada opinion se resuleve esto o que creen?...

REFLEXION: MIGRAR A C++

Para lagunos para otros no.

Dulces Lunas!¡.


Título: Re: ¿Como hacen los progrmas los profesionales?
Publicado por: WHK en 8 Noviembre 2011, 16:42 pm
Hola,

Sobre las constantes no habra problema debido a que hasta ahora no se han modificado pero si agregado mas de este modo nativamente en VB6 si seria un problema esto tiene una solucion usando las apis con sus constantes respectivas de este modo NO habra ningun problema... de hecho NO HAN CAMBIADO (Lo he comprobado en el IDE) o diferido las constantes internas de vb6 con las del S.O., lo que si es que sE HAN AGREGADO MAS CONSTANTES que por obvias razones en vb6 no existen de manera nativa, pero eso tiene solucion (No quiero defender VB6 en este aspecto solo quiero aclarar este punto y/o extenderlo de una manera mas documentada).

Por ejemplo usar GetFileAttributes function (http://msdn.microsoft.com/en-us/library/windows/desktop/aa364944%28v=vs.85%29.aspx) + File Attribute Constants (http://msdn.microsoft.com/en-us/library/windows/desktop/gg258117%28v=vs.85%29.aspx) (hasta donde he visto no han cambiado las constantes)

Si han cambiado bastante y por lo mismo a veces he tenido problemas con muchas funciones y he tenido que crear una especie de framework en un bas para compatibilizar funciones con xp y 7 como por ejemplo:

Código
  1. Public Function Is_Dir(Ruta As String) As Boolean
  2. On Error GoTo error
  3. ' El atributo en Windows XP es
  4. ' 16: Archivo normal
  5. ' 22: Unidad de almacenamiento
  6. ' El atributo en Windows 7 es
  7. ' 17: Archivo normal
  8. ' 65558: Unidad de almacenamiento
  9. If _
  10.  GetAttr(Ruta) = 16 Or _
  11.  GetAttr(Ruta) = 17 Or _
  12.  GetAttr(Ruta) = 22 Or _
  13.  GetAttr(Ruta) = 65558 _
  14. Then
  15.  Is_Dir = True
  16. Else
  17.  Is_Dir = False
  18. End If
  19. Exit Function
  20. error:
  21. Is_Dir = False
  22. End Function

Ahora anda a saber que valores tendrán en windows 8.

Por ejemplo:

 * Escalabilidad-> Como es el mismo diseño ambos tienen esa misma propidad (Sin emcabio si el codigo es desastrozo, poco se podra hacer independientemente del lenguaje P.j: Codigo Repetido, ).

Me vas a disculpar pero ahi discrepo porque para mi visual basic podrá ser todo lo util que quieras y hacerte una bomba si quieres pero no es para nada escalable porque si yo mañana hago una aplicación en visual basic y se lo entrego a una empresa en un svn entonces va a ser medio complicado que dicha empresa pueda gastar dinero en encontrar "buenos" programadores en visual basic 6 porque ningún programador serio va a gastar tiempo en gastar dinero para estudiar un lenguaje que no vale la pena, de hecho ninguna institución de enseñanza media y avanzada te enseñan visual basic, si te enseñan pascal para aprender basic pero es diferente porque solo te enseñan sintaxis, pero al momento de aprender a programar te enseñan cosas como java y c++ para orientarse a objetos mayormente y es una de las filosofias de php4 y 5 con respecto a las versiones anteriores y perl.

O sea, muchos saben programar en vb6 pero es como si preguntaras quien sabe programar en autoit, muchos aficionados saben y lo mas probable es que te encuentres un experto en autoit pero no vas a hacer una casa de barro por mejor que lo sepas hacer, algiuen que quiere pagar por una casa contrata a alguien que lo haga de material solido y si, antes las casas eran de barro y funcionaban bien pero no voy a llevar a vivir a mi familia a una casita de barro teniendo los recursos para estar en un departamento, lo mismo creo que piensan la mayoría de los que si pagan por desarrollar aplicaciones.

O sea, en el mundo laboral entra a cualquier pagina de freelance o pregunta a cualquier empresa que se dedique a cualquier tipo de desarrollo, son muy pocos los que aun persisten con visual basic y cada dia se van extinguiendo mas por muy bonito o exitante que sea usarlo.

Pero bueno, esto tiene pinta del tipico post flamewar donde no llegamos a ningun lado xD pero igual se han sacado bastantes conclusiones con respecto al tema y no veo que mas se pueda aportar acá, ya muchos tienen claro que para aplicaciones grandes debes usar aplicaciones de mas bajo nivel u orientadas a objeto como java, c++ o .net pero no quiere decir que visual basic pueda o no pueda hacer "cosas".

Citar
REFLEXION: MIGRAR A C++
La verdad es que yo tampoco migraría a c++ sino lo veo mas bien como una posibilidad para aprender y hacer aplicaicones como la gente pero ahora mismo estoy aprendiendo otros lenguajes que no derivan para nada del c como python/gtk


Título: Re: ¿Como hacen los progrmas los profesionales?
Publicado por: BlackZeroX en 9 Noviembre 2011, 04:08 am
Hola,

Si han cambiado bastante y por lo mismo a veces he tenido problemas con muchas funciones y he tenido que crear una especie de framework en un bas para compatibilizar funciones con xp y 7 como por ejemplo:

Código
  1. Public Function Is_Dir(Ruta As String) As Boolean
  2. On Error GoTo error
  3. ' El atributo en Windows XP es
  4. ' 16: Archivo normal
  5. ' 22: Unidad de almacenamiento
  6. ' El atributo en Windows 7 es
  7. ' 17: Archivo normal
  8. ' 65558: Unidad de almacenamiento
  9. If _
  10.  GetAttr(Ruta) = 16 Or _
  11.  GetAttr(Ruta) = 17 Or _
  12.  GetAttr(Ruta) = 22 Or _
  13.  GetAttr(Ruta) = 65558 _
  14. Then
  15.  Is_Dir = True
  16. Else
  17.  Is_Dir = False
  18. End If
  19. Exit Function
  20. error:
  21. Is_Dir = False
  22. End Function

Ahora anda a saber que valores tendrán en windows 8.

OSO OSO MENTIROSO

lo que te retorna GetAttr() y GetFileAttributes function() es lo mismo, un LONG donde albergan los atributos y para consultar dichos atributos debes hacer mascaras de bits...

UN LONG PUEDE ALBERGAR 32 ESTADOS O FLAGS y COMO ES LOGICO CONBINARLOS ENTRE SI PARA OBTENER NUEVOS ESTADOS ( hablo de un long de 32 bits... en uno de 64 puede meter 64 estados/flags y es la misma marrana solo que en otro cochinero ).

17 = FILE_ATTRIBUTE_DIRECTORY or FILE_ATTRIBUTE_READONLY
17 = 16 or 1

es decir un directorio sera FILE_ATTRIBUTE_DIRECTORY... y como es logico un directorio solo se lee... no se escribe... es por ello que es 17 ( FILE_ATTRIBUTE_DIRECTORY or FILE_ATTRIBUTE_READONLY ) un gran acierto para W$ 7...

En si lo que debes hacer CORRECTAMENTE es esto para verificar si es una carpeta (Ignorando cualquier otro atributo):

Código
  1.  
  2. Public Function exitsPath(ByRef sRuta As String) As Boolean
  3. On Error Resume Next
  4.    exitsPath = GetAttr(sRuta)
  5.    Err.Clear
  6. End Function
  7.  
  8. Public Function isDir(ByRef sRuta As String) As Boolean '// Funciona en cualquier W$
  9.    If (exitsPath(sRuta)) Then
  10.        isDir = ((GetAttr(sRuta) And vbDirectory) = vbDirectory)
  11.    End If
  12. End Function
  13.  
  14.  

Revisa ATENTAMENTE cada valor de las CONSTANTES y veras que CADA VALOR es un bit de un long DISTINTO... en la MSDN lo dice claramente...

Es por ello que con SetAttr() puedes pasarle combinaciones de attributos a un archivo y ademas de que ya tiene por deault el atributo de FILE_ATTRIBUTE_ARCHIVE le puedo setear tambien FILE_ATTRIBUTE_SYSTEM, FILE_ATTRIBUTE_READONLY y FILE_ATTRIBUTE_HIDDEN

de esta manera:

Código
  1.  
  2. SetAttr sRuta, FILE_ATTRIBUTE_ARCHIVE or FILE_ATTRIBUTE_SYSTEM or FILE_ATTRIBUTE_READONLY or FILE_ATTRIBUTE_HIDDEN
  3.  
  4.  

y GetAttr() me RETORNARA ESAS CONSTENTES EN UN SOLO valor tipo LONG y PARA COLSULTARLAS SOLO TENGO QUE APLICAR MASCARAS como ya lo he dicho anterior mente...

un ejemplo (Puedes cambiar la ruta por una carpeta o lo que quieras funciona de la misma manera):

Código
  1.  
  2. Private Sub Form_Load()
  3. Dim sRuta       As String
  4.    sRuta = "c:\file.txt"
  5.    MsgBox IIf(((GetAttr(sRuta) And FILE_ATTRIBUTE_HIDDEN) = FILE_ATTRIBUTE_HIDDEN), "Es un archivo visible", "Es una rchivo Oculto")
  6.    SetAttr sRuta, (GetAttr(sRuta) Or FILE_ATTRIBUTE_HIDDEN)     '   //  Le dejamos los atributos que ya tenia pero le agregamos el atributo oculto.
  7.    MsgBox IIf(((GetAttr(sRuta) And FILE_ATTRIBUTE_HIDDEN) = FILE_ATTRIBUTE_HIDDEN), "Es un archivo visible", "Es una rchivo Oculto")
  8.    SetAttr sRuta, (GetAttr(sRuta) Xor FILE_ATTRIBUTE_HIDDEN)    '   //  Le dejamos los atributos que ya tenia pero le quitamos el atributo oculto.
  9. End Sub
  10.  
  11.  

y es los mismo que

Código
  1.  
  2. Private Sub Form_Load()
  3. Dim sRuta       As String
  4.    sRuta = "c:\file.txt"
  5.    MsgBox IIf(((GetFileAttributes(sRuta) And vbHidden) = FILE_ATTRIBUTE_HIDDEN), "Es un archivo visible", "Es una rchivo Oculto")
  6.    SetFileAttributes functionsRuta, (GetFileAttributes(sRuta) Or FILE_ATTRIBUTE_HIDDEN)     '   //  Le dejamos los atributos que ya tenia pero le agregamos el atributo oculto.
  7.    MsgBox IIf(((GetFileAttributes(sRuta) And vbHidden) = FILE_ATTRIBUTE_HIDDEN), "Es un archivo visible", "Es una rchivo Oculto")
  8.    SetFileAttributes sRuta, (GetFileAttributes(sRuta) Xor FILE_ATTRIBUTE_HIDDEN)    '   //  Le dejamos los atributos que ya tenia pero le quitamos el atributo oculto.
  9. End Sub
  10.  
  11.  

y como es de esperarse FUnCIONA EN WIN XP, VISTA; 7 y FUNCIONARA EN W$ 8 (y si no me cotro un webo).

Un dato Or de VB6 no maneja un Or de sentencia... es un OR de Operacion BINARIA... es decir el resultado que retorne uno se le hace una operacion binaria a nivel bit por ende TODA la premisa es evaluada aun que solo ya haya salido alguna verdadera... en pocas palabras NO es el or normal (como en C)... es un or de operaciones binarias...

Mirate esto...
http://foro.elhacker.net/programacion_visual_basic/vb6_es_tonto-t340559.0.html;msg1669513#msg1669513

Como dije solo se HAN AGREGADO no he visto ninguna constante DOCUMENTADA que se haya cambiado... aun asi No importa ya te di una solucion a un problema que ignorabas!¡.

---------------------------

Lo de la Escalabilidad esta a discucion y nunca llegaremos a un acuerdo o tu que crees?, sea VB6, C/C++, Cobol (No hay muchos programadores de este lenguaje... y aun asi es usado), Foltran, etc... cada uno tiene PROS y CONTRAS.

Dulces Lunas!¡.


Título: Re: ¿Como hacen los progrmas los profesionales?
Publicado por: adastra en 9 Noviembre 2011, 16:36 pm
Vamos a ver, lo que han preguntado es muy claro "Como se hacen los programas los profesionales?"
No han pedido clases de VB6.


Título: Re: ¿Como hacen los progrmas los profesionales?
Publicado por: BlackZeroX en 9 Noviembre 2011, 18:52 pm
Vamos a ver, lo que han preguntado es muy claro "Como se hacen los programas los profesionales?"
No han pedido clases de VB6.

Desde cuando argumentar, diferir y/o aclarar un comentario es dar una clase?... yo sabia que era defender un aspecto... si no sabes como se hace eso es TIPICO que saltes con este tipo de comentarios. Los ejemplos los pude haber puesto en C y NO IMPLICA QUE ESTE DANDO UNA CLASE ni defendiendo un lenguaje o me equivoco?.

Código:

#include <stdio.h>
#include <windows.h>
#include <WinDef.h>
#include <WinBase.h>

int main()
{
    const char FileName[] = "c:\\file.txt";
    DWORD   dwRet = 0;

    dwRet = GetFileAttributesA((LPCSTR)FileName);

    if (( dwRet & FILE_ATTRIBUTE_HIDDEN) == FILE_ATTRIBUTE_HIDDEN) {    //  se puede obviar == FILE_ATTRIBUTE_HIDDEN
        printf ("Es un archivo Invisible atributos: %d\n", dwRet);
    } else {
        printf ("Es un archivo visible atributos: %d\n", dwRet);
    }

    SetFileAttributesA ((LPCSTR)FileName, (dwRet | FILE_ATTRIBUTE_HIDDEN));
    dwRet = GetFileAttributesA((LPCSTR)FileName);

    if (( dwRet & FILE_ATTRIBUTE_HIDDEN) == FILE_ATTRIBUTE_HIDDEN) {    //  se puede obviar == FILE_ATTRIBUTE_HIDDEN
        printf ("Es un archivo Invisible atributos: %d\n", dwRet);
    } else {
        printf ("Es un archivo visible atributos: %d\n", dwRet);
    }

    SetFileAttributesA ((LPCSTR)FileName, (dwRet ^ FILE_ATTRIBUTE_HIDDEN));
    dwRet = GetFileAttributesA((LPCSTR)FileName);

    printf ("El archivo se quedo con los atributos: %d\n", dwRet);

    return EXIT_SUCCESS;
}


Si te molesta que ARGUMENTE sobre UN PUNTO ERRADO de alguien mas dando y fundamentando mi aclaracion pues ya es alguna cosa SICOTICA tuya.

Dulces Lunas!¡.


Título: Re: ¿Como hacen los progrmas los profesionales?
Publicado por: adastra en 9 Noviembre 2011, 19:21 pm
 :huh:
Sin comentarios... no voy a escribir nada más en este tópico, ya nos hemos salido bastante del tema, prefiero seguir dedicado en mis estudios (que estan enfocados en algo mucho más serio que vb6).


Título: Re: ¿Como hacen los progrmas los profesionales?
Publicado por: x64core en 9 Noviembre 2011, 19:26 pm
mis estudios (que estan enfocados en algo mucho más serio que vb6).

 :rolleyes:


Título: Re: ¿Como hacen los progrmas los profesionales?
Publicado por: BlackZeroX en 9 Noviembre 2011, 19:32 pm
prefiero seguir dedicado en mis estudios (que estan enfocados en algo mucho más serio que vb6).

 :xD eso espero :silbar: hare lo mismo y me ire a estudiar otros lenguajes, que como dijo WHK esto tiene pinta de FlameWar...

Dulces Lunas!¡.


Título: Re: ¿Como hacen los progrmas los profesionales?
Publicado por: WHK en 10 Noviembre 2011, 01:05 am
Tienes razón blackzerox, no tomé en cuenta as sumas y operadores para los atributos de los archivos y por eso tomaba los valores como si fuera una unica constante cuando no era así, algo similar al intentar hacer un msgbox con valores numericos en ves de sumar constantes para poder crear la caja con los botones y el icono.

De todas formas ¿la pregunta inicial quedó mas que clara no?


Título: Re: ¿Como hacen los progrmas los profesionales?
Publicado por: prometheus48 en 22 Noviembre 2011, 20:20 pm
Entonces los programadores profesionales usan C++, C y JavA?
Salu2!


Título: Re: ¿Como hacen los progrmas los profesionales?
Publicado por: pucheto en 23 Noviembre 2011, 02:43 am
Entonces los programadores profesionales usan C++, C y JavA?
Salu2!
No, usan el lenguaje que les convenga segun la situacion.


Título: Re: ¿Como hacen los progrmas los profesionales?
Publicado por: prometheus48 en 23 Noviembre 2011, 08:25 am
OK todo claro chicos  :D
Hasta luego!!
 ;) ;) ;) ;) ;) ;)
Salu2!