Está en la página 1de 18

C# & VB.

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,…

 Con ambos lenguajes podemos tener proyectos


exitosos

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

 En perspectiva si la organización cuenta con


técnicos VB podría ganarse cierto tiempo en
formación al optar por VB.NET, debe cuidarse de
emplear apropiadamente los nuevos elementos de
arquitectura y orientación a objetos.
 C# es una propuesta que parte de cero, es mas
estricto y exigente en sintáxis, esta exigencia forma
a los miembros del equipos de programación

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

Source Language Code (IL)


Assembly
Code Compiler Metadata

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;

Dim i As Integer = 7 int i = 7;

Dim i(6) As Integer int[] i = new int[6];


or
Dim i() As Integer = New
Integer(6) {}

Dim con As SqlConnection SqlConnection con;

Dim x As New Y("ABC") x = new Y("ABC");


or
Dim x As Y = New Y("ABC")

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

Decision structure If … Then, ElseIf if, else


(if … then) … Then, Else, End
If
Loop structure While… End While, do, while, continue
(conditional) Do [While, Until]
…, Loop [While,
Until]
Loop structure For …, [Exit For,] for, foreach
(iteration) Next
For Each …, [Exit
For,] Next
Control flow Exit,Stop, End, break, continue,
statement Return, return,
throw
alex.sanchez@logicstudio.ne
Anotaciones finales
 Los nuevos proyectos de computación, Windows,
Móvil, Web, XML son desafios técnicamente cada
vez más complejos que requieren la utilización
apropiada de la técnología, la sintáxis del lenguaje
que empleamos es un elemento más a considerar,
seleccionemos el que sea más compatible con
nuestra capacidad actual y los planes de
crecimiento de la organización o del mercado

 La figura del arquitecto de software se encargara de


diseñar el sistema y sus componentes, de aplicar
patrones y mejores prácticas para que el equipo de
desarrolladores (en el lenguaje que se determine)
implemente la solución correcta.

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

© 2003 Microsoft Corporation. All rights reserved.


This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.

alex.sanchez@logicstudio.ne

También podría gustarte