VB.NET vs C#

Es kann nicht fast jeder. Die, die VB können, steigen nicht auf VB.NET um, weil sich die meisten nicht mit der OOP beschäftigen wollen.

Für Einsteiger ist VB.NET sicherlich einfacher zu lernen. Auch sind manche Dinge mit VB.NET einfacher zu realisieren als beispielsweise mit C#.

Generell wird C# jedoch als professionellere Sprache angesehen, da die Syntax von Java, C++ etc. abgeleitet wurde, also eine C-ähnliche Syntax bietet.

Für die Programmierung mit dem .NET Framework macht das allerdings keinen Unterschied, da die gleichen Klassen verwendet werden und nahezu die gleiche Funktionalität gegeben ist, wobei hier in einigen Bereichen sogar Vorteile für VB.NET herschen.

Daher würde ich behaupten, dass es hier um eine Religionsfrage geht bzw. welche Syntax einem besser liegt.
 
Moin :)

azubi2 hat gesagt.:
Meinst du damit, dass VB.net einen schlechten Ruf hat, weil es fast jeder kann?

VB.Net leidet leider unter dem Ruf seiner Vorgänger...
"Noo.bsprache", "Langsam", blablabla, die gängigen Vorurteile halt (Ok, bis .Net warens vllt keine Vorurteile ^^)
Mit Einführung von VB.Net hat sich die Funktionalitäöt von VB in meinen Augen allerdings weit verbessert und es ist wirklich nur noch eine Religionsfrage, wobei mir persönlich vom "Anschauen" (Ich gugg mir fremden Code an ^^) auch C# besser gefällt, da die Syntax meiner Meinung nach strukturierter ist... However, VB hat nen gewaltigen Sprung gemacht seit vb6 und imho muss sich keiner (mehr) schämen, mit VB zu proggen :)
 
Zuletzt bearbeitet:
Ja, VB.NET leidet unter dem Ruf seines Vorgängers VB6.
Mal abgesehen von dem Ruf, gab es auch im proffessionellem Hintergrund sehr gute Gründe VB6 als Programmiersprache einzusetzen.
Da es auch Abhänig was für ein Projekt durchgeführt wurde, welche Anforderungen und welches Budget zur Verfügung steht (Zeit und Kosten).
Gerade für Datenbankoberflächen war dort VB6 sehr gut geeignet. Die Geschwindigkeit und ein Teil Logik wird von der Datenbank übernommen.
Das Programmieren der Oberfläche war schnell, einfach und daher Produktiver.

In vielen Fällen ist VB besser lesbarer als der C-Dialekt.
Variablendeklaration:
vb: Dim MeinAuflistungsObjekt As AuflistungsObjekt
c#: Auflistungsobjekt MeinAuflistungsobjekt;

In VB wird das Ende von Funktionen, Klassen Schleifen eindeutig gekennzeichnet, in C-Dialekten ist es immer eine geschweifte Klammer}.

vb
Code:
...
Public Function Iteration(ByVal BasisWert As Int32, ByVal Anzahl as Int32) As Int32
Dim Zaehler As Int32
    For Zaehler=1 To Anzahl
        BasisWert += 1
    Next
End Function
End Class

C#
Code:
...
public Int32 Iteration(Int32 BasisWert, Int32 Anzahl ) 
    
    Int32 Zaehler

    for(Zaehler=1;Zaehler++;Zaehler>=Anzahl)
    {
         BasisWert += 1
    }
} 
} // Ende Klasse

Ich gebe zu das Beispiel ist recht sinnfrei und recht einfach, stellt aber doch die Lesbarkeit ganz gut gegenüber.
Mal abgesehen davon das es Möglich ist im C# Dialekt eine Klasse in einer Zeile zu schreiben, was natürlich die Lesbarkeit unheimlich erhöht ;)
 
:eek: Ich wollte jetzt aber hier keinen War auslösen :rolleyes:
mage hat gesagt.:
In vielen Fällen ist VB besser lesbarer als der C-Dialekt.
Ja, deiner Meinung nach. ;)
Meiner Meinung nach nicht. :rolleyes: Wie gesagt, meine Meinung. :p
Ich hab mit VB6.0 angefangen. Da ich aber irgendwann an meine Grenzen stieß,
und was objektorientiertes machen wollte, hab ich mich anfangs in Java verliebt gehabt.
Da damals aber die Möglichkeiten nicht so wie bei c# gegeben waren (MSDN / IDE),
bin ich letztendlich darauf umgestiegen und es hat sich gelohnt.

Sicher ist es praktisch nun in VB OO gerecht programmieren zu können
und jetzt vor allem das Framework dahinter zu haben. :)
Nur ist für mich die Syntax ein overhead in lesbarkeit und das man viel mehr Bezeichner verwenden muss.
Ist warscheinlich die Art eines jeden, mit dem Format des Codes klar zu kommen.
Ich brauch es einfach und eingrückt. Ich find viel schneller den Anfang und das Ende von mehrzeiligen Blöcken.
Es sieht für mich, sagen wir mal, irgendwie eleganter aus. ;-]
mage hat gesagt.:
Ich gebe zu das Beispiel ist recht sinnfrei und recht einfach, stellt aber doch die Lesbarkeit ganz gut gegenüber.
In welcher Hinsicht ist fraglich. ;-)

Btw. Die ZählerVariable kannst innerhalb der Schleife deklarieren und die Bedingung kommt in die Mitte.
Bei einzeiligen Blöcken kann man die Klammer auch weglassen.
Vor allem fehlt der Funktion Iteration der Rückgabewert. :p :D
Code:
class MyClass
{
	public Int32 Iteration( Int32 BasisWert, Int32 Anzahl ) {

		for( int Zaehler = BasisWert; Zaehler >= Anzahl; Zaehler++ )
			BasisWert += 1;

		return BasisWert;
	}
}
Das ist dank des ReSharpers und mit sicherheit auch anderen Develop-Tools kein Manko mehr. ;-)
 

Neue Beiträge

Zurück