C# y VB.NET

02/04/2004 - 01:19 por dohko | Informe spam
Buenas palomillapregunta a los MVP.ho a calquiera que me pueda
constar lo siguiente...

Saben donde puedo encontrar documentacion que me diga las ventajas,
beneficios, pros y contras de usar C#
y lo mismo sobre VB.NET

que ventajas tendria al usar C# que no tendira en el VB.NET o si
desarrollo una aplicacion en VB.NET que beneficios
tendria pero que pros tendria al usar VB.NET y no C# una comporacion
entre los dos lenguajesque lenguaje usar...

esto biene porque vamos a comenzar a emigar el sistema a .net es un sistema
gigantesco y este esta desarrollado con VB y VC
vb para el diseño y vc para todo lo operacional ...

ahora en una junta me comentaron usar el c# para lo operacional...para todo
lo fuerte del sistema y usar vb.net para el entorno grafico...
ahora mi respuesta fue que con C# tengo todo el poder de bajo nivel que
tengo con VC pero que tambien se tiene la flexibilidad que se tiene
con el VB6.

ahora que opinion tienen hacerca de estodonde puedo encontrar
documentacion que pueda consultar

saludos y gracias por su tiempo...

Preguntas similare

Leer las respuestas

#1 JEOCD
02/04/2004 - 22:43 | Informe spam
La idea detrás de .Net conforme a los lenguajes es que no
existan ventajas explícitas al utilizar uno u otro para
el desempeño de los programas o por sus características.

Todos los lenguajes de .Net escriben un código
intermedio, investiga un poco más sobre CLR (Common
Language Runtime). Por esta razón los lenguajes en .Net
gozan de las mismas capacidades.

En general la elección del lenguaje tiene que ver más con
tu personal, si la mayoría de tus programadores trabajan
con VB es más sencillo que trabajen en esa base.

VB esta pensado como lenguaje para que sea muy sencillo,
mucha gente lo utiliza actualmente.

C# es un lenguaje NUEVO, un estandar (ECMA), la ventaja
de C# en general es que al ser nuevo muchas de las
herramientas o artificios de programación que se han
utilizado en los últimos años son parte del lenguaje y
tienes palabras clave como event, interface, foreach, etc
que te dan una sintaxis sencilla para aprovechar las
caracterísitcas del CLR.
C# soporta código marcado como unsafe que permite hacer
algunas manipulaciones de "bajo nivel" pero realmente NO
es un lenguaje de más bajo nivel, para eso tendrías que
utilizar VC++.Net si REALMENTE necesitas trabajar en bajo
nivel.

VC++ con Extensiones Administradas, hoy es C++ con
algunas extensiones básicamente algunas palabras
reservadas nuevas para escribir con el framework de .Net,
C++ si tiene algunas ventajas sobre los otros lenguajes:

Puedes mezclar código administrado (.Net) y código nativo
Es el único que permite código nativo completo, manejo de
memoría, etc, aunque es mucho más dificil trabajar en el
y la mezcla de código administrado y no administrado no
es una tarea sencilla.

Los lenguajes se pueden mezclar con facilidad, la verdad
te recomiendo que dejes a tus programadores de VB en
VB.NET y creo que sería bueno que tus programadores
actuales de VC lo hagan todo en C# de ser posible, la
sintaxis es parecida.

Saludos

Ernesto
Respuesta Responder a este mensaje
#2 Pedro Luna Montalvo
03/04/2004 - 17:25 | Informe spam
Saludos Ernesto:

Todos los lenguajes de .Net escriben un código
intermedio, investiga un poco más sobre CLR (Common
Language Runtime). Por esta razón los lenguajes en .Net
gozan de las mismas capacidades.



Una observacion sobre estosi bien todos los lenguajes implementados
sobre el CLR tienen acceso a las mismas capacidades del mismo, nadie obliga
a que todos los lenguajes implementen todos estos elementos.

Pongo algunos puntos de diferencia entre C# y VB.NET:

1. Parametros opcionales en metodos
2. Propiedades con parametros
3. Sobrecarga de operadores
4. Sentencia ReDim [Preserve] en VB.NET
5. Sentencias "as" o clausula "using" de C#, creo (no estoy seguro) que no
tienen equivalentes en VB.NET

Estos tópicos son menores, y podemos aprender a vivir con o sin ellos,
perfectamente, pero hay otros que son de cuidado, como el siguiente que lo
vi en una revista hace algun tiempo (juro que la busque, pero no la
encuentro para hacer referencia a la fecha):

Código en C#:

using System;

class Padre {
public void Metodo(int dato) {
Console.WriteLine("Parametro entero: {0}", dato);
}

public void Metodo(string dato) {
Console.WriteLine("Parametro string: {0}", dato);
}
}

class Hijo : Padre {
public void Metodo(object dato) {
Console.WriteLine("Parametro object: {0}", dato);
}
}

class PruebaApp {
static void Main() {
Hijo o = new Hijo();
o.Metodo(10); // entero
o.Metodo("prueba"); // string
o.Metodo(1010.101); // object
}
}


Código en VB.NET:

Imports System

Class Padre
Public Sub Metodo(ByVal dato As Integer)
Console.WriteLine("Parametro entero: {0}", dato)
End Sub

Public Sub Metodo(ByVal dato As String)
Console.WriteLine("Parametro string: {0}", dato)
End Sub
End class

Class Hijo
Inherits Padre

Public Overloads Sub Metodo(ByVal dato As Object)
Console.WriteLine("Parametro object: {0}", dato)
End Sub
End Class

Class PruebaApp
Shared Sub Main()
Dim o As New Hijo()
o.Metodo(10) ' entero
o.Metodo("prueba") ' string
o.Metodo(100.1) ' object
End Sub
End Class



Estos códigos son "equivalentes" (si cometi algun error, mis disculpas, lo
escribi directamente), pero las salidas son diferentes:

C#:
Parametro object: 10
Parametro object: prueba
Parametro object: 1010.101


VB.NET:
Parametro entero: 10
Parametro string: prueba
Parametro object: 100.1


El compilador de C# busca el metodo que mejor se ajuste a una sobrecarga en
la clase derivada, y no encuentra ninguna, procede a retroceder por la
jerarquia de herencia.

El compilador de VB.NET, busca el mejor metodo del conjunto completo de
implementaciones de la clase derivada y sus clases base.

Saludos,

Pedro Luna
Gye, Ecu
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida