Estas son sus diferentes presentaciones para que tengan claro como van a adquirir el producto sin complicaciones de ningun tipo.
Visual Basic 6 y anteriores VS Visual Basic.Net
Ambas son aplicaciones de Microsoft. Pero Visual Basic 6 fue ideado para desarrollar aplicaciones de escritorio, mientras que .NET, como su nombre lo indica tiene soporte para desarrollos web. La filosofía entre ambos programas ha evolucionado tanto que muchas personas consideran un error no considerarlos totalmente independientes. La sintaxis es muy similar, pero VB6 es un sistema orientado a eventos, mientras que .NET lo es orientado a objetos. Por otro lado la plataforma de .NET es mucho más moderna y ofrece muchas más prestaciones que Visual Basic 6, que Microsoft ya descontinuó y para la cual ya no ofrece soporte. Desde el 2001 Microsoft ha propuesto abandonar el desarrollo basado en la API Win32 y pasar a trabajar sobre un framework o marco común de librerías independiente de la versión del sistema operativo, .NET Framework, a través de Visual Basic .NET
Las diferencias entre ambas plataformas son significativas, las mas notables son:
Visual Basic 6.0 y anteriores
- Lenguaje interpretado o pseudo interpretado (depende de la versión)
- Al ser interpretado es muy lento.
- Limitado o capado en algunas acciones delicadas como programación multihilo (Multithreading)
- Limitado a plataformas Windows.
- En futuras plataformas quizás no tenga soporte o no sea compatible. (En el 2008 se dejara de dar soporte a esta versión del lenguaje)
Visual Basic .NET
- Lenguaje pseudocompilado, un paso intermedio entre pseudointerpretado y compilación total.
- Código mucho más rápido. El código generado es tan rápido como el que genera C# o ASP.NET ya que el código final es el mismo sea el lenguaje que sea de la plataforma .NET.
- Código a medida de la maquina. Cuando ejecutas por primera vez el programa este se autocompila adaptándose a las exigencias del equipo optimizando lo máximo posible el código final.
- Mucha más libertad en cuanto a desarrollo al no estar tan limitado o capado como su antecesor.
- Nativamente destinado a plataformas Windows, gracias al proyecto MONO los programas generados con .NET pueden correr en sistemas Linux, MacOS, Solaris y varios más.
- Integración completa con sus hermanos C# y ASP.NET pudiendo conectar código entre programas.
- Preparado para las nuevas tecnologías, tanto PC's como dispositivos móviles y mas sistemas, y nuevas versiones de Windows
Visual Basic 6.0 y anteriores
- Lenguaje interpretado o pseudo interpretado (depende de la versión)
- Al ser interpretado es muy lento.
- Limitado o capado en algunas acciones delicadas como programación multihilo (Multithreading)
- Limitado a plataformas Windows.
- En futuras plataformas quizás no tenga soporte o no sea compatible. (En el 2008 se dejara de dar soporte a esta versión del lenguaje)
Visual Basic .NET
- Lenguaje pseudocompilado, un paso intermedio entre pseudointerpretado y compilación total.
- Código mucho más rápido. El código generado es tan rápido como el que genera C# o ASP.NET ya que el código final es el mismo sea el lenguaje que sea de la plataforma .NET.
- Código a medida de la maquina. Cuando ejecutas por primera vez el programa este se autocompila adaptándose a las exigencias del equipo optimizando lo máximo posible el código final.
- Mucha más libertad en cuanto a desarrollo al no estar tan limitado o capado como su antecesor.
- Nativamente destinado a plataformas Windows, gracias al proyecto MONO los programas generados con .NET pueden correr en sistemas Linux, MacOS, Solaris y varios más.
- Integración completa con sus hermanos C# y ASP.NET pudiendo conectar código entre programas.
- Preparado para las nuevas tecnologías, tanto PC's como dispositivos móviles y mas sistemas, y nuevas versiones de Windows
Algunas diferencias sintácticas importantes que hacen diferente la nueva versión de Visual Basic .NET de su antecesor Visual Basic 6.0.
Todas las llamadas a subrutinas requerirán el empleo de paréntesis.
VB:
MsgBox "Hola mundo"
VB .NET:
MsgBox("Hola mundo")
ByVal o ByRef son obligatorias
En Visual Basic .NET, tendrás que calificar todos los parámetros de subrutinas utilizando ByVal o ByRef.
En Visual Basic .NET, tendrás que calificar todos los parámetros de subrutinas utilizando ByVal o ByRef.
VB:
Sub ActualizarInfoCliente(NombreCliente As String)
End Sub
VB .NET:
Sub ActualizarInfoCliente(ByRef NombreCliente As String)
End Sub
Parámetros de sucesos
Los parámetros de sucesos son diferentes en Visual Basic 6 y en Visual Basic .NET. En Visual Basic 6, la subrutina de suceso contiene el nombre y el tipo de cada parámetro. En Visual Basic .NET los parámetros están asociados en un objeto EventArgs y se pasan como una referencia a dicho objeto. Además, la subrutina de suceso asociada con un suceso de Visual Basic .NET incluye una referencia al objeto que puso en marcha el suceso.
Por ejemplo en un formulario que contenga un control ListBox con el código asociado para mostrar cuál es el elemento que se encuentra seleccionado.
Los parámetros de sucesos son diferentes en Visual Basic 6 y en Visual Basic .NET. En Visual Basic 6, la subrutina de suceso contiene el nombre y el tipo de cada parámetro. En Visual Basic .NET los parámetros están asociados en un objeto EventArgs y se pasan como una referencia a dicho objeto. Además, la subrutina de suceso asociada con un suceso de Visual Basic .NET incluye una referencia al objeto que puso en marcha el suceso.
Por ejemplo en un formulario que contenga un control ListBox con el código asociado para mostrar cuál es el elemento que se encuentra seleccionado.
VB:
Private Sub List1_ItemCheck(Item As Integer)
MsgBox "Ha seleccionado el elemento: " & Item
End Sub
VB .NET:
Private Sub CheckedListBox_ItemCheck(ByVal sender As Object,_
ByVal e As System.Windows.Forms.ItemCheckEventArgs)_
Handles CheckedListBox1.ItemCheck
MsgBox ("Ha seleccionado el elemento: " & e.Index)
End Sub
Las matrices no pueden tener una dimensión negativa
No podrás declarar una matriz en Visual Basic .NET para que el primer elemento de la misma tenga un índice negativo. Este requisito significa también que no podrás utilizar la instrucción Option Base 1. De hecho, no podrás especificar una dimensión inferior en una declaración de una matriz, ya que siembre deberá ser cero.
No podrás declarar una matriz en Visual Basic .NET para que el primer elemento de la misma tenga un índice negativo. Este requisito significa también que no podrás utilizar la instrucción Option Base 1. De hecho, no podrás especificar una dimensión inferior en una declaración de una matriz, ya que siembre deberá ser cero.
VB:
Dim MyIntArray(-10 To 10) As Integer '21 elementos
Dim MyStringArray(1 To 100) As String '100 elementos
Option Base 1
Dim MyOptionBaseArray(5) As Long '5 elementos (1 - 5)
VB.NET
Dim MyIntArray(20) As Integer '21 elementos (0 - 20)
Dim MyStringArray(99) As String '100 elementos (0 - 99)
'Option Base 1 'No admitido en VB .NET
Dim MyOptionBaseArray(4) As Long '5 elementos (0 - 4)
No se pueden utilizar cadenas de longitud fija
Visual Basic .NET no permite el empleo de cadenas de longitud fija.
Visual Basic .NET no permite el empleo de cadenas de longitud fija.
VB:
Dim MiCadena As String * 32
VB .NET:
Dim MiCadena(32) As Char
Se ha eliminado el tipo de datos Variant En Visual Basic .NET se ha eliminado el tipo de datos Variant. El motivo principal es que .NET Framework no soporta de forma nativa el tipo Variant ni ninguna otra cosa que se le parezca. La aproximación más parecida que ofrece .NET Framework es el tipo Object. El tipo Object funciona de forma similar al tipo Variant porque el tipo Object es el tipo base de todos los demás tipos, tales como Integer y String. Al igual que podías hacer con un elemento Variant podrás asignar cualquier tipo a un Object. Sin embargo, en Visual Basic .NET si deseas convertir una variable del tipo Variant (Object en .NET) en un tipo Integer o String, tendrás que utilizar una función de conversión de tipo, tal como CInt o CString.
VB:
Dim v As Variant
Dim s As String
v = "La variable Variant contiene una cadena"
s = v
VB .NET:
Dim v As Object
Dim s As String
v = "La variable Variant contiene una cadena"
s = CStr(v)
Aqui les dejo las diferencias que existen entre estos dos lenguajes de programacion tanto en la sintaxis como en la ejecucion, espero le sea de gran ayuda...
ResponderEliminarl
ResponderEliminar