Documentos de Académico
Documentos de Profesional
Documentos de Cultura
net
Alex Sánchez
Logic Studio Panamá
MCAD – MVP VB.NET
alex.sanchez@logicstudio.net
alex.sanchez@logicstudio.ne
Agenda
C# y VB.NET
Perspectiva gerencial
Perspectiva de programación
Estadísticas
alex.sanchez@logicstudio.ne
“Si bien existen diferencias entre Visual Basic
.NET y Visual C# .NET, ambos son lenguajes de
programación de primera clase basados en el
Microsoft .NET Framework."
alex.sanchez@logicstudio.ne
Perspectiva Gerencial
alex.sanchez@logicstudio.ne
Perspectiva gerencial
C# y VB.NET son dos de los lenguajes de
programación mas difundidos en .NET
Para un proyecto al que se le establece un
solo diseño/arquitectura, la funcionalidad
que se codifique en C# o VB.NET puede
llegar a ser equivalente
Elementos a considerar, modelo conceptual
de ambos lenguajes, background del equipo
de programadores, oferta profesional y
tendencias.
alex.sanchez@logicstudio.ne
Conozcamos C# y VB.Net
Ambos leguajes se fundamentan en:
Modelo de programación orientado a objetos
Implementados sobre el dotnet framework
Código seguro,
Soporte a aplicaciones Web, Windows, Móvil,…
alex.sanchez@logicstudio.ne
Resumen comparativo
VB.NET
Tiene una sintáxis similar a VB6
Primera impresión de camino de transición del equipo de
programadores VB6
Debe cuidarse sacar provecho a la OO y Arquitectura
Reglas del lenguaje opcionales por omisión
Se recomienda trabajar declarando variables y sin
conversiones de datos implícitas
C#
Tiene una sintáxis similar a C o Java
Opción natural para programadores con experiencia en
OO
Debe cuidarse la sobre Ingeniería
IDE mas simple (2005 mejorado), reglas del
lenguaje estrictas (no hay opción)
Toda variable debe ser declarada, las conversiones de
datos son explicitas, sensible a mayúsculas
alex.sanchez@logicstudio.ne
Consideraciones
Recursos
Perfil del equipo de desarrollo
Entrenamiento
Oferta
Profesionales y Centros de Entrenamiento
alex.sanchez@logicstudio.ne
Perspectiva de Programación
alex.sanchez@logicstudio.ne
Perspectiva del programador
C# y VB.NET tienen sintáxis diferente, ¿Cómo son
equivalentes?
Imports Entidades using Entidades;
Namespace LogicaNegocio.VBNet namespace LogicaNegocio.CSharp
Public Class Facturacion {
‘ Obtiene el subtotal por fila public class Facturacion
Public Function Totalizar(ByVal ds As _ {
DatasetFacturacion) /* Obtiene el subtotal por fila */
Dim total = 0 public decimal Totalizar(DatasetFacturacion ds)
Dim dr As _ {
DatasetFacturacion.Order_DetailsRow decimal total = 0;
Dim i = 0 DatasetFacturacion.Order_DetailsRow dr = null;
For i = 0 To ds.Order_Details.Rows.Count - 1 for (int i=0; i<ds.Order_Details.Rows.Count;i++)
dr = ds.Order_Details.Rows(i) {
dr.Subtotal = dr.UnitPrice * dr.Quantity dr = ds.Order_Details.Rows[i] as
DatasetFacturacion.Order_DetailsRow;
total += dr.Subtotal
dr.Subtotal = dr.UnitPrice * dr.Quantity;
Next
total += dr.Subtotal;
Return total
}
End Function
return total;
End Class
}
End Namespace
}
}
alex.sanchez@logicstudio.ne
CLR
Tiempo de Compilación
Native JIT
Code Compiler Cuando invocamos la
funcionalidad se
Tiempo de Ejecuciónj compilará
alex.sanchez@logicstudio.ne
Declaración de Variables
Visual Basic .NET Visual C# .NET
Dim i, j As Integer int i, j;
alex.sanchez@logicstudio.ne
Bloques
Visual Basic .NET Visual C# .NET
A = 5 A = 5;
B = 7 : C = 8 B = 7; C = 8;
MySub (Arg1, _ MySub (Arg1,
Arg2, _ Arg2,
Arg3) Arg3);
If A = 5 Then If (a == 5)
DoSomething() {
DoSomethingAgain() DoSomething();
End If DoSomethingAgain();
}
or
if (a == 5)
DoSomething();
DoSomethingAgain();
alex.sanchez@logicstudio.ne
Operadores
Operador Visual Basic .NET Visual C# .NET
Básicos + - * / + - * /
Comparación <> !=
Corto Circuito AndAlso &&
OrElse ||
Comentarios ‘ /*
*/
o
//
alex.sanchez@logicstudio.ne
Control de Flujo
Conditional Statement Visual Basic .NET Visual C# .NET
Decision structure Select Case …, switch, case,
(selection) Case, Case Else, default,
End Select
alex.sanchez@logicstudio.ne
Mas información
http://lab.msdn.microsoft.com/express/vcs
http://support.microsoft.com/default.aspx?
http://msdn.microsoft.com/library
alex.sanchez@logicstudio.ne
Gracias por asistir
recuerde completar su encuesta
alex.sanchez@logicstudio.net
alex.sanchez@logicstudio.ne