Einstieg in VB.NET

  • Allgemein

Es gibt 14 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Einstieg in VB.NET

    Hey Community!

    Also, ein Kumpel von mir möchte sich mit dem Programmieren beschäftigen, um zumindest grundlegendes (auch für die Schule) besser nachzuvollziehen können. Ich schlug ihm prompt VB.Net vor, da es a) OOP ist, wie auch das tolle Ruby in der Schule, und b) es bei mir ja auch geklappt hat.
    Nun ist meine Frage: Habt ihr eine Sammlung von Links, speziell zu Tutorials, Threads oder was auch immer, die ihm einen guten Einstieg ermöglichen ?

    Gruß,
    ThePlexian
    »There's no need to "teach" atheism. It's the natural result of education without indoctrination.« — Ricky Gervais
    Moin,

    nicht konkret zu Deiner Anfrage, aber ich hätte ihm C# vorgeschlagen, da es benutzerfreundlicher ist, weil Du da nicht wie in VB.NET evtl. falsche Sachen lernst, die Du dann später nervig wieder ausbügeln musst.
    Ansonsten schaue mal im Tipps&Tricks-Forum, auch bei den angepinnten Threads, da findet sich was.
    Was wenn dann auch zu empfehlen ist, ist das Entwicklerbuch von Klaus Löffelmann, denn da lernt man VB.NET wenn richtig.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Datenverarbeitungs-Vorraussetzungen
    Das fängt mit den Grundlegendsten an, und endet mit einem erweiterungsfähigen Einstieg in relationale Datenbänkerei.
    Ausser der (allerdings zentralen) Buchempfehlung gehts meist drum, wie man das Lernen lernen kann, und wie man die VisualStudio-Tools für sich arbeiten lässt.
    Ich danke euch soweit, hat jemand auch nen Link zu Beispielcodes ? Also iwie HelloWorld, oder was auch immer, so lerne ich nämlich am besten :)
    »There's no need to "teach" atheism. It's the natural result of education without indoctrination.« — Ricky Gervais

    ThePlexian schrieb:

    hat jemand auch nen Link zu Beispielcodes ?
    guck einfach die Tipps n Tricks durch. Zumindest meine Tuts enthalten immer BeispielCodes.
    Mein einfachstest Tut-Sample wird das zum Alles über Events - Video sein.
    Auch das Sample von Layout in Windows.Forms ist vom simpelsten.

    Ansonsten auf dem Niveau von "Hello World" gibts keine Tuts, weil das ist zu simpel.
    Ausserdem ist die Messagebox keine Userfreundliche Oberfläche, das soll man sich garnet angewöhnen.
    Niko Ortner hatte mal vor ner Weile nen Pseudocode gepostet gehabt. Damit ließe sich vielleicht die Syntax von VB etwas leichter erklären (weil man keine Technikkenntnisse braucht):

    Niko Ortner schrieb:

    Wir mussten einen Algorithmus aus dem Alltag als Programmablaufplan und als Pseudocode schreiben. Ich hab mir für VB entschieden:
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Public Class Niko
    2. Inherits Universe.Materials.LifeForms.CarbonBased.HomoSapiens
    3. Public Sub StackWood()
    4. 'Den einzigen Holzhaufen in der Einfahrt lokalisieren.
    5. Dim WoodPile = Me.Home.Driveway.GetUniqueContent(Of Pile(Of Universe.Materials.Complex.WoodBillet))()
    6. If WoodPile.IsEmpty Then
    7. Me.ComplainAbout(WoodPile, "Empty")
    8. Else
    9. 'Legt einen neuen (leeren) Holzstapel an der südlichen Wand der Garage an, wobei mindestens Platz für den längsten Holzscheit reserviert wird.
    10. Dim TargetStack As New Stack(Of Universe.Materials.Complex.WoodBillet)(Environment.Space.Volume3D.LinearExtrudeFromArea(Me.Home.Garage.GetWall(Environment.Space.CardinalDirection.South).InnerFace, WoodPile.Max(Function(Item) Item.Length)))
    11. 'Handschuhe anziehen.
    12. For Each i In Me.Body.AllHands
    13. If Not i.IsEmpty Then
    14. 'Objekte, die sich zur Zeit in der Hand befinden, müssen weggelegt werden.
    15. Me.PutObjectsToSafePlace(i.Content, False)
    16. End If
    17. If Not i.HasAccessory(Of Universe.Structures.MSK.Clothing.Glove)() Then
    18. 'Nächsten Handschuh lokalisieren.
    19. Dim ClosestGlove = Me.Body.Brain.Pathfinding.FindClosestElement(Me.Body.Location, Function(Item) Item.Location, Me.Home.Land.FindMultipleContents(Of Universe.Structures.MSK.Clothing.Glove)())
    20. Me.Body.MoveAlongPath(ClosestGlove.Path)
    21. 'Und anziehen.
    22. i.PickUp(ClosestGlove.Element)
    23. i.ApplyCurrentContentAsAccesory()
    24. End If
    25. Next
    26. 'Holz stapeln
    27. Do Until WoodPile.IsEmpty OrElse TargetStack.CapacityReached
    28. 'Holz sammeln.
    29. Do
    30. 'Nächsten Holzscheit lokalisieren und mit rechter Hand aufheben.
    31. Me.Body.MoveAlongPath(Me.Body.Brain.Pathfinding.FindPathToClosestPointOfVolume(WoodPile.Volume))
    32. Me.Body.RightHand.PickUp(WoodPile.GetClosestWoodBillet(Me.Body.Location))
    33. 'Linke Hand fungiert als Puffer.
    34. Me.Body.LeftHand.PickUp(Me.Body.RightHand.PopContent)
    35. Loop Until Me.Body.LeftHand.CapacityReached
    36. 'Holz ablegen
    37. For Each i In Me.Body.LeftHand.Content
    38. 'Nächste ideale Position für Holzscheit finden und dort ablegen.
    39. Me.Body.MoveAlongPath(Me.Body.Brain.Pathfinding.FindPathToLocation(TargetStack.GetNextIdealInputLocation))
    40. Me.Body.RightHand.PickUp(Me.Body.LeftHand.PopContent)
    41. Me.Body.RightHand.PlaceContentIntoVolume(TargetStack.Volume)
    42. Next
    43. If Universe.QuantumPhysics.Random.GetRandomNumber(0, 10) = 0 Then
    44. Me.ComplainAbout(WoodPile, "Pain")
    45. End If
    46. Loop
    47. 'Handschuhe ausziehen
    48. For Each i In Me.Body.AllHands
    49. i.UnapplyAccessories()
    50. i.DropContent()
    51. Next
    52. 'Abschluss
    53. Do While (Me.Body.BloodStream.CountFreeMolecules(Of Universe.Materials.Molecules.Ethanol)() / Me.Body.BloodStream.CountFreeMolecules()) < 0.0015
    54. Me.Body.Mouth.Swallow(Me.Home.Land.FindContent(Of IContainer(Of Universe.Materials.Molecules.Ethanol))().Content)
    55. Loop
    56. End If
    57. End Sub
    58. End Class


    @RushDen
    Wenn er Hilfe von Leuten hat die es gut können (wie ThePlexian) sollte das doch eigentlich kein Problem sein, oder?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „nafets“ ()

    Würde auch c# empfehlen besonders weil in den schulen java gelehrt wird (meistens) und die syntax von beiden sich sehr ähnelt

    Auserdem kann man da nicht soviel ranz lernen wie mit vb.net und strict off

    edit: @nafets

    Ich hab auch mit VB.Net angefangen und damit Grundlagen u.ä. gelernt, als ich dann auf C# umsteigen wollte, fand ich das doch sehr ungewohnt und hat mich wochen gedauert bis ich wirklich sagen konnte ich nehm jetzt C# statt VB.net für nen Projekt.
    Besonders weil VB.net case insensitive ist und C# nicht und z.B. Klammern bei Methoden nicht notwendig sind, gewöhnt man sich dann an sowas und empfindet man dann als lästig, obwohl es wichtig ist.

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „RushDen“ ()

    Was dann umgekehrt (erst C#, dann mal in VB.NET reingeschnuppert) dazu führt, das man sich wundert, was so alles weggelassen werden kann. Teilweise wird das ganze dann schwer durchschaubar, aber komischerweise funktioniert es dennoch ;)

    Jedenfalls machte mir mein Ausflug in VB.NET großen Spaß. Meine letzten BASIC-Routinen haben ich Ende der 80er geschrieben, auf nem Schneider CPC und das Coding dieser tage fühlte sich an wie ein "Ich bin wieder zuhause" ;)

    RushDen schrieb:

    Besonders weil VB.net case insensitive ist und C# nicht und z.B. Klammern bei Methoden nicht notwendig sind, gewöhnt man sich dann an sowas und empfindet man dann als lästig, obwohl es wichtig ist.
    naja - in c# ist das wichtig, in vb.net nicht.
    Ansonsten die Regel ist eiglich einfach: Leere Klammern kann man in vb halt weglassen.

    RushDen schrieb:

    weil VB.net case insensitive ist und C# nicht
    Letztendlich sorgt die IDE auch bei VB.net dafür, dass die Schreibweise nicht gemischt codiert werden, sondern immer die richtige (bzw. definierte) Schreibweise übernimmt.

    Was in VB.net natürlich nicht geht, ist die Definition verschiedener Variablen mit gleichklingendem Namen (Status, status, statuS, StatuS).
    Zu den Anfangszeiten von C sah ich öfters solche phantasievollen Konstrukte und fand sie schon damals extrem unübersichtlich.

    Unabhängig von der Programmiersprache sollte man sich sowieso an allgemeine Konventionen halten.
    Und im Microsoft-Umfeld ist das normalerweise auch diese: msdn.microsoft.com/en-us/libra…o/ms229043(v=vs.100).aspx
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Diese Möglichkeit kann man aber auch zum Guten nutzen:
    Deklariere ich eine Property (keine Auto-Property!), nenne ich sie zum Beispiel Text. Die dazugehörige (private) Variable heißt dann text. Das ist in C# normale Benennung und auch hilfreich.

    Edit:
    @ErfinderDesRades
    Wenn ich eine private/protected/lokale _Variable_ habe, schreibe ich diese klein. Ist es eine Property, schreibe ich sie immer groß. Bei in der Klasse deklarierten Variablen schreibe ich immer noch ​Me.variable/​this.variable davor, dadurch gibts dann eine Unterscheidung.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „nafets“ ()