VB6 vs DELPHI vs FreePascal vs C#.NET
By: Date: diciembre 10, 2007 Categories: Programación

Causo mucho revuelo mis comentarios y articulo de que Visual Basic 6 es malo para el medio ambiente, mi argumento es que consume mucho tiempo del procesador obligándolo a chupar más energía electrica para hacer tareas relativamente sencillas.

Mi argumento es simple, puedes programar lo que sea con visual basic 6, pero no deberías hacerlo. Usa otro lenguaje.

A nivel código es malo, no tiene objetos y apenas y es estructurado por convicción no por obligación.

Ahora, ya no voy a decir solamente que Visual Basic es un mal lenguaje, voy a demostrarlo.

Para este ejemplo hice un programa en visual basic 6 que un loop de un millón y medio de veces sumando una variable y actualizando una barra de progreso, y anidado 5 niveles el mismo bucle.

Luego reescribí el programa en otros 2 lenguajes mas y que fueron compilados en 3 diferentes compiladores.

C#
Delphi, Delphi compilado con Delphi versión 2 y el mismo programa compilado con FreePascal

Siendo Visual Basic el más lento de la contienda, deje que iniciara primero, considerando la lentitud de C# lo inicie en segundo lugar y los delphis (pascales) al final

Como se puede ver en el video, aunque visual basic inicia en primer lugar con clara ventaja de tiempo es el último programa en llegar al final con un retardo más que claro, lo mas irónico del asunto es que un lenguaje que se esperaría fuera de los lentos o tal vez el más lento por estar ejecutado en una maquina virtual el C# es el primero en terminar, casi igualando el tiempo delphi, considerare hacer mas desarrollos en C# después de esta experiencia.

Según mi Rank

C# y Delphi son los mas veloces
Freepascal
Visual Basic

En esta carrera no compite C, pero al final la intención es demostrar lo ineficiente que es Visual Basic 6, tal vez alguien más quiera hacer otro artículo donde la meta sea sacar el lenguaje más veloz a la hora de ejecutarse.

Para comprobar que no se hizo trampa en el código, el código lo dejo aquí, a disposición y puede ser compilado por quien tenga los compiladores requeridos para rehacer la prueba que hice.

18 thoughts on “VB6 vs DELPHI vs FreePascal vs C#.NET

  1. Usa: Mozilla Firefox Mozilla Firefox 2.0.0.11 en Windows Windows XP - Detectado...

    Muy buen test, logicamente el C se los llevaria de calle, pero creo que el punto era probar la lentitud del Visual Basic en relacion a los otros.

    Saludos y haber cuanto tiempo tardan en llover los trolls, je je.

  2. Usa: Mozilla Firefox Mozilla Firefox 2.0.0.9 en Windows Windows XP - Detectado...

    hola , bueno mira lastdragon yo no estoy de acuerdo , ese problema lo soluciono creando un par de threads y seguro queda mucho mas rapido que los otros programas.
    jajaja asi que deja de hablar mal de visual basic sin razon

  3. Usa: Mozilla Firefox Mozilla Firefox 2.0.0.11 en Ubuntu Linux Ubuntu Linux - Detectado...

    EN ASSEMBLER ESO IRIA A LA VELOCIDAD DE LA LUZ XD
    EN C A LA DEL SONIDO
    EN DELPHI A LA DE LA BICICLETA
    EN MIERDA BASIC IRIA A LA VELOCIDAD DE LA ABUELITA DE MEGABYTE CON DIARREA XD

  4. Usa: Internet Explorer Internet Explorer 7.0 en Windows Windows Vista - Detectado...

    un ejemplo estaria bien oyrxv

    estoy hablando de hilos que son diferentes al control timer, como ejemplo C# usando las librerias windowsform tiene un timer, pero… ademas tiene hilos.

  5. Usa: Mozilla Firefox Mozilla Firefox 2.0.0.9 en Windows Windows XP - Detectado...

    aca hay un ejemplo agrega 2 formularios , 1 modulo y 1 class

    en el form 1 agrega un command y este codigo

    Private Sub Command1_Click()
    On Error Resume Next
    Dim Z As Class1
    Set Z = CreateObject(“Project1.Class1”)
    End Sub

    ahora en el modulo

    Declare Function FindWindow Lib “user32” Alias “FindWindowA” (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

    Sub Main()
    Dim formulario1 As Form1
    Dim ventana As Long
    ventana = FindWindow(vbNullString, “Form1”)
    If ventana = 0 Then
    Set formulario1 = New Form1
    formulario1.Show
    Set formulario1 = Nothing
    End If
    End Sub

    ahora en el class

    Private Sub Class_Initialize()
    Dim formulario2 As New Form2
    formulario2.Show
    Set formulario2 = Nothing
    End Sub

    y listo es el ejemplo mas simple y el que mejor funciona.

  6. Usa: Internet Explorer Internet Explorer 7.0 en Windows Windows Vista - Detectado...

    oyrxv
    mmm estas hablando de codigo de VB.NET o de Visual Basic 6, de todas formas. esta incompleto el codigo no es 100% VB

    Mas tarde intentare compilar eso en un VB6 y veremos que pasa…

    lo de que no es codigo 100% VB es por que estas importando funciones de una dll en este caso la user32, osea estas usando el api findwindow eso no es parte del lenguaje.

    Los demas lenguajes que soportan hilos lo hacen con sus propias librerias sin importar apis externas.

  7. Usa: Mozilla Firefox Mozilla Firefox 2.0.0.9 en Windows Windows XP - Detectado...

    es vb 6 y esta completo y se usa api porque es un ActiveX exe y de esa forma le indicas que formulario queres que se abra primero , el form principal.
    si compilado y vas a ver que funciona perfectamente.

  8. Usa: Opera Opera 9.80 en Windows Windows XP - Detectado...

    me quedo con Delphi
    Visual es para aprender a programar, Delphi es cuando se aprende a programar
    visual es algo basico, por algo lo llamaran Visual Basic..XD
    ademas no se trara de solo la lentitud de Visual, sino de lo cerrado que es, Delphi lo puedes utilizar en C,PASCAL,PHP, puedes hasta revolverle algo de assembler si lo deseas, y creo que hablan de un compilador para 64 !!!

  9. Usa: Mozilla Firefox Mozilla Firefox 4.0.1 en Windows Windows 7 - Detectado...

    Hola a todos, solo quería comentar que vb.net tiene la velocidad (por lógica) de C#.Net, y luego está python.

    Claro que un lenguaje interpretado como los .Net o Python son mucho más lentos que un compilado. Pero asunto aparte, hacer una app, con vb.net puede ser mucho más productivo que con C#, siempre depende de qué estemos programando. 🙂

    Saludos, Dios los bendiga.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *