Programando en Visual Basic 6 sobre Java: Jabaco

Si ya sé muchos odian VB, pero me llamó la atención este programa.

Es demasiado parecido al original VB6, salvo algunas diferencias, la más importante es que corre sobre la máquina virtual de java (necesitas instalarla antes de usarlo).

Conserva muchos de los controles clásicos como Text, List, Combo, etc. Puedes crear archivos .bas, clases, y controles.

Creo que hasta corre más rápido que el original (según yo). Tiene las mismas estructuras de control como:

  • For..Next
  • If..Then..Else
  • While...Wend
  • Select Case...

Puedes enlazar tus programas a cualquier base de datos, convertir los proyectos de VB6 a Jabaco.

Algunos ejemplos.

1. Un login muy sencillo (sin BD)

Public Sub Command1_Click()
Dim nombre, clave As String
nombre=Trim(Text1.Text): clave=Trim(Password1.Text)
If nombre = "" Or clave = "" Then
MsgBox "Usuario y/o clave no deben" & vbCrLf & "ser campos vacíos", vbCritical, "Aviso del
sistema"

Else
If nombre = "admin" And clave = "4321" Then
Form1.Close
Else
MsgBox "Usuario y/o clave " & vbCrLf & "no coinciden", vbCritical, "Aviso del sistema"
Text1.Text = "": Password1.Text = ""
End If
End If
End Sub

Public Sub Form_Load()
Me.Caption="::Login::"
End Sub

2. Factorial

Public Sub Command1_Click()
Dim x,Resultado As Integer
x=CDbl(Text1.Text)
If x=0 Then
MsgBox"No se permiten valores iguales a cero", vbCritical,"Aviso del sistema"
Else
Resultado=Factorial(x)
MsgBox Resultado,vbOKOnly,"Resultado"
If vbOKOnly.compareTo(True) Then Text1.Text=""
End If
End Sub

Function Factorial(x) As Integer
If x=0 Then
Factorial=1
Else
Factorial=x*Factorial(x-1)
End If
End Function

3. Números pares e impares

Dim resto,i As Integer
Dim max As Integer

resto=: i=0: max=99
...
...

While (i<max)
       resto=i Mod 2

Select Case resto

Case 0:
List1.AddItem(i)& "es par"

Case Else:
List1.AddItem(i)& "es impar"

End Select

Wend

Visual Basic se niega a morir ¿no creen?.

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ezamudio

usos

Pues si se pueden migrar facilmente proyectos de VB6 (con visual studio por ejemplo) a jabaco, creo que es una muy buena manera de portar aplicaciones existentes.

Microsoft acaba de anunciar que van a liberar el lenguaje VB6, lo van a poner en CodePlex, no he visto bajo que licencia, pero pues seguramente este proyecto se puede beneficiar de ello.

Pero si creo que si quieres usarlo para crear software nuevo, necesitas ayuda psicologica profesional urgentemente.

¿Cómo está eso de Jabaco?

Una duda que siempre he tenido de Jabaco es si funciona cómo los lenguajes de programación alternos (Groovy, Scala, JRuby, Jython y compañía)...O si es un framework que te permite ejecutar y (por tanto) portar código sobre la JVM. De ser así tendríamos un VB muy flexible y extendible (¿existe la palabra extendible?), además de multiplataforma.

Bueno, pues espero y @Sr. Negativo pueda responder mis dudas.

Imagen de Sr. Negativo

Ayuda psicológica

ja ja ja

Buen chiste. Ya sé que muchos odian VB (sobre todo los javeros).

@whismaster77 pueder ver el sitio http://www.jabaco.org/ para responder tus dudas.

Re: Ayuda psicológica

Viendo eso me ya no me agradó. Pensé que era algo tipo Scala, Groovy, etc. pero con VB 6 y por lo tanto el poder de dicha plataforma se veía tremendo. Ya viéndola bien, pues es usar una versión gratuita de VB6, por lo que te permite compatibilidad con algunas cosas de VB, pero no puedes hechar mano de todo lo disponible en Java (porque Jabaco es el compilador, no la JVM).

No sé, es un proyecto que no entiendo su razón de ser. Interesante, pero algo extraño desde mi perspectiva.

Imagen de Shadonwk

Ami me gusta Java y no odio

Ami me gusta Java y no odio VB, por que gracias a VB aprendi a programar, algunos tienen mala opinion sobre VB, pero siento que es un buen lenguaje para descubrir quienes de los que quieren ser programadores tienen el don o simplemente dicen que lo tienen..

¿Gracias a VB aprendí a programar?

mmm, considero que decir: "Aprendí a programar", es algo ambiguo. Si bien la programación viene de la lógica y el análisis, el talento de un programador nato lo ves al pedirle que resuelva algo y lo hace de manera ordenada, sencilla y "sin complicarse".

Yo también di mis pininos con VB 6 y pues me dejó algo entre bueno y malo. Lo bueno, pues le perdí el miedo a sistemas en red, compartiendo bases de datos, etc...Lo malo es las prácticas que se lleva(ba)n, en VB 6 nunca vi algo estándar, siempre "juan" hacía cosas cómo le parecía, "hector" también echaba cosas "de su cosecha", "yo" hacía lo que podía...y así, la verdad los proyectos más raros que he visto son con VB 6.

El don del programador se ve cuando le dices: "Quiero que hagas ${algo} en ${lenguaje}" y sin reparos te responde: "Ok."...Porqué conozco a más de un .Netero, Visual Basicquero y Foxero que sin su lenguaje no te hacen nada.

Hay una frase que dice: "Existen los programadores y los usuarios de IDE".

Imagen de Nopalin

@WhishmasterViendo eso me ya

@Whishmaster
Viendo eso me ya no me agradó. Pensé que era algo tipo Scala, Groovy, etc. pero con VB 6 y por lo tanto el poder de dicha plataforma se veía tremendo

Hmmm no se que leiste o entendiste tu, pero en la pagina de inicio el primer comentario dice:
You write sourcecode similar to VB6 and with Jabaco you can compile it to bytecode which is similar to the output of the Java programing language

Que tu escribes con sintaxis similar a VB6, pero la salida es en bytecodes (los utilizados por la máquina virtual). No se que tan completo es el IDE de Jabaco, pero de que es similara Scala, Groovy y demas lenguages lo es, por que incopora un compilador que te da bytecodes.

sobres

Re: @Whishmaster Viendo eso me ya

Pues dice que también que no es la JVM el compilador sino Jabaco mismo; de hecho para desarrollar en Jabaco no necesitas el JDK sólo el JRE...Cosa que en Scala y Groovy SI es necesario el JDK:

Jabaco is the compiler, not Java - with Jabaco you have everything you need to compile your applications. To run it on your system, you only have to install the newest Java Runtime Environment (JRE).

Encontrado en la liga que ha dejado Sr. Negativo.

Imagen de ezamudio

scripting

Al menos para Groovy creo que el JDK se necesita para scripting solamente; si compilas tus clases de Groovy, no veo por qué no se puedan ejecutar en un JRE...

Re: scripting

No me di a entender bien.

El rollo es que para desarrollar en Groovy necesitas el JDK...ya compilado no hay bronca corre con el JRE. En cambio con Jabaco el compilador es Jabaco que corre sobre el JRE -que de igual manera- ya compilado pues no importa ya corre sobre el JRE.

Imagen de ezamudio

oh

OK ahora si ya entendí. No tengo una máquina con puro JRE para probar, de modo que no sé si se pueda desarrollar en Groovy con puro JRE, ya que trae su propio compilador, pero no sé si requiera tener javac a la mano o si compila a bytecode sin ayuda del compilador de Java...

Re: oh

Así ser. Y según yo no se puede desarrollar groovy sólo con JRE, necesitas el JDK...O al menos eso dice la documentación.

Mi primer post

Me parece excelente este tipo de proyectos, ya que acercan a nuevos programadores y no solo eso sino a personas completamente nuevas a la programación. Si bien como mencionan VB(classic) tenia muchos detalles no podemos negar que fue el inicio de una basta generación de programadores que ahora usan herramientas más profesionales que permiten desarrollar de una manera flexible pero además segura.

Yo inicie con C y despues en un trabajo me pusieron a hacer interfaces de usuario con VB y las dll con C++ y la neta es que la rapides de los proyectos era muy buena para ese tiempo.