Visual Basic oder Visual C#

R

robinio

Gast
Hi Community,
ich hab mir die aktuelle c't gekauft und die beiliegenden Programmierumgebungen Visual Basic und Visual C# (jeweils die Express-Edition) installiert. Jetzt möchte ich eine Windows-Anwendung programmieren. Welches der beiden Programme ist besser? Was die Möglichkeiten der Toolbox angeht - die sind bei beiden gleich. Gibt es für die erstellten Programme unterschiedliche Kompatibiltätsanforderungen?
 
Das ist nur eine Frage des Sprachsyntax. Im Prinzip nutzen beide das .Net-Framework und sind sogesehen gleichwertig. Man muß sich halt entscheiden ob man ein ";" am Zeilenende haben will oder nicht. :)
 
Um dem ganzen noch eine Frage hinten dran zu hängen:

Kennt wer ein gutes Buch "Visual Basic für Anfänger"?
 
Beide Fragen sind wohl besser im Programmierforum aufgehoben, weil sie dort schon teilweisebeantwortet wurden.
SuFu lässt grüssen. ;)

Ich schiebe dann mal.
 
wenn du Dir die CT gekauft hast wieso liest du sie dann nicht einfach mal.
 
hi, erstmal sone frage vorweg, hast du programmiererfahrung mit anderen sprachen? einfach so "programmieren lernen" ist nicht ganz ohne. wenn du "coole sachen" machen willst nimm C ... damit geht quasi alles. wenn du eher einfahe sachen machen willst dann nimm lieber visual basic, einfach im sinne von : benutzeroberflächen - eingabe ausgabe mit datenbanken etc. nimm auch visual basic wenn du keine programmier erfahrung hast.

gute bücher ... hm... kann ich alles empfehlen was vom O'reily verlag ist egal ob php / c / java ist alles sehr gut an beispielen erklärt.

gruß Riod
 
Also ich würde dir ganz klar zu VB.NET raten. Für den Anfänger ist die Syntax einfacher zu verstehen und was ich am wichtigsten finde, dass ist die bessere Unterstützung in der Entwicklungsumgebung.

In VB.NET läuft im Hintergrund ein Echtzeitkompiler mit und du bekommst so beim Scheiben schon viel mehr Fehler angezeigt, die du bei C# erst beim kompilieren erhälst. Das IntelliSense System ist glaube ich auch besser, aber das kann ich nicht genau sagen.

Das wären eigentlich schon die Hauptgründegründe warum ich VB.NET vorziehen würde. Es ist einfach komfortabler. Wie onlyJR schon sagte sind beide Sprachen nahezu gleichwertig. Es gibt nur ganz wenige Fälle, wo man auf C# zurückgreifen müsste.

Dafür bietet VB.NET solche schönen Dinge wie späte Bindungen oder eine optionale Paramaterbergabe. Das sind aber auch schon die Hauptunterschiede. MS schreibt dazu auch nicht sehr viel mehr. Klick mich
 
das is wie immer die frage was du willst.

zu den nachteilen von c# die hier schon aufgeführt worden sind kommt allerdings hinzu das c# microsofts bevorzugte sprache ist. sie ist quasi .net. vb.net spielt da nur eine sehr kleine rolle.

wenn du sowas also mal beruflich machen willst oder du auf support angewiesen bist ist c# sicher die bessere wahl.
so gibt es für c# einfach mehr beispielcode und ganz sicher auch mehr bücher. die meisten .net bibliotheken werden in c# geschrieben sein, und derzeit scheint mir c# auch die einzige der .net sprachen zu sein, bei der man vorsichtig von plattformunabhängigkeit reden darf(auch wenn vb.net für mono wohl in arbeit ist...).

ausserdem gibt es zur syntax auch sehr verschiedene meinung. ich habe zwar selbst mit vb keine erfahrungen, allerdings ist vb eigentlich eher für eine sehr inkonsistente und unlogische syntax bekannt.
 
ganz klar C#, VB ist eine Qual das zu lesen und totaler murks. Es verleitet viele nur wieder klicki-klacki-Programme zu proggen.
 
MagicAndre1981 schrieb:
ganz klar C#, VB ist eine Qual das zu lesen und totaler murks. Es verleitet viele nur wieder klicki-klacki-Programme zu proggen.

Nun ja... dann möchte ich deine ersten Gehversuche im Bereich Programmieren sehen.
Waren das nicht auch "klicki-klacki"-Programme (was auch immer genau darunter zu verstehen ist)?

Also ich denke VB ist für Anfänger, die absolut bei null anfangen, besser geeignet als C#.
Ich kann zwar C# nicht so gut beurteilen, weil ich damit nicht wieklich gearbeitet habe, sondern nur mal reingeschnuppert habe. Aber das was ich da gesehen habe, ist (zumindest) für einen Anfänger leichter zu lesen als das, was man mit c# auf die beine stellt.
 
VB-ler nutzen dann wieder die Kompatibilitäts-Befehle anstatt die Klassen des .NET Frameworks zu verwenden *kotz*
 
Danke für die Beurteilungen.
Da ich beim Programmieren absolutes Neuland betrete, ist es wohl besser, wenn ich Visual Basic nehme *g*. Und außerdem will ich ja nur ein bisschen rumprogrammieren, quasi als Hobby ^^.
 
Ich rate dir von C / C++ als Anfangssprache ab.
Habe selber den Fehler gemacht und naja, ab und zu dann doch den Spaß verloren.
Visual Basic ist zwar eine "billige" Programmiersprache , allerdings zum Anfang perfekt.
Man kann lustige, nützliche Sachen machen.
Z.B mit dem Winsockelement.
Dort kannst du dir mit Getdata und Dataarivall in einer Minute einen kompletten eigenen Chat schreiben.
Den auf bestimmten Portslaufen lassen , Listenfelderanfügen um mehre User loggen zulassen.
Finde VB schon ganz lustig,ja.
Wobei C++ natürlich mächtiger ist *uhuh*
und unter Linux läuft damit kann man dann auch nette exploits schreiben und andere stressen.
habe das mal irgendwo gesehen *gg*
 
Hi ramKe,
gibt es für den Chat eine Anleitung? Könntest du mir da einen Link geben?
Wäre nett *smile*
 
Wenn du dich für Visual Basic entschieden hast, kann ich dir nur VBArchiv.net ans Herz legen.

Musst mal schauen, da dürfte es unter anderem auch einen Chat geben.

Aber pass aus: VB6 hat teilweise andere befehle als VB2005.
Das heißt, alles was du da findest ist nicht direkt auf dich zugeschnitten. Aber für Anregungen dennoch super ;)

lg FreeZeY
 
Zuletzt bearbeitet:
Ich zieh mich Kopfschüttelnd zurück. Dann versau dir ruhig jeglichen Programmierstil.
 
Ich habe auf einem C64 mit Basic programmieren gelernt :-).

Zum rumspielen ist VB sicher gut geeignet, aber um programmieren richtig zu lernen verleitet es einen zu schnell zur unsauberen Programmierung.
Wenn es also wirklich nur ein Hobby bleiben soll und Dir die Feinheiten egal sind, dann nimm VB. Ansonsten würde ich eher zu C# raten.
Auch wenn es am Anfang etwas mühsamer ist, der Aufwand macht sich später bezahlt.

MfG

Arnd
 
Darf ich mal fragen, warum hier so viele VB.NET als minderwertig darstellen?

Besonders MagicAndre1981 scheint mit nicht sehr qualifiziert zu sein, dies zu beurteilen.

Es mag für VB6 und seine Vorgänger gegolten haben, dass sie nicht so mächtig waren, wie andere Sprachen, aber VB.NET hat außer der Syntax nichts mehr mit VB zu tun. C# und VB.NET sind praktisch die gleichen Sprachen. Da gibt es nun wirklich nur minimalste Unterschiede. Zu sagen, dass VB was zum klicken ist und C# nicht ist also absoluter Bödsinn. Das sagt nur jemand, der keine Ahnung hat.

Viele verwechseln hier anscheinend VB mit VB.NET.

Und das man häufiger C# code findet, als VB.NET code bezweifle ich auch stark. Manche mögen es nicht glauben, aber VB war schon immer sehr beliebt. VB6 ist die meistgenutzte Programmiersprache überhaupt und nicht etwa C++. Im Netz findet man wirklich sehr viele Beispiele in VB Syntax.

Und selbst wenn man mal ein Beispiel nur als C# code vor sich hat, so ist das absolut kein Problem das eben in die VB-Syntax umzuschreiben. An dem Programm selbst muss man ja gar nichts ändern. Das Gleiche gilt natürlich auch für ASP.NET und auch alle anderen .NET Sprachen. Kann man eine, kann man alle.

VB.NET hat nun wirklich den Vorteil, dass die Entwicklungsumgebung dafür mehr Features bietet und auch ein paar VB-Eigenheiten dienen der Erleichterung.

C# braucht man hingegen, wenn man unmanaged code schreiben will (warum auch immer). Das kann man dann ja ruhig in C# schreiben und später in sein VB.NET Projekt einbinden. Die .NET Sprachen lassen sich nach belieben kombinieren.

Ich sehe also wirklich keinen Grund darin einem Anfänger unbedingt die kompliziertere der beiden Sprachen zu empehlen.


BTW: Mit dem neuen .NET Framework 2.0 ist es sogar wieder möglich während des Debuggens im VB.NET code herumzueditieren, Variabeln zu ändern und im Code herumzuspringen. Zwar nicht in dem Umfang wie bei VB6, aber es geht und ist eine wirklich sehr große Hilfe beim Debuggen.
 
Zuletzt bearbeitet:
Hallo noxon,

ich habe selber einige Jahre mit VB (ok VB6) programmiert. Und es ist auch klar das C# komplizierter ist. Obwohl nach Deiner Darstellung doch eigentlich kein grosser Unterschied zwischen VB.net und C# ist?

Ich halte es eben für sinnvoller sich mit der Materie auseinanderzusetzen, anstatt nur vorgefertigte Module zusammenzufügen. Eine mehr formale Sprache zwingt einen sich an Regeln zu gewöhnen und fördert so gesehen die Disziplin beim Programmieren.
Nicht ohne Grund wird oder wurde doch wohl Pascal als Einstieg ins Programmieren benutzt.

VB6 ist imho doch nur so weit verbreitet, weil es sehr einfach zu benutzen ist und so ziemlich alles verzeiht was man falsch machen kann :-). Zu meinen VB Zeiten habe ich jede Sekunde bereut das ich mich für VB entschieden habe. Diese Bequemlichkeit habe ich später mit erhöhtem Aufwand bezahlt, um das System absolut rund zum laufen zu bringen.

Deswegen sage ich jetzt eben, das eine mehr formale Sprache zum lernen sinnvoller ist.
Nicht um schnell zu einem Ergebnis zu kommen, sondern um zu lernen wie man programmiert.

MfG

Arnd
 
Arnd schrieb:
Ich halte es eben für sinnvoller sich mit der Materie auseinanderzusetzen, anstatt nur vorgefertigte Module zusammenzufügen. Eine mehr formale Sprache zwingt einen sich an Regeln zu gewöhnen und fördert so gesehen die Disziplin beim Programmieren.

Wie du schon sagtest. Du hast in VB6 programmiert. Da stimme ich dir auch in allen Punkten vollkommen zu, aber VB.NET ist nicht VB6. Absolut nicht. die haben lediglich die Syntax gemein. Da gibt es auch nicht mehr fertige Module als bei C# und sie verzeit dir auch genauso wenig Fehler wie C#.

Ich finde es schade, dass VB.NET immer noch das Image einer Hobbyprogrammierspache hat. Jeder, der von VB6 auf VB.NET gewechselt hat wird dir sagen, dass er mit dem alt gelernten nur sehr wenig anfangen konnte. Die Art zu programmieren hat ich grundlegend geändert. VB.NET ist jetzt endlich mal ein vollwärtige objektorientierte Programmiersprache, die mit anderen mehr als mithalten kann.


VB6 ist imho doch nur so weit verbreitet, weil es sehr einfach zu benutzen ist und so ziemlich alles verzeiht was man falsch machen kann :-). Zu meinen VB Zeiten habe ich jede Sekunde bereut das ich mich für VB entschieden habe. Diese Bequemlichkeit habe ich später mit erhöhtem Aufwand bezahlt, um das System absolut rund zum laufen zu bringen.

Das ist mir auch bewusst. VB6 wird halt sehr oft in Betrieben eingesetzt, wo Mitarbeiter mal schnell ein Progrämmchen auf die Beine stellen müssen, die keine ausgebildeten Informatiker sind.

Leider war diese Sprache auch bei mir im Betrieb Standard und ich durfte auch keine andere Sprache verwenden. Als dann endlich .NET kamm sah ich meine Chance endlich eine vernünftige Programmiersprache zu bekommen. Da die Chefs bei uns keine große Ahnung haben bekam ich auch eine Lizenz für VB.NET ohne dass sie wussten, dass ich damit praktisch eine neue Sprache einführe, die nicht mehr mit der alten kompatibel und auch nicht von VB6 Usern ohne Weiteres zu verstehen ist.

Deswegen sage ich jetzt eben, das eine mehr formale Sprache zum lernen sinnvoller ist.
Nicht um schnell zu einem Ergebnis zu kommen, sondern um zu lernen wie man programmiert.

Eines kannst du mir glauben. Mit VB.NET schreibst du mehr Code als in VB6 für die gleichen Aufgaben. Man kommt nicht mehr so schnell zu einem Ergebnis wie bei VB6. Was ich zum Beispiel sehr schade finde ist, dass man keine Arrays aus Steuerelementen mehr zur Entwicklungszeit anlegen kann. Die Steuerelmente kann man jetzt nur noch zur Laufzeit erzeugen. Das ist wieder jede Menge code, den man in VB6 nicht schreiben musste.


Ich muss aber auch sagen, dass VB6 für bestimmte Aufgaben ganz klar seine Vorteile hat. In keiner anderen Sprache kann man sich so schnell ein kleines Hilfsprogramm schreiben. Ich spreche jetzt lediglich von einem 50-100 Zeilen Programm. Da setzt man sich für 5 Minuten hin, tippert ein paar Zeilen ein, zieht ein paar Buttons auf die Form und fertig.

Dann macht man seinen Test und löscht das Programm wieder. In der Beziehung ist VB6 also wirklich top. Das muss man schon sagen.
 
Zuletzt bearbeitet:
Zurück
Oben