Visual Basic oder C#?

  • Hey,
    unszwar möchte ich gerne ein Programmiersprache lernen,
    jetzt habe ich mir VB & C# ausgesucht nur weiß ich nicht welche ich davon lernen soll?
    Jetzt habe ich folgende Fragen:

    • Was ist leichter?
    • Womit kann man mehr machen?
    • Kann man mit C# auch Keybinder machen (mit VB gehts ja)


    Ich hoffe ihr könnt mir helfen.


    MFG #PWN

  • Der Meinung von LeijaT kann ich mich anschließen.
    Visual Basic ist grundsätzlich einfacher, bietet aber weniger Möglichkeiten als C#.


    Wenn du bereits ein bisschen Erfahrung mit Programmieren hast, würde ich dir C# empfehlen.
    Andernfalls kannst du mit VB gut die Grundlagen vom Programmieren lernen und wenn du die beherrscht kannst du immer noch auf andere Sprachen umsteigen.

    Professioneller Webentwickler.

  • Kann mich ebenfalls LeijaT anschließen.
    VB ist sehr einfach zu benutzen für Anfänger und die Syntax ist m.M.n. auch einfacher.
    Für Keybinder empfehle ich dir aber Autohotkey; Keybinder, die mit .Net Sprachen gemacht wurden, werden meist als Virus interpretiert (kommt natürlich drauf an, welche Methode man nutzt, die meisten nehmen Keyboard Hooks, die anderen GetAsyncKeyState..).

  • AHK kann ich schon ganz gut ^^
    Ich möchte die auch lernen für andere Sachen, ich würde dann nur nebensächlich damit
    Keybinder machen, ich wollte halt mal wissen obs geht. :)
    Was ich mich noch frage:
    Kann man mit VB eigentlich ne MySQL Datenbank auslesen usw.?

  • @#PWN: Ja - aber lass es.
    Das ist unsicher. Man muss seine Daten im Klartext angeben und man braucht externen Zugriff auf die Datenbanken.
    Da braucht jemand nur deine Applikation in 'nen Decompiler schmeißen und er hat alle Daten.+


    Mach's lieber mit 'nem Webclienten und PHP-Dateien auf deinem Server.

  • Visual Basic ist grundsätzlich einfacher, bietet aber weniger Möglichkeiten als C#.

    Dass Visual Basic weniger Moeglichkeiten bietet ist mir neu. Visual Basic, C# und die ganzen anderen .NET Sprachen basieren auf dem gleichen Prinzip, bzw. der gleichen Umgebung, und soweit ich weiss ist alles was in C# moeglich ist auch in Visual Basic auf meist sehr aehnliche Weise moeglich. Der einzige Unterschied sollte groesstenteils der Syntax sein.


    Da ich jedoch nicht so viel mit .NET Sprachen (und erst recht nicht mit Visual Basic) arbeite kann ich mich damit auch irren. Lasse mich deswegen gerne eines besseren belehren, vorzugsweise mit konkreten Beispielen fuer etwas, was in C# moeglich ist, was aber nicht in Visual Basic moeglich ist, oder einen Online-Artikel/Wikipedia-Auszug oder andere (ueberpruefbare/verlaessliche) Beweise.


    PS.: Wenn man bereits an einen C(-aehnlichen)-Syntax, wie PAWN, gewoehnt ist duerfte C# einfacher sein. Fuer absolute Neulinge ist sicherlich Visual Basic einfacher, meiner Meinung nach ist Visual Basic aber nicht zu empfehlen, wenn man Programmieren lernen will und spaeter auf eine weit verbreitete Sprache umsteigen moechte muss man meistens ja doch einen C(-aehnlichen)-Syntax erlernen, deswegen waere es besser den gleich von Anfang an zu lernen.

  • Die Aussage halte ich persönlich für absoluten Quatsch. PAWN bereitet einen nicht in geringsterweise darauf vor objektorientiert zu Arbeiten. Zwar hat man durch die gebrauchsähnliche Syntax einen erheblichen Vorteil beim Lernen der "Vokabeln", verliert diesen Vorsprung aber rapide bei der Umsetzung größerer Programme, die ein objektorientiertes Denken vorraussetzen. Wer dir da was anderes erzählt, sollte seine Sourcecodes vermutlich besser versteckt halten, denn da kann nichts Gescheites drin stehen.


    Ob man jetzt der Meinung ist, Vokabeln bereits zu kennen, sei ein Vorteil beim Lernen der Grammatik (Um mal bei der Metapher zu bleiben, auch wenn sie eigentlich dumm ist), kann sich natürlich gerne auf C# stürzen. Wird aber meiner Ansicht nach alsbald feststellen, dass die Syntax sich von ganz allein lernt, während man das Verständnis für die Sprache bekommt.


    VB dagegen hat den Vorteil, dass es in seiner Komplexität (Gibt's das Wort? oO) viel sachter bleibt.


    Alternativ kannst du dir auch online einige Userrezensionen und publike Artikel anschauen. Beispielsweise:
    http://msdn.microsoft.com/de-de/library/bb979458.aspx


    Schließlich und endlich ist aber immer die Sprache am Besten, die dein Vorhaben möglichst effizient mit dem geringsten Aufwand realisieren kann.


    Mein CS:GO Server: 62.75.168.39:27016


    Ich bin so hungrig, dass ich vor lauter Durst nicht weiß, was ich rauchen soll - so müde bin ich!
    Freedom is just another word for 'Nothing left to lose'

  • LeijaT, ich finde es gut, wie objektiv Du Deine Argumente rueberbringst, ohne den Versuch persoenlich zu werden, da macht es doch Spass sich mit Dir zu unterhalten. Ausserdem weiss ich nicht, wo du meinst gelesen zu haben, dass PAWN auf Objektorientierte Programmierung vorbereitet, wenn es sich auf meinen Text bezieht wirst du dich verlesen haben.


    Ich sehe da keinen grossen Unterschied, mit welcher objektorientierten Sprache man die Objektorientierung lernt. Wenn man sich aber mit der generellen Syntax bereits auskennt findet man sich auch schneller in dem Code zurecht und kann sich besser auf die Grundsaetze der Programmierung und die Dinge konzentrieren, die anders/neu sind. Und ob es beim erlernen einer Programmiersprache wirklich so gut ist, auf den richtigen Editor mit Autoformatierung, -Vervollstaendigung und sonstigen schnick schnack angewiesen zu sein (wie es in dem Verlinkten Artikel als Vorteil fuer Visual Basic aufgelistet ist) und Prinzipien zu erlernen, die bei den meisten anderen weit verbreiteten Programmiersprachen keine Anwendung findet (case-insensitivity) halte ich fuer zweifelhaft. Die Produktivitaet kann es sicherlich steigern, wenn man schreiben kann was man will und heraus kommt das gewuenschte Resultat, aber die Code-Qualitaet leidet ungemein darunter (speziell, wenn derjenige dann an einem Rechner ohne Auto-coding arbeiten muss) und ich denke gerade bei einem Anfaenger verleitet Visual Basic dazu Dinge zu lernen, die spaeter in anderen Programmiersprachen als Fehler resultieren. Wenn man Programmieren lernen will, sollte man es richtig lernen - das was man nicht braucht, weil man auf ewig einen Code-Editor mit Auto-Coding verwenden will, kann man spaeter ja immer noch vergessen.


    B2T:
    Wie bereits gesagt wurde: verschaffe Dir am Besten selbst mal einen Ueberblick ueber die Sprachen und was Dir besser/leichter erscheint.


    http://de.wikipedia.org/wiki/Liste_von_Hallo-Welt-Programmen/Höhere_Programmiersprachen#Visual_Basic_.NET
    http://de.wikipedia.org/wiki/Liste_von_Hallo-Welt-Programmen/Höhere_Programmiersprachen#C.23
    Dort findest Du eine Uebersicht ueber die Hallo-Welt Programme. Das sagt zwar noch nicht viel aus, aber man kann einen kleinen Einblick in die Syntax bekommen und im Internet nach weiteren Code-Ausschnitten suchen, um sich einen besseren Ueberblick ueber die Sprache zu verschaffen. Gut kann es auch sein einfach in ein paar Anfaenger-Tutorials fuer die entsprechenden Sprachen reinzuschauen, diese duerften (je nach Qualtitaet des Tutorials) einen recht guten ersten Einblick in die Sprachen geben. Man sollte es natuerlich mit den Recherchen im Vorfeld nicht uebertreiben - die Beste Methode duerfte sein, dass man einfach eine der Beiden Sprachen auswaehlt und einfach anfaengt (schliesslich bieten beide Programmiersprachen die selben Moeglichkeiten), anstatt sich lange mit der Entscheidung zu befassen. Wenn man damit absolut nicht klarkommt (oder man mittlerweile ganz gut damit klar kommt und Lust auf etwas neues/anderes hat), kann man sein Glueck ja immer noch mit der anderen Sprache versuchen.
    Persoenlich finde ich die C# Syntax weit ansprechender als die von Visual Basic .NET, aber das ist geschmackssache und wird eigentlich auch zur Nebensaechlichkeit, sobald man die Syntax beherrscht.
    Letztendlich ist die Frage, ob man C# oder Visual Basic .NET waehlen soll (beziehungsweise welche 'besser' sei), zu vergleichen mit der Frage nach der Wahl der Religion - die Leute werden einfach ein wenig emotional und persoenlich, aber letztendlich ist die Beantwortung der Frage nur dadurch zu erreichen eigene Erfahrungen mit den Wahlmoeglichkeiten zu sammeln und anhand dieser die Frage fuer sich selbst zu beantworten.


    Edit:
    Wenn Du des englischen Maechtig bist ist sicherlich auch folgender Wikipedia Artikel interessant fuer dich: http://en.wikipedia.org/wiki/C…arp_and_Visual_Basic_.NET
    Das soll es dann auch von mir hier in diesem Thread gewesen sein, da ich das Gefuehl habe, dass dieser Thread nur zu einem hoechst unfreundlichen Glaubenskrieg-Thread fuehrt, wenn ich auf folgende Antworten antworten wuerde.

    Einmal editiert, zuletzt von SBIKA ()

  • Ausserdem weiss ich nicht, wo du meinst gelesen zu haben, dass PAWN auf Objektorientierte Programmierung vorbereitet, wenn es sich auf meinen Text bezieht wirst du dich verlesen haben.

    Garnicht. Bezog sich mehr auf seine Frage, ob C# nun leichter sein soll, nur weil man ein wenig PAWN kennt. Demnach wollte ich darauf hinweisen, dass auch PAWN Grundkenntnisse nicht annähernd so von Bedeutung sind, wie es hier im Forum oft angepriesen wird.


    Wenn man sich aber mit der generellen Syntax bereits auskennt findet man sich auch schneller in dem Code zurecht und kann sich besser auf die Grundsaetze der Programmierung und die Dinge konzentrieren, die anders/neu sind.

    Halte ich für einen subjektiven Faktor. Der eine muss die Syntax erst kennen, um die Logik zu lernen, der andere lernt die Syntax während er die Logik schon lange begriffen hat. Ist für mich kein ausschlaggebendes Argument, dass mich berechtigt, zu sagen, C# wäre einfacher, wenn man PAWN-Grundkenntnisse besitzt :p


    Was die Autovervollständigung angeht: Das hab ich in dem Artikel garnicht gesehen sorry. Hab nur mal auf die Schnelle 'n Link ergoogled um hier etwas Neutralität reinzubringen ;] Für @#PWN: lässt sich dazu sagen: Lass die Finger von die Dinger (Auto-Completion), solange du nicht sämtliche Befehle im Kopf auswendig kannst ohne drüber nachdenken zu müssen, denn erst dann lohnt sich ein effizientes Arbeiten mit Autovervollständigung.


    / E: Ausgebessert.


    Mein CS:GO Server: 62.75.168.39:27016


    Ich bin so hungrig, dass ich vor lauter Durst nicht weiß, was ich rauchen soll - so müde bin ich!
    Freedom is just another word for 'Nothing left to lose'