Unterschiede zwischen Visual Basic, Visual C# und Visual C++

klausschreiber

Well-known member
ID: 162475
L
6 Mai 2006
247
8
Hallo,

Ich kann bereits etwas PHP und habe außerdem vor ner Weile mal ein bischen angefangen Delphi zu lernen (Jedoch nicht weiter, als bis zu einem Taschenrechner).
Weil ich gelesen habe, dass Visual Basic .Net recht einfach zu erlernen ist, habe ich mir überlegt, diese Sprache mal zu versuchen. Habe jedoch auch schon gelesen, dass bei in Visual Basic .Net programmierten Programmen die Geschwindigkeit nicht so toll sein soll. Ist das bei Visual C# .Net oder Visual C++ .Net genauso, bzw. was sind die Unterschiede? Bei Visual Basic .Net habe ich halt den Vorteil, dass dann auch Makros in Word und so in VBA kein großes Problem sind, da die Syntax ja ähnlich ist.
Oder würdet ihr mir eine ganz andere Programmiersprache empfehlen?
Hab auch schon öfters gelesen, dass Java empfohlen wird, aber da es ja erstmal nur ein Hobby ist, ist mir eine Sprache mit Klicki-Bunti Editor erstmal lieber.
Es sollte halt eine Sprache sein, mit der man auch als Anfänger relativ schnell was erreichen kann, aber sie sollte auch nicht komplett unnütz sein, wenn man später mal auf etwas Gescheites wie C++ oder so umsteigen will.

Gruß,
Klaus
 
Hi,

also zuerst einmal sind Visual Basic .Net, Visual C# und Visual C++ (Managed) allesamt mit der gleichen Geschwindigkeit und dem gleichen Funktiumsumfang gesegnet (*1). Sie verwenden nämlich dieselbe Runtime, nämlich das .Net Framework. Ich weiß nicht genau wer gesagt haben soll, dass .Net keine gute Performance hat, aber ich persönlich kann dem nicht zustimmen. Selbstverständlich ist "Maschinensprache" statt interpretierter Sprache schneller, allerdings sind die Vorteile der interpretierten Sprachen so bedeutend, dass sie über kurz oder lang die Maschinensprachen ablösen werden.

Die Visual Basic .Net Syntax ist tatsächlich der alten VB/VBA-Syntax sehr ähnlich. Allerdings ist es nicht schwierig, die Syntax zu lernen, sondern das Konzept zu verstehen. Hinter dem .Net Framework steckt genauso wie hinter Java die Objektorientierung. Verstehst du dieses Prinzip, kannst du eigentlich nicht mehr viel falsch machen. Die restliche Programmierung besteht "nur noch" aus der Verwendung der vorgegebenen API, sprich dem .Net Framework bzw. der Java-API. Die meisten Unternehmen setzen übrigens C# ein. Dazu kommt, dass Java und C# eine sehr ähnliche Syntax verwenden. Daher ist C# evtl. die geschicktere Wahl.

Mit .Net oder Java bist du meiner Meinung nach auf dem richtigen Weg. Ich persönlich denke auch nicht, dass es nach dem Erlernen noch notwendig ist, "auf etwas Gescheites wie C++" umzusteigen ;o). Java und .Net sind weit mächtiger, als man es vielleicht von Anfang an denken mag. Ob du dich nun für Java oder .Net entscheidest ist pure Geschmackssache und zum Großteil Ideologie. Lass dich bei der Entscheidung besser nicht von anderen beeinflussen, sondern guck dir beide Modelle an und entscheide dich dann selbst.

Wenn du die Sprachen einfach probieren möchtest downloade dir doch einfach die beiden freien IDEs, dann kannst du schon mal ein wenig Java/.Net-Luft schnuppern =).

Eclipse für Java: https://www.eclipse.org/downloads/
Visual Studio für .Net: https://www.microsoft.com/germany/msdn/vstudio/products/express/download.mspx

Viel Spaß beim Ausprobieren und viele Grüße,

Karsten


*1:
Okay, ein wenig geschwindelt. Du kannst in C++ auch weiterhin unmanaged arbeiten, Visual Basic unterstützt das My-Keyword und es gibt sicher noch einige weitere Details, in denen sich die drei unterscheiden. Aber sei es drum - im Großen und Ganzen ist es dasselbe =) es gibt nichts, was du mit einer der drei Sprachen nicht machen könntest.
 
ok, danke für deine ausführliche Antwort. Wenn ich deine Antwort richtig verstanden habe, ist es, insbesondere, falls man das mal später professionell machen will (eventuell will ich nach der Schule Informatik studieren), C# die bessere Wahl als VisualBasic, oder? So wurde es mir auch in einem anderem Forum gesagt. Auch für C# ist doch der Compiler von Microsoft, also Visual C# gut geeignet, oder?
 
C# und VB .Net sind Gewöhnungssache =) beherrscht du C#, so solltest du eigentlich auch mit VB .Net umgehen können und umgekehrt. Um die Syntax von C# wirst du in den meisten Unternehmen aber nicht rumkommen, um VB .Net schon. Daher empfehle ich C# als „Standard“. Wenn du aber sowieso VB .Net programmieren möchtest oder dich mit VB bestens auskennst, kannst du aber auch der Einfachheit halber mit VB .Net anfangen.

Aus dem Hause Microsoft sind mir .Net-Compiler für C#, VB.Net, C++ und J# bekannt. Möglich, dass es für noch mehr Sprachen Unterstützung gibt (so abgefahrene Sachen wie Cobol .Net *g*). Es gibt auch eine Open Source Umsetzung des .Net Frameworks namens Mono (auch für Linux). Aus Mono kenne ich aber bisher nur den C# Compiler.

Mitgeliefert im Visual Studio ist selbstverständlich nur der Microsoft Compiler. Den würde ich dir für den Anfang auch empfehlen =).

Edit: By the way, im Informatik Studium lernen die meisten Studenten soweit ich weiß Java. Bin selbst gelernter Anwendungsentwickler, in meiner Ausbildung gab es Java- und VB-Grundlagen. Sehr tiefgründige Praxis kann man allerdings im Studium als auch in der Ausbildung nicht erwarten ;o).
 
Danke für deine flotte Antwort. Vorkenntnisse in VB habe ich noch keine. Ich denke, ich werde mir mal Visual C# runterladen und anschauen. Kennst du, oder sonst jemand, zufällig noch irgendwelche guten Bücher dafür? Das Openbook von Galileo Computing
( https://www.galileocomputing.de/openbook/visual_csharp/index.htm ) ist mir bekannt. Ich finde so Praxisbücher, wo man anhand von konkreten Beispielen/Projekten lernt, am besten (wie z.B. PHP für Kids, weiß aber nicht, ob C# für Kids auch gut ist?)
 
Neija das Problem an diesen Praxis-Büchern ist, dass man dir Beispiele zeigt und du daran lernen sollst, aber bei so Hochsprachen wie Java und C# musst du noch deutlich mehr wissen, als du aus Code lernen kannst, nämlich wie die Dinge intern funktionieren etc.
Da wirst du nicht um "langweiliges" Hintergrundwissen herumkommen
 
Kommt selten vor, dass ich dir uneingeschränkt zustimmen kann, ice-breaker =) diesmal tue ich es.

@klausschreiber:
Sind die Grundlagen erst einmal komplett verstanden, so ist die Anwendung des Klassenmodells das kleinste Problem. Schwierig ist nur noch, die korrekten Klassen für seine Problemstellung zu finden.

Weißt du denn schon, in welche Richtung du dich entwickeln möchtest? Interessierst du dich für Webentwicklung, Windows Oberflächenprogrammierung, Spiele-Entwicklung? Und sag jetzt nicht ja zu allen dreien ;o). Die meisten Bücher behandeln nur einen bestimmten Strang des .Net Frameworks. Das ist auch gut so – denn selbst einen Teil abzudecken gelingt nur wenigen Autoren.

Bei mir persönlich fällt die erste Wahl für gewöhnlich auf ein MS Press Buch.
 
ok, danke euch beiden. Ich habe vor, erstmal mit einfachen Sachen anzufangen, also jetzt nicht gleich Spieleentwicklung oder so, sondern einfache Windowsanwendungen. Weiß jetzt nicht, ob du das unter Windowsoberflächenprogrammierung verstehst, aber wahrscheinlich.
 
Kommt selten vor, dass ich dir uneingeschränkt zustimmen kann, ice-breaker =) diesmal tue ich es.

*gg*
ich habe mich extra zurückgehalten auf Java einzugehen, da dies eh wieder nur in nem Off-Topic-Streit geendet wäre was besser ist.
Aber wie stark C# von Java kopiert hat, ist schon krass :LOL:

Edit: jup, meint er ;)
 
Neija das Problem an diesen Praxis-Büchern ist, dass man dir Beispiele zeigt und du daran lernen sollst, aber bei so Hochsprachen wie Java und C# musst du noch deutlich mehr wissen, als du aus Code lernen kannst, nämlich wie die Dinge intern funktionieren etc.
Da wirst du nicht um "langweiliges" Hintergrundwissen herumkommen

Man kommt zwar nicht um Hintergrundwissen herum wenn man ernsthaft Programmieren will, aber für den Anfang reicht auch nur oberflächliches Wissen. Ein praxisorientierter Einsteig macht mehr Spaß als wenn man nur ewigkeiten Theroie durchkaut. Vorallendingen hat ein theoreidscher Einsteig immer den Nachteil (jedenfalls bei mir) das man nur die hälfte versteht weil man nicht wirklich in der Materie steckt. Wenn man aber schonmal damit gearbeitet hat und sich danach hindergrundwissen aneignet, hat man immer wieder solche AHA Effekte und versteht das ganze einfach besser.