[VB] Programmieranfänger: Suche Gutes Einsteigerbuch (VB 2005 oder 2008)

cosmos321

Lt. Commander
Registriert
Aug. 2004
Beiträge
1.077
Hallo zusammen,

ich würde mich so langsam mal an VB rantasten wollen. Habe gedacht, fange ich "klein" an und hole mir mal ne DVD um zu schauen wie das alles so aussieht!

Also folgendes zugelegt: Video2Brain - VisualBasic 2005 !

Aber ehrlich, das ist für die Katze, ich kapiere zwar viel, aber die "RICHTIGEN GRUNDLAGEN" werden da total weggelassen. Das ist eher was für Umsteiger mit Erfahrung.....

Also würde ich mir jetzt eher mal ein BUCH zulegen und die Grundlagen von A-Z durcharbeiten wollen. Nur die Fülle der Angebote stellt mich vor die Qual der Wahl.

AMAZON - Visual Basic 2005

AMAZON -Visual Basic 2008

Außerdem habe ich noch ein anderes Problem: VB 2005 oder VB 2008 ? Macht es Sinn jetzt erstmal mit 2005 anzufangen oder gleich 2008 ? Ich weiß es wirklich nicht und bräuchte mal eure Meinung / Erfahrung dazu.


Kann mir jemand einen guten Buch-Tipp geben ( für wirkliche Anfänger ) ? Und soll ich dann mit 2005 oder 2008 anfangen?

Danke schonmal!

Marco
 
AW: Programmieranfänger: Suche Gutes Einsteigerbuch ( VB 2005 oder 2008 ? )

Huhu,

also ich würd mit 2008 anfangen. Aber egal, soviel Unterschied zur 2005 Version gibt es nicht.

Als Neueinsteiger empfehle ich Dir diese Video-Serie:

http://msdn2.microsoft.com/en-us/beginner/bb308760.aspx

Ein wirklich gutes Buch ist das hier:

http://www.microsoft.com/germany/msdn/aktuell/news/MicrosoftVisualBasic2005DasEntwicklerbuch.mspx

oder auch hervorragend:

http://www.galileocomputing.de/openbook/visual_basic/

Weiterhin empfehle ich Dir die frei verfügbaren Webcasts auf:

http://www.microsoft.com/germany/msdn/webcasts/finder/default.mspx

Einfach bei Technologien VB.Net auswählen. Aber auch Webcasts über C# sind sehr hilfreich, da es ja nicht wirklich den grossen Unterschied gibt.

Alles, was Du brauchst, ist eine kostenlose Windows-Live-ID oder ein hotmail-Konto.

Mir hat zum Enstieg die "beginners"-Serie gereicht.. Danach war ich in der Lage, eigene Windowsanwendungen zu machen. Die Serie ist zwar in Englisch, aber das sollte Dich nicht davon abhalten. Ist m. E. sehr leicht verständlich.

So, das sollte für den Anfang genügen. Du siehts, gibt es alles kostenlos. Wenn Du sonstige Hilfe brauchst, dann schreib ne PM an mich. Es ist egal, welche Version Du nutzt. Alles was die 2005 kann, geht auch in der 2008. Jedoch sind mit der 2008 einige neue Features hinzugekommen, aber ob man das am Anfang braucht, wage ich zu bezweifeln.

so long...

Danny
 
AW: Programmieranfänger: Suche Gutes Einsteigerbuch ( VB 2005 oder 2008 ? )

Ich danke dir für die vielen super LINKS ! Werde mich da jetzt durchackern. Habe schon Spaß daran gefunden !


Wie lange hast du denn gebraucht, bis du es "einigermaßen" konntest ?
 
AW: Programmieranfänger: Suche Gutes Einsteigerbuch ( VB 2005 oder 2008 ? )

Nach der ersten Video-Serie hab ich erst mal so vor mich "hingewurschtelt". Wenn mich was interessiert hat oder ich nicht wusste, wie es geht, hab ich einfach google gefragt.

Ach ja.

Noch ein sehr gutes Forum, in dem Du Deine Fragen stellen kannst:

http://www.activevb.de

Die Leute dort sind sehr hilfsbereit. Auch gibt es dort ne Menge Tipps- und Tricks.

Die erste richtige Anwendung, die auch nützlich war, hab ich nach 2 Monaten geschrieben. Aber richtig gut kann ich es auch jetzt noch nicht.

Du kannst ja jetzt zum Anfang die Ressourcen benutzen, die ich Dir gegeben habe. Wenn Du dann in eine Thematik tiefer einsteigen willst, solltest Du Dir schon ein darauf zugeschnittenes Buch besorgen. Gibt ja jede Menge Anwendungsgebiete (Webprogrammierung, Windowsprogrammierung, Datenbanken und und und).

Du wirst aber nach 1-2 Monaten in der Lage sein, Deine eigenen Anwendungen zu schreiben....

so long...


Danny
 
AW: Programmieranfänger: Suche Gutes Einsteigerbuch ( VB 2005 oder 2008 ? )

ganz ehrlich, aber wenn du programmieren lernen willst, dann fang nicht mit visual basic an!! der umstieg auf ne andere sprache fällt danach häufig schwerer.

versuch dich mal in c#. die sprache ist ebenfalls relativ einfach, und weiter verbreitet als vb.net.
 
AW: Programmieranfänger: Suche Gutes Einsteigerbuch ( VB 2005 oder 2008 ? )

@IceMatrix

Das C# auch leicht zu lernen ist, da gebe ich Dir vollkommen recht.

Warum soll der Umstieg von VB.net in eine andere Sprache schwerer sein, als von C# in eine andere Sprache? VB.net und C# nehmen sich von der Leistungsfähigkeit fast gar nichts. Alle .NET Sprachen haben indentische Leistungen. Ausser man schreibt unmanaged Code in C++.

VB.net ist eine der schönsten Sprachen, die mir bisher begegnet ist. Ich habe mir alle angesehen. Was ist an C# besser? Etwa die schönen Strukturen, die man mit den unzähligen "{" "}" bekommt? Sag mir mal ein paar Sachen, die ich mit C#, aber nicht mir VB machen kann?

Ob ich OOP jetzt in VB.net, C# oder C++ lerne, ist doch völlig egal. Das Prinzip an sich bleibt das Selbe. Gut, in VB gibt es keine Mehrfachvererbung, aber welcher Anfänger braucht das? Es gibt keine Zeiger, man kann gut ohne leben.

Hier mal eine Gegenüberstellung VB.net und C#:

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

Ausser dem Syntax sehe ich keine eklatanten Unterschiede. Ich finde, wenn man in .NET Programme schreibt, ist es egal, in welcher Sprache sie sind. Der IL-Code ist nahezu identisch. Aber dann sollte man sich die Sprache raussuchen, deren Syntax einem besser gefällt. Umsteigen kann man immer, wenn man die Grundlagen verstanden hat.

Ich weiss nicht, was viele Menschen gegen VB einzuwenden haben. Aber ich kanns mir schon vorstellen. Es gibt dem Ego einen Schub, wenn man sagen kann: "Ich programmiere in C#" (nur weil C darin vorkommt). Obwohls im Endeffekt fast das Gleiche ist....

so long...


Danny
 
Zuletzt bearbeitet: (Rechtschreibfehler)
AW: Programmieranfänger: Suche Gutes Einsteigerbuch ( VB 2005 oder 2008 ? )

1.) Die Funktionalität von VB.NET, C# und managed C++ ist die gleiche. Was sich unterscheidet ist lediglich die Grundsprache. Hier muss man wählen, was man braucht. Wenn man selbst den Rechenkern schreibt (z.B. einen mp3 Encoder wie lame etc., dann sollte man auf C/C++ setzen, da man hier mit genügend wissen über die Syntax etwas Zeit herausholen kann. Dafür kann man sich mit einer Menge sonstigem Mist abquälen (was ist ein Wert, was ist ein Pointer etc.) und hat nichts davon, wenn man nichts rechnet, sondern nur GUI, Netzwerk, Datenbanken, Zugriffe auf externe dlls/Programme etc. hat, wo man keine Performance Nachteile hat (mein mp3 Converter, der lame (oder den Nero aac he Encoder) in 4 Threads aufruft, ist wirklich flott mit wenig Code). Ich behaupte einmal, dass 99% der Programme besser mit VB.NET geschrieben werden sollten. Man kann auch einfach Klassen in C++ definieren, die die Rechenarbeit machen und wo man dann diverse Optimierungen machen kann z.B. die Reihenfolge der Elemente in einer Struktur optimieren, Memory Zugriff allignen usw.

2.) Der Grund, warum der Großteil auf C# setzt liegt daran, weil früher jeder C++ programmiert hat, weil das einfach früher die Standardsprache war und sich die Leute nicht umgewöhnen wollen. Wenn man das aber einmal hinter sich hat, so ist VB.NET deutlich besser, weil es eben 10 mal übersichtlicher ist. Hier hat man z.B. keine hässlichen Klammern mehr, wo man oft ewig sucht bzw. Strichpunkte ohne Ende oder Verunstaltungen, die oft angewandt werden z.B. if((variable2=var1+var3)>(variable4=var8/var7) && ++variable3<variable5--)
VB.NET ist deutlich übersichtlicher z.B. mit End While, End If etc., was eben zu Zeiten von C/C++ noch sehr umständlich zu schreiben war mangels Code Vervollständigung.

3.) Viele Leute machen den Fehler und setzen VB mit VB.NET gleich. Da liegen Welten dazwischen. Das ist ca. so, wie wenn man DOS und WindowsXP gleich setzt. Natürlich kann man sich auch ein XP aufsetzen und noch immer mit der veralteten Kommandozeile arbeiten ohne grafische Oberfläche. Das alte VB bis VB6 ist Mist. Das gebe ich voll und ganz zu. Genauso kann VB.NET mies sein, wenn man es wie VB6 benutzt. Da ist der User dann selbst Schuld, obwohl eh schon die größten Blödsinnigkeiten abgedreht wurden (z.B. Variablen automatisch deklarieren ohne Option Explicit).

4.) Ich würde mir gleich das Visual Studio 2008 holen. Die Sprache ist gleich geblieben. Es gibt nur ein paar neue Features z.B. LINQ bzw. auch einige Verbesserungen am Interface. Man hat nun auch eine automatische Vervollständigung der Variablennamen beim Tippen (nicht nur der Funktionen). Weiters kann man oben beim Debuggen auch festlegen, in welchen Thread. Außerdem hat man bei den Watches auch eine Liste von Auto Variablen also alle, die gerade aktuell sind und braucht sich nicht alles selbst setzen.
Man sollte nur darauf achten, wenn man exe Dateien weitergibt, dass man beim Multi Targeting die .NET Framework so niedrig wie möglich einstellt, da in der Regel die meisten Leute kein .NET Framework 3.5 haben und wenn man keine neuen Features einsetzt, dann sollte man es besser als .NET Framework 2.0 ausliefern (Rechtsklick auf das Projekt im Solution Explorer, Properties, Compile, Advanced Compile Options, .NET Framework 2.0)
Damit ist man dann auch noch Win2K kompatibel, wo kein .NET Framework 3.0 oder 3.5 läuft und manchmal findet man noch solche Rechner.

5.) Was den Einstieg ins Programmieren angeht, so kann ich nicht wirklich etwas empfehlen, da ich hier über C und Java schließlich zu VB.NET gekommen bin (inkl. Sachen wie Netzwerkgrundlagen wie OSI Modell, Datenbankdesign, SQL etc.). Es ist die Frage, ob man das nicht etwas abkürzen kann, vor allem, wenn man es als Hobby betreibt;)
Insgesamt ist hier auch viel Erfahrung dabei, welche Funktionen man wie einsetzt, wie man was benennt und da lernt man nie aus.
 
AW: Programmieranfänger: Suche Gutes Einsteigerbuch ( VB 2005 oder 2008 ? )

Danke an Samael23 und andr_gin ! Ich habe mir auch den Link VB.net gegenüber C# angeschaut und ich muss sagen: ich finde VB.net übersichtlicher und einfach ansprechender für´s Auge. Es fällt mir leichter damit umzugehen. Habe mir jetzt auch VB 2008 Express besorgt und angefangen die Beginner´s Lessons auf der Microsoft Homepage durchzuarbeiten. Wie Samael23 schon sagte, ist das Englisch kein Problem, man versteht (beinahe) alles. Der Rest wird aus dem Kontext klar. Sogesehen bleibe ich jetzt erstmal bei VB 2008.

Danke euch!
 
AW: Programmieranfänger: Suche Gutes Einsteigerbuch ( VB 2005 oder 2008 ? )

Nichtsdestotrotz ist C# eben die .net-Sprache, VB.net und C++ hinken da manchmal ein wenig bei Features und Umsetzungen hinterher...
(Bitte keine Beispiele verlangen, bin dafür zu müde)

und andr_gin, niemand zwingt dich so nen unübersichtlichen code zu schreiben in C#, aber würde gerne mal sehen wie man das in VB so schreibt.
 
Naja so schlimm ist es auch wieder nicht. Klar wird C# etwas öfter benutzt, weil sich die C Syntax einfach aus historischen Gründen bei guten Programmierern durchgesetzt hat, während VB immer die Pfui Sprache für Noobs war, aber das Verhältnis ist vielleicht bei 2:1, was sich aber auch stark ändert. Von der Syntax ist es jedoch selbst bei sauberer Programmierung um etliches lesbarer, da man sich schon einmal eine Menge Klammern spart und auch eine Menge Dinge entfernt wurden, die einfach nicht mehr Stand der Technik sind. Bestes Beispiel ist ein switch case (bzw. select case). 1 heißt "small", 2 und 3 heißt "medium", >4 heißt "large"

C#:

switch (caseSwitch){
case 1:
return "small";
break;

case 2:
return "medium";
break;

case 3:
return "medium";
break;

default:
if(caseSwitch>4){
return "large";
}
else{
return "not defined";
}
break;
}

Das ganze in VB.NET:

Select Case caseSwitch
Case 1
Return "small"

Case 2, 3 'Würde auch 2 To 3 gehen
Return "medium"

Case >4
Return "large"

Case Else
Return "error"
End Select

Und ich habe keine einzige Klammer gebraucht. Damit werden komplexere Ausdrücke deutlich leichter lesbar. Das break gibt es auch nicht mehr, weil wer benutzt schon ein switch ohne break und ich weiß auch gleich dank dem End Select gleich, dass da ein Select aufhört und z.B. keine For Schleife. Gerade um unteren Bereich einer Funktion bringt das sehr viel.

Oft hat man Abfragen über einen gewissen Bereich z.B. von 10-20 gilt das, von 20-30 gilt das usw. da braucht man immer ein if else.

Genauso ist die Syntax in C irgendwie nicht so natürlich z.B. && statt And bzw. == statt = in Bedingungen usw. Gerade beim Ableiten, Abstrakten Klassen usw. ist es schon praktisch, wenn das Schlüsselwort so heißt wie das, was es tut.

P.S.: Bei den Features ist oft auch C# unterlegen, wenn ich da z.B. an das einfache Erzeugen von Message Boxen denke oder überhaupt den gesamten My Namensraum. Da werden die wichtigsten Funktionen schon zusammengefasst.
 
andr_gin schrieb:
Und ich habe keine einzige Klammer gebraucht. Damit werden komplexere Ausdrücke deutlich leichter lesbar. Das break gibt es auch nicht mehr, weil wer benutzt schon ein switch ohne break und ich weiß auch gleich dank dem End Select gleich, dass da ein Select aufhört und z.B. keine For Schleife. Gerade um unteren Bereich einer Funktion bringt das sehr viel.
1. Nicht für jeden ist Quellcode ohne diese Klammern besser lesbar(ich persönlich finde das schrecklich)
2. Die Anzahl der Klammern ist wohl kaum das Kriterium für die Vorteilhaftigkeit einer Sprache
3. In einigen wenigen Fällen macht ein switch() ohne break sinn
4. Klammern sollte man aus Gründen der Übersichtlichkeit immer untereinander schreiben und den Bereich in der Klammer einrücken.


Genauso ist die Syntax in C irgendwie nicht so natürlich z.B. && statt And bzw. == statt = in Bedingungen usw. Gerade beim Ableiten, Abstrakten Klassen usw. ist es schon praktisch, wenn das Schlüsselwort so heißt wie das, was es tut.
ich sehe darin kein Problem sondern es auch als Vorteil.
nehmen wir eine Boolean Variable welche bei bestimmten Bedingungen war sein soll. Man könnte dies nun mit einem If machen, aber noch leichter ist es wie folgt.
Code:
Boolean foobar = i==20;
Man kann hier also ganz klar zwischen dem Gleichzeichen zur zuweisung unterscheiden und der Logischen Verknüpfung.

Code:
P.S.: Bei den Features ist oft auch C# unterlegen, wenn ich da z.B. an das einfache Erzeugen von Message Boxen denke oder überhaupt den gesamten My Namensraum. Da werden die wichtigsten Funktionen schon zusammengefasst.
Ich wüsste jetzt grade auch nicht was an
Code:
MessageBox.Show("Inhalt", "Title", MessageBoxButtons.OK);

so schwer sein soll?

Außerdem weiss ich wirklich nicht was andem switch, wenn es den gescheit formatiert ist, schwer zu lesen ist:rolleyes:
Code:
switch (caseSwitch)
{
    case 1: return "small";
        break;

     case 2: return "medium";
        break;

     case 3: return "medium";
        break;

     default:
             if(caseSwitch>4)
             {
                return "large";
             }
             else
             {
                return "not defined";
             }
        break;
}

Wie gut eine Sprache ist an deren Syntax festzulegen ist nun mal nicht wirklich optimal.
Jede Sprache hat ihre Vor- und Nachteile.
 
Fonce schrieb:
1. Nicht für jeden ist Quellcode ohne diese Klammern besser lesbar(ich persönlich finde das schrecklich)

Das ist nur am Anfang etwas ungewohnt, wenn man schon lange C programmiert hat, aber gerade bei langen Codeblöcken über 2-3 Bildschirmseiten, wo am Schluss 5 Schleifen, Bedingungen, Methoden, Klassen etc. enden, hilft es wirklich sehr viel, wenn man weiß, was da aufhört. Einmal abgesehen davon passiert verzählt man sich sehr leicht und baut eine Codezeile nach 3 geschlossenen Klammern statt 2 ein usw.

2. Die Anzahl der Klammern ist wohl kaum das Kriterium für die Vorteilhaftigkeit einer Sprache

Die Funktionalität unterscheidet sich ja nicht wirklich. Beides sind objektorientierte Sprachen und haben die gesamte .NET Funktionalität. Man kann auch die Klassen gegenseitig benutzen und z.B. von einer C# Klasse in VB.NET ableiten und umgekehrt. Was sich unterscheidet ist die Syntax und hier ist es z.B. bei einem if mit 3 Ausdrücken in Klammern von Vorteil, wenn man sich eine Klammer spart oder umgekehrt kann man bei der gleichen Übersichtlichkeit einen Ausdruck mehr schachteln und spart sich eine Zeile.

3. In einigen wenigen Fällen macht ein switch() ohne break sinn

Genau das ist das Problem. Manche lassen das break in so einem Fall einfach weg, wodurch der Code aber wieder um ein Eck unwartbarer wird, weil jeder einfach drüber liest. Das ist genauso wie ein Goto. Man kann es verwenden, in manchen Fällen wird es dadurch sogar kürzer, aber der Code wird unwartbar.

4. Klammern sollte man aus Gründen der Übersichtlichkeit immer untereinander schreiben und den Bereich in der Klammer einrücken.

Einrücken ist schon klar, aber das geht leider im Forum nicht ordentlich. Das mit der Klammer in der Zeile des ifs statt darunter, halte ich auch für eine Unart und mache es in meinen C Programmen anders, aber der typische C-Stil ist eben so.

ich sehe darin kein Problem sondern es auch als Vorteil.
nehmen wir eine Boolean Variable welche bei bestimmten Bedingungen war sein soll. Man könnte dies nun mit einem If machen, aber noch leichter ist es wie folgt.
Code:
Boolean foobar = i==20;
Man kann hier also ganz klar zwischen dem Gleichzeichen zur zuweisung unterscheiden und der Logischen Verknüpfung.

Genau hier ist das Problem. Es fangen Leute wie du an, solche Konstrukte zu verwenden, weil es weniger Schreibaufwand ist. Nach 2 Jahren hast du aber schon Probleme, das zu lesen und jemand anderer tut sich noch schwerer. Nicht so, weil er nicht weiß, was es bedeutet, sondern weil der Lesefluss dadurch gestört wird. In VB.NET hat man diese Unart gleich unterbunden. Man kann auch auf if und else verzichten und gleich nur ? und : verwenden. Lesbarer wird es dadurch jedoch nicht.

Ich wüsste jetzt grade auch nicht was an
Code:
MessageBox.Show("Inhalt", "Title", MessageBoxButtons.OK);

so schwer sein soll?

Ok da gebe ich dir Recht. Klar, dass ich unter MsgBox.Show nichts finde;)

Außerdem weiss ich wirklich nicht was andem switch, wenn es den gescheit formatiert ist, schwer zu lesen ist:rolleyes:
Code:
switch (caseSwitch)
{
    case 1: return "small";
        break;

     case 2: return "medium";
        break;

     case 3: return "medium";
        break;

     default:
             if(caseSwitch>4)
             {
                return "large";
             }
             else
             {
                return "not defined";
             }
        break;
}

Genauso würde der VB.NET Code besser aussehen, wenn man ihn einrückt;)
Einmal abgesehen davon muss man hier schon wieder den default Zweig beim switch verunstalten, der eigentlich nur für die Fehlerbehandlung gedacht ist, falls der gesuchte Wert nicht vorkommt.

Wie gut eine Sprache ist an deren Syntax festzulegen ist nun mal nicht wirklich optimal.
Jede Sprache hat ihre Vor- und Nachteile.[/QUOTE]

Wenn es außer der Syntax keine nennenswerten Unterschiede gibt, dann macht das aber durchaus Sinn;)
Wenn man unmanaged C++ oder Java mit VB.NET, ist das natürlich Schwachsinn, weil man bei einem ein .NET Framework hat und beim anderen nicht und da ist die Syntax egal.[/quote]
 
Übrigens ist nach einem return das break nicht mehr nötig bzw wird afaik sogar als Fehler angesehen, nur mal so ;)
Dann wird der Code nochmal "schöner" :D (imo)
 

Ähnliche Themen

Zurück
Oben