tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
10
ZUGRIFFE
3474
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Despair Blue
    Despair Blue Despair Blue ist offline Mitglied Bronze
    Registriert seit
    Apr 2005
    Beiträge
    42
    Ich programmiere schon seit einer Weile in VB.NET und hab mich jetz mal an C# rangewagt...

    Für mich ist der C#-Quellttext unübersichtlicher als das VB Äquivalent. Meine Frage ist nun: "Welche Gründe gibt es C# zu benutzen wenn doch beide Sprachen in die selbe MSIL übersetzt werden und VB.NET ansich übersichtlicher ist. Ich weiß das es viele Leute gibt die von Java und C++ umgestiegen sind und dann natürlich die Sprache mit der vertrauten Syntax lernen...aber wieso sind die meisten der Meinung das C# leistungsfähiger ist?

    Ich hoffe die Frage is nich ganz so idiotisch wie sie mir selber vorkommt und ich bedanke mich schon mal im Voraus für jede konstruktive Antwort.

    (wisst ihr eigentlich wie hart es is mit Groß- und Kleinschreibung zu schreiben als faule VB.NET progger )
     

  2. #2
    Avatar von Norbert Eder
    Norbert Eder Norbert Eder ist offline Mitglied Diamant
    Registriert seit
    Feb 2004
    Ort
    Österreich / Graz
    Beiträge
    5.137
    Blog-Einträge
    51
    Im Grunde ist es unerheblich in welcher Programmiersprache unter .NET programmiert wird.

    Bei genauerer Betrachtung ist es so, dass gewisse Dinge mit VB.NET einfacher zu realisieren sind. Auf der anderen Seite ist VB.NET einfach unsauber (Typzuweisungen etc.) und wird daher von vielen Programmierern nicht wirklich ernst genommen.

    Prinzipiell bleibt es dir überlassen womit du lieber arbeitest. Ausserdem wurde dieses Thema hier schon des öfteren behandelt.
     

  3. #3
    Avatar von Christian Kusmanow
    Christian Kusmanow Christian Kusmanow ist offline Mitglied Diamant
    Registriert seit
    Aug 2004
    Ort
    Aachen (NRW)
    Beiträge
    2.208
    Blog-Einträge
    15
    C# vs. VB.NET
    Das ist fiktive Polemik
    Ich stimme Norbert voll und ganz zu.
    Such hier im Forum mal nach "Wurschtelcode"
     
    MfG,
    Christian

    Wer sein Problem definiert, hat es schon halb gelöst!

    Bitte markiert eure Themen als erledigt. Sonst macht so ein Forum als Nachschlagewerk keinen Sinn.

    The Code Project! - C# Programming | C# / VB.NET Pendants

    Regeln + Netiquette

    Liebe FIAEs, verlasst euch nicht auf das was in der Berufsschule "vermittelt" wird
    und vor allem nicht auf das, was euch die IHK dazu erzählt!
    Die haben so viel Ahnung von dem Gewerk, wie der Bundestag vom Haushalt...

  4. #4
    Avatar von Despair Blue
    Despair Blue Despair Blue ist offline Mitglied Bronze
    Registriert seit
    Apr 2005
    Beiträge
    42
    Danke euch!

    Ich habe echt gesucht aber nix gefunden...sry wenn ich das Forum um einen sinnlosen Beitrag erweitert habe

    Kann mir wer erklären wie sich das "unsaubere" dann im endeffekt auf das fertige Programm auswirkt? Ich mein ist das dann allgemein für jede VB programierte Anwendung so oder is das abhängig davon inwiefern der Programmierer VB.NET nutzt?
     

  5. #5
    Avatar von Christian Kusmanow
    Christian Kusmanow Christian Kusmanow ist offline Mitglied Diamant
    Registriert seit
    Aug 2004
    Ort
    Aachen (NRW)
    Beiträge
    2.208
    Blog-Einträge
    15
    Ich bräuchte mal etwas konstruktive Kritik - Thread
    VB.NET vs C# - Thread
    Kann mir wer erklären wie sich das "unsaubere" dann im endeffekt auf das fertige Programm auswirkt? Ich mein ist das dann allgemein für jede VB programierte Anwendung so oder is das abhängig davon inwiefern der Programmierer VB.NET nutzt?
    Bestes Beispiel war die unwartbare Arbeitslosengeld 2 Software des Arbeitsamts.
    Ein zustand wie vor 20 Jahren.
    Initiator war glaube ich Peter Harz.

    Des weiteren gibt's auch mehr Speicherverbrauch und eine erschwerte Teamarbeit,
    da man sich mit dubiosen Konstrukten der anderen Entwickler rumärgern muss.
     
    MfG,
    Christian

    Wer sein Problem definiert, hat es schon halb gelöst!

    Bitte markiert eure Themen als erledigt. Sonst macht so ein Forum als Nachschlagewerk keinen Sinn.

    The Code Project! - C# Programming | C# / VB.NET Pendants

    Regeln + Netiquette

    Liebe FIAEs, verlasst euch nicht auf das was in der Berufsschule "vermittelt" wird
    und vor allem nicht auf das, was euch die IHK dazu erzählt!
    Die haben so viel Ahnung von dem Gewerk, wie der Bundestag vom Haushalt...

  6. #6
    Avatar von Norbert Eder
    Norbert Eder Norbert Eder ist offline Mitglied Diamant
    Registriert seit
    Feb 2004
    Ort
    Österreich / Graz
    Beiträge
    5.137
    Blog-Einträge
    51
    Das ist dann für jede so.

    Aber bevor ich mir da die Finger wund schreibe: http://support.microsoft.com/?kbid=308470
     

  7. #7
    Avatar von Christian Kusmanow
    Christian Kusmanow Christian Kusmanow ist offline Mitglied Diamant
    Registriert seit
    Aug 2004
    Ort
    Aachen (NRW)
    Beiträge
    2.208
    Blog-Einträge
    15
    Welcher Honk hat den das für die übersetzt?
    http://support.microsoft.com/kb/308470/en-us (In Englisch)
    Geändert von Christian Kusmanow (07.04.06 um 11:43 Uhr)
     
    MfG,
    Christian

    Wer sein Problem definiert, hat es schon halb gelöst!

    Bitte markiert eure Themen als erledigt. Sonst macht so ein Forum als Nachschlagewerk keinen Sinn.

    The Code Project! - C# Programming | C# / VB.NET Pendants

    Regeln + Netiquette

    Liebe FIAEs, verlasst euch nicht auf das was in der Berufsschule "vermittelt" wird
    und vor allem nicht auf das, was euch die IHK dazu erzählt!
    Die haben so viel Ahnung von dem Gewerk, wie der Bundestag vom Haushalt...

  8. #8
    Avatar von Norbert Eder
    Norbert Eder Norbert Eder ist offline Mitglied Diamant
    Registriert seit
    Feb 2004
    Ort
    Österreich / Graz
    Beiträge
    5.137
    Blog-Einträge
    51
    Vermutlich ein Translation-Robot. Den Artikel sollte es aber auf Englisch auch geben.
     

  9. #9
    Avatar von Despair Blue
    Despair Blue Despair Blue ist offline Mitglied Bronze
    Registriert seit
    Apr 2005
    Beiträge
    42
    Den MSDN-Artikel kenn ich schon, da ich nehmlich vorbildlich war, hab ich zuerst die MSDN durchsucht, dann das Forum hier (wobei ich ehrlich keinen Thread für den Vergleich beider Sprachen gefunden habe) und dann habe ich erst gepostet

    Also wie ich das sehe sind beide Sprachen ungefähr gleichwertig und man sollte die Sprache programieren die einem am besten gefällt und mit der man am besten klar kommt. Und damit gibt es keinen richtigen Grund umzusteigen. Richtig?

    PS: hab übrigens gleich nach "wurschtelcode" gesucht und es gefunden, war noch am lesen wo ihr geantwortet habt
    wie ich sagte...bin nen vorbildlicher Forumsnutzer

    danke für eure Antworten und die vielen Links...ich glaub ich weiß nun das ich mir nich die Mühe machen muss umzusteigen
    ____________________________________________________________________________

    jetz stimmts aber
     

  10. #10
    Avatar von Sunray
    Sunray Sunray ist offline Mitglied Gold
    Registriert seit
    Sep 2003
    Ort
    Schweiz
    Beiträge
    190
    Wenn mit option strict und option explicit programmiert wird, spielt es so ziemlich keine Rolle, ob du in VB oder in C# programmierst... und doch sind da Unterschiede:
    • Anstelle des String Vergleichsoperators wird eine Microsoft.VisualBasic Funktion verwendet. (Unter anderem um Compare Text/Binary zu unterstützen)
    • Sämtliche VB.NET Funktionen (also mit Rückgabewert) generieren eine Variable, die den selben Namen/Typ wie die Funktion hat.
    • In VB.NET kann benannte index Eigenschaften (named indexers) deklarieren.
      Code vbnet:
      1
      2
      3
      
      Public Property NamedIndex(index as Integer) as String
          '... Get/Set
      End Property
      C# kann mit diesen Mitgliedern zwar umgehen (sie konsumieren), aber nicht selbst definieren.
    • Umgekehrt können sich zwei Mitglieder in C# nur in der Schreibweise (gross/klein) unterscheiden. Dort stösst VB dann an seine Grenzen.
    • VB.NET kann von einem Interface "geerbte" Methoden umbenennen, C# nicht.

    Ich bin etwa in der selben Situation wie du. Ich habe auch mit VB.NET angefangen und bin dann "zufällig" auf C# gestossen. Was ich an C# nicht ausstehen kann ist die Vererbungssyntax:
    Code csharp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    interface IOne 
    {
        void DoOne();
    }
     
    class Two : System.Object, IOne
    {
     
    }
    Der Unterschied zwischen Interfaces und Klassen ist nicht so deutlich wie in VB. Selbstverständlich ist das rein subjektiv, den Interfaces sind leicht am I zu erkennen.
    Ebenfalls ein Nachteil von VB ist, das alle Methoden per default überschrieben werden können, also "virtual" sind, denn virtuelle Funktionen benötigen mehr Zeit um aufgerufen zu werden. Und natürlich ist man als Programmierer zu faul um überall "NotOverridable" hinzuschreiben...

    Sollte ich mal wieder ein neues Projekt anfangen, werde ich das in C# tun. ( C++/CLI sieht auch interessant aus )
     
    Zu jedem Problem gibt es mindestens eine Lösung.
    Zu jeder Lösung gibt es mindestens eine bessere Lösung

  11. #11
    Avatar von Despair Blue
    Despair Blue Despair Blue ist offline Mitglied Bronze
    Registriert seit
    Apr 2005
    Beiträge
    42
    Danke, diese Antwort war wirklich sehr informativ

    Bin mir jetz sicher das ich bei VB bleibe....Ich mag einfach die intuitive Syntax (auch wenns einige nich lesen könne )

    Ich hab schon immer mit strict und explicit geproggt *stolz sei*