VB vs. C#

  • VB.NET

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

    Du kannst es ja so probieren das du es in VB machst und wenn erfolgreich, das Projekt dann versuchst (ohne mit einem Online-Übersetzer) zu C# zu portieren. So lernst du denke ich genug was die Syntax betrifft.

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    asusdk schrieb:

    zu einer Categorie gehört, die wiederum einer Category angehören könnte,
    Hihi - Also Kategorie-Handling - da kann man sich gewaltig verkünsteln...
    Ist keine Frage des Controls, sondern - mal wieder - des Konzepts, und des Datenmodells.
    Leider hat man in Wpf nicht die volle Unterstützung eines typisierten Datasets, sondern muss sich mit Datenbanken herumschlagen und dem EF-Context, der nur eingeschränkt relational ticken tut.

    Aber das ist hier OT.
    ​Leider hat man in Wpf nicht die volle Unterstützung eines typisierten Datasets


    Ich verstehe, worauf du Hinauswillst, aber ich muss ganz ehrlich gestehen, dass ich die Arbeit mit Datasets bis heute noch nie hinbekommen habe, daher bin ich ganz froh diese In WPF nicht verwenden zu müssen :P
    If Energy = Low Then
    Drink(aHugeCoffee)
    Else
    Drink(aHugeCoffeeToo)
    End If

    ErfinderDesRades schrieb:

    und dem EF-Context, der nur eingeschränkt relational ticken tut

    Ist zwar OffTopic aber wie kommst du zu dieser Aussage. Im Endeffekt ist dahinter eine relationale Datenbank. Also kann ich das nicht ganz nachvollziehen, aber evtl. hast du ja hintergrundinfos die ich nicht habe. Bisher konnte ich alles was ich mit der DB selbst auch machen könnte auch mdit EF erledigen, nur eben "angenehmer".

    Aber egal, ich finde Datenbanken sowieso auch besser, und sei es nur ne localDB.

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Guten Morgen euch allen,
    ich gebe hier mal meinen Senf dazu, da ich vor kurzem vor der gleichen Frage stand.

    Ich werkle seit ungefähr 17 Jahren mit Vb als Sprache, die letzten Jahre natürlich mit VB.net und WPF. Mehrere meiner Anwendungen sind im operativen Einsatz und VB hat mir gute Dienste geleistet. Mittlerweile ist aber klar das VB.net in Zukunft zu einer toten Sprache mutieren wird. Es wird immer VB geben dafür ist die Verbreitung und die Ähnlichkeit zu anderen Sprachen groß genug aber mit der Einführung des .net 5 Frameworks hat Microsoft klar gemacht, dass sie VB.net als „fertig“ betrachten und nicht mehr aktiv weiter entwickeln. Das eine Sprache nie fertig sein kann ist uns allen klar, dafür ändert sich die Welt zu rasch. Für mich also eine nette Umschreibung das die Sprache aussterben soll. Wie nofear bereits geschrieben hat, bereits jetzt werden keine Projektvorlagen für WPF in VB.net in Visual Studio mehr bereitgestellt. Das ist zwar noch kein großes Problem aber lästig.
    Spätestens wenn deine Applikation aber Web fähig werden soll, Stichwort ASP.net Core wirst du mit VB.net wenig Spaß haben.

    Der Umstieg ist im Grunde nicht schwer am Anfang habe ich mich auch im Klammerwald verloren, aber mittlerweile kann ich den Syntax fast ähnlich fließend lesen und schreiben wie Vb.net, dass schon beschriebene Refractoring ist ein Traum und mittlerweile Liebe ich es.

    Mein Tipp wenn du mit MVVM arbeitest, nimm dir deinen Model Layer und arbeite zu Beginn diesen in C# um. Die simplen Poco Klassen sind schnell umgebaut und man bekommt rasch ein Feeling.

    Ps: Ist zwar etwas Off-Topic aber ein weiterer Hinweis für das geplante aussterben von VB.net ist aus meiner Sicht das Navision (das ERP von Mircosoft) mit der neuen Version von C/AL (einem Art von.net Dialekt) auf C# umgestellt wird.
    Aussage auf Basis Post 26 zurückgezogen.
    mfG.
    Stephan

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

    kaifreeman schrieb:

    Ps: Ist zwar etwas Off-Topic aber ein weiterer Hinweis für das geplante aussterben von VB.net ist aus meiner Sicht das Navision (das ERP von Mircosoft) mit der neuen Version von C/AL (einem Art von.net Dialekt) auf C# umgestellt wird.

    Hi,
    sorry, auch wenn es OT ist, aber die komplette Aussage ist falsch. Navision gibt es seit 15 Jahren nicht mehr - bevor es zu Microsoft Dynamics 365 Business Central wurde, hieß es einfach nur Microsoft Dynamics NAV. C/AL ist sicherlich kein .NET Dialekt, auch keine Art davon. C/AL ist eine an Pascal angelehnte Sprache. Microsoft hat C/AL zu
    AL weiterentwickelt, weil der Switch zu C# für die (alteingesessenen) Entwickler zu krass gewesen wäre (und sicherlich auch neben anderer Hürden) - Business Central Entwickler haben mit Visual Studio Code auch eine neue Heimat gefunden. Interessanterweise wird AL Code intern (Serverseitig) trotzdem nach C# konvertiert. :D
    Fast-Vollzitat des direkten Vorposts an dieser Stelle entfernt ~VaporiZed

    Ja sry. du hast Recht es heißt jetzt Business Central, für mich wird es immer NAVISION bleiben, ich bin gerade dabei von Version 14.0 upzugraden, bin aber erst am Start vom Projekt, d.h. habe ich selbst den Code nicht gesehen nur die Aussage von unserem Consultant erhalten das C/AL Richtung AL mit C# Syntax zu vergleichen wäre.

    Ich hab hier mal einen Beispiel Code für C/AL:

    Integer - OnAfterGetRecord()
    BusinessCounter := DATE2DMY(FilterDate,2);

    IF BusinessCounter < 4 THEN
    BussinessCounterYear := DATE2DMY(FilterDate,3) -1
    ELSE
    BussinessCounterYear := DATE2DMY(FilterDate,3);

    DateCalcYear := DMY2DATE(1,4,BussinessCounterYear);

    //DateCalcYear := CALCDATE('<-CY>',FilterDate);
    DateCalcMonth := CALCDATE('<-CM>',FilterDate);
    DateCalcDay := FilterDate;
    DateCalcYearPre := CALCDATE('<-1Y>',DateCalcYear);
    DateCalcMonthPre := CALCDATE('<-1Y>',DateCalcMonth);
    DateCalcDayPre := CALCDATE('<-1Y>',DateCalcDay);
    FilterDatePre := CALCDATE('<-1Y>',FilterDate);


    Für mich hat es immer Ähnlichkeiten mit VB.net gehabt, in dem Fall wieder was gelernt. Ziehe meine Aussage zurück.
    mfG.
    Stephan

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

    asusdk schrieb:

    komischen Zeichenfolgen wie z.B. == oder !=

    Um noch etwas konstruktives zu diesem Thema beizutragen: Evtl. helfen dir bei diesem Problem Ligaturen. Dabei werden die "komischen" Zeichen in "schöne" Zeichen konvertiert :D Als Beispiel siehe hier betterwebtype.com/articles/202…th-cool-coding-ligatures/
    Microsoft selbst wird mit VS 2022 den Ligatur-Fähigen Font Cascadia Code als Standardschriftart einführen. Im Moment müsstest du diesen selbst herunterladen und bei dir in VS/VS Code einbinden.