Warum wird VB.NET nicht anerkannt?

  • Hallo mir geht es um ein wichtiges Thema. Die Programmiersprache VB.NET leidet heute noch wegen seines Vorgängers VB, der rein gar nichts mehr mit VB.NET zu tun hat. Wieso verurteilen dann viele Coder VB.NET und schwören auf C#, C++, ... aber wer VB.NET nutzt der ist unprofessionell, ja sogar Sprüche wie "das ist nur für Anfänger", "damit kann man gar nichts anfangen" - aber wieso? C# nutzt doch das auch das NET Framework und unterscheidet sich neben den Syntax nur ein einigen Funktionen und Kleinigkeiten - wirklich mehr bietet es an sich nicht.


    C# ist nicht schneller, VB.NET ist nicht langsamer - doch C++ ist anscheinend schneller, besser, kontrollierbarer und individueller. Aber wie stark wirkt sich sowas auf das Endprodukt aus? Kann man mit VB.NET nicht ähnliches wie die anderen Programmiersprachen erstellen? Was ist an VB.NET schlecht? Der Syntax? Das schnell Erfolge zu verzeichnen sind? Das vieles vorgegeben ist wie in einen Baukasten? Wieso kann man keine aufwendigen Spiele in VB.NET machen, aber in C# "darf" man es (auch ohne XNA)? Sind diese nicht gleich?


    Ich liebe VB.NET und habe angefangen C# zu lernen, doch ich bevorzuge VB.NET, da ich keine eindeutigen Nachteile sehe. Das geht an alle VB´ler und anderen Programmierer was haltet ihr davon?

  • Ich hab mich ehrlich gesagt noch nie wirklich mit VB(.NET) auseinandergesetzt. Ich habe C++, Java und C# gelernt. Jede Sprache erfüllt einen anderen Zweck. Ich würde da VB.NET mal auf die Stufe von C# stellen, da sie ja beide auf das .NET Framework bauen. Und mit C++ KANN man wirklich mehr machen. Vergleiche es mit Autos, C++ ist der Oldtimer, man muss viel Erfahrung haben und alles schön selber einstellen, dann schnurrt das Kätzchen. .NET ist die C-Klasse von Daimler, vollgestopft mit Elektronik. Man kann sofort fahren, jedoch ist man aufgeschmissen, sobald die Elektronik spinnt.

    Dieser Beitrag wurde noch nie editiert, zuletzt von »hangman« (Heute , 13:37)



    1355?mode=raw


    Skill ist, wenn Luck zur Gewohnheit wird

  • Ich hab mich ehrlich gesagt noch nie wirklich mit VB(.NET) auseinandergesetzt. Ich habe C++, Java und C# gelernt. Jede Sprache erfüllt einen anderen Zweck. Ich würde da VB.NET mal auf die Stufe von C# stellen, da sie ja beide auf das .NET Framework bauen. Und mit C++ KANN man wirklich mehr machen. Vergleiche es mit Autos, C++ ist der Oldtimer, man muss viel Erfahrung haben und alles schön selber einstellen, dann schnurrt das Kätzchen. .NET ist die C-Klasse von Daimler, vollgestopft mit Elektronik. Man kann sofort fahren, jedoch ist man aufgeschmissen, sobald die Elektronik spinnt.


    Hehe der Vergleich gefällt mir. :)



    Wenn ich mir die Syntax von VB anschaue wirkt es auf mich sehr unorganisiert. Die { } in C(++) / C# bringen meiner Meinung nach viel mehr Ordnung in den Code als ein "Sub ***** End Sub".

    Zitat

    Dr. Gregory House: You've gotta get down here. They've got a satellite aimed directly into Cuddy's vagina. I told them that chances of invasion are slim to none but...

  • Ich würde sagen in der heutigen Zeit nimmt sich das alles nichts mehr.


    C#, C++, VB, Java, Delphi... sie alle gleichen sich mittlerweile so sehr, wenn man eine kann, kann man alle. Ist ein Unterschied wie von Amerikanischem zu Britischem Englisch.


    Richtige "Unterschiede" bemerkt man in der Performance (vermutlich?) erst, wenn es zu richtig komplexen Aufgaben kommt (Stichwort Cloud Computing). Das kann ich aber auch nur "Nachplappern", für meine Zwecke reichen bisher C, VB bzw. Delphi gleichermaßen.


    Beispielsweise überlegt man bei Stealthex gerade, Silkroad Emulatoren in Zukunft in GO zu programmieren (www.golang.org) - einfach "weil es ausreicht" und einfacher für Einsteiger ist. Wer diese Sprache nicht kennt, sollte ruhig mal ein wenig herumstöbern. Die Zeiten, wo es nur eine "Profi-" Programmiersprache gab sind vorbei. Mittlerweile gibt es eine Vielzahl "guter" Sprachen, und welche man benutzt, das hängt nur noch von persönlcihen Vorlieben und ggf. Erwartungen an das Endergebnis ab...

  • es hängt von einigem ab. zielbetriebssystem, geforderte reaktionszeit, vorhandener speicherplatz (das programm darf maximal 12KB haben, viel Spaß hrhr), portierbarkeit (soll auf allen servern laufen win server 2003, 2008, linux etc...)


    Aber wer nur für Windows Heimcomputer ohne große Anforderungen Endanwendungen programmiert, der kann sich aussuchen, was er will.


    Für die Geeks empfehle ich da dann Perl. neulich reingeschnuppert, da versteht man erstmal gar nix :D

    Dieser Beitrag wurde noch nie editiert, zuletzt von »hangman« (Heute , 13:37)



    1355?mode=raw


    Skill ist, wenn Luck zur Gewohnheit wird

  • es hängt von einigem ab. zielbetriebssystem, geforderte reaktionszeit, vorhandener speicherplatz (das programm darf maximal 12KB haben, viel Spaß hrhr), portierbarkeit (soll auf allen servern laufen win server 2003, 2008, linux etc...)


    Aber wer nur für Windows Heimcomputer ohne große Anforderungen Endanwendungen programmiert, der kann sich aussuchen, was er will.


    Für die Geeks empfehle ich da dann Perl. neulich reingeschnuppert, da versteht man erstmal gar nix :D


    wenns um unverständliche programmiersprachen geht, kann ich nur Ook! empfehlen.
    ein Hello World sieht da so aus:

  • wenn man eine kann, kann man alle


    Nope, is nich so. Nur weil man dann aufgrund einer Sprache, die man meint zu beherschen, auch den Code anderer Sprachen lesen und vielleicht sogar bis zum gewissen Punkt verstehen kann, kann man noch lange nicht die Sprache. Das ist völliger Käse. Die Sprachen haben zwar Gemeinsamkeiten, aber eben auch ihre Eigenarten und die kann man nicht einfach mal eben so herauslesen, geschweige denn sie sogar einsetzen, ohne sie jemals verinnerlicht zu haben. Das fängt schon bei Bezeichner an, geht über die Vorgehensweisen (z.B. Eventhandling) bis hin zu völlig anderen und besonderen speziellen Fähigkeiten, die man in anderen Sprachen so nichtmal im Ansatz findet.


    Also das ist Quatsch. Nur weil man eine Sprache meint zu beherschen (was vermutlich in den meisten Fällen auch noch nicht einmal gegeben ist), kann man nicht die anderen Sprachen, egal wie ähnlich die Syntax auch sein mag. Allerdings kann man aufgrund des bereits vorhandenen Wissens die anderen Sprachen sehr viel schneller lernen, da man viele Sachen reflektieren kann, aber eben nicht alles.


    So, und nun zu VB.NET. Hab damit auch nicht wirklich was zu tun gehabt, da es aber auf .NET aufbaut, würde ich sagen, dass es auf gleicher Stufe wie C# ist. Ich persönlich halte von der Sprache aber auch nix, denn ich finde die Syntax grausam. Das ist eine Sprache, die man wirklich lesen muss und ich finde, dass genau dieser Aspekt den Code eben eher unlesbar macht. Die C-like Syntax gibt einem in meinen Augen auf einen Blick viel mehr Informationen, da man eben nicht "lesen" muss. Blöcke usw. sind sofort erkennbar, da die Operatoren sich klar vom Text abheben muss. Bei "lesbaren" Sprachen muss man aber oft trotz Einrückungen erstmal das Ende suchen, bevor man weiß, wo z.B. ein Anweisungsblock aufhört. Im einfachsten Fall sind das vielleicht kleine Schleifen oder if-Abfragen, die kann man noch schnell abscannen. Bei Methoden oder gar Klassen wird das meiner Erfahrung nach doch oft schon eine Qual die Blöcke richtig zu identifizieren/erkennen.


    Und für die Industrie ist VB in jeglicher Form auch nicht sonderlich interessant. Die Masse an Firmen, die eine VB-Sprache einsetzt, ist so gering, dass es kaum Sinn macht die Sprache wirklich zu lernen. Da haben sich einfach andere Sprachen durchgesetzt, nämlich C/C++, Java und C#.

  • Nope, is nich so. Nur weil man dann aufgrund einer Sprache, die man meint zu beherschen, auch den Code anderer Sprachen lesen und vielleicht sogar bis zum gewissen Punkt verstehen kann, kann man noch lange nicht die Sprache. Das ist völliger Käse. Die Sprachen haben zwar Gemeinsamkeiten, aber eben auch ihre Eigenarten und die kann man nicht einfach mal eben so herauslesen, geschweige denn sie sogar einsetzen, ohne sie jemals verinnerlicht zu haben. Das fängt schon bei Bezeichner an, geht über die Vorgehensweisen (z.B. Eventhandling) bis hin zu völlig anderen und besonderen speziellen Fähigkeiten, die man in anderen Sprachen so nichtmal im Ansatz findet.


    Also das ist Quatsch. Nur weil man eine Sprache meint zu beherschen (was vermutlich in den meisten Fällen auch noch nicht einmal gegeben ist), kann man nicht die anderen Sprachen, egal wie ähnlich die Syntax auch sein mag. Allerdings kann man aufgrund des bereits vorhandenen Wissens die anderen Sprachen sehr viel schneller lernen, da man viele Sachen reflektieren kann, aber eben nicht alles.


    Ging mir auch mehr um das lernen. Die Syntax ist einfach bei allen modernen Programmiersprachen extrem ähnlich. Linguistisch betrachtet liegen diese Programmiersprachen alle sehr sehr nahe beieinander, deshalb der Vergleich mit den zwei Formen von Englisch.


    Natürlich kann man nicht sofort perfekt C wenn man Java kann. Aber wenn du breits eine der Sprachen kannst, dann verstehst du bereits Syntax und Grammatik der anderen zum Großteil. Man muss sich natürlich "hereinarbeiten". Aber es ist bei weitem nicht so kompliziert, als hättest du vorher Englisch gesprochen und möchtest jetzt z.B. Mandarin lernen...

  • Hab ja auch nix anderes behauptet ^^

    Zitat

    Allerdings kann man aufgrund des bereits vorhandenen Wissens die anderen Sprachen sehr viel schneller lernen, da man viele Sachen reflektieren kann, aber eben nicht alles.


    Sprachen haben Gemeinsamkeiten, aber eben auch Eigenarten. Die Gemeinsamkeiten kann man meist aus den bereits bekannte Sprachen reflektieren, aber die Eigenarten muss man dennoch lernen. Ich empfehle aber auch sich die Gemeinsamkeiten anzuschauen, denn auch da kann je nach Sprache ein unterschiedliches Verhalten auftreten.

  • @ Take, wenn du darauf hinaus willst, dass wenn z.b. Du VB.Net benutzt, und ein anderer C# , und er nennt dich "noob" weil du vb.net benutzt, dann würd ich ihn einfach ignorieren.


    Es hat ja nichts damit zu tuhn, wie einfach oder schwer eine sprache ist, es kommt in der heutigen zeig immer das gleiche dabei raus.
    Nur wenige features gehn bei manchen programmen nicht. Das ist aber eigentlich egal, da man sie irgentwie anderst herbekommt.



    Fazit: Scheiß auf die hater, sie können es selbst nicht besser ;-) .



    MFG: .Second

  • Es geht ja nicht um die Features, sondern um die Kompabillität unter dem Ziel OS. Ich hätte nie behauptet das sich C# von VB.NET abhebt. Ich glaube auch das es Geschmackssache ist. Mir geht es ähnlich wie Akeshiro, ich mag dieses unlesbare nicht. Es kommt natürlich auch auf den Programmier Stil an. Aber im großen und ganzen favorisiere ich C# eher. Möglicherweise auch, weil ich damit angefangen habe.


    Ich denke jedoch, wenn jemand eine Programmiersprache wirklich beherscht. So beherscht er nicht automatisch alle anderen Sprachen. Aber es ist möglich ohne große Vorkenntnisse in einer anderen Sprache zu Programmieren. Beherschen, ist das natürlich nicht.

    And the reign will kill us all
    We throw ourselves against the wall
    But no one else can see
    The preservation of the martyr in me


    Slipknot - Psychosocial

  • Also ist zum Großteil nur der Syntax schuld (betone "Großteil)? Ich werde weiterhin VB.NET weiterlernen (ich meine es gibt immer etwas neues zu lernen, erst vor kurzem hab ich gelernt wie ich mit INI Dateien umzugehen habe, wie ich Texte splitte, ...) und nebenbei lerne ich C#, weil mir die Sprache zwar gefällt - doch ich bevorzuge VB.NET, weil es für mich "klarer" ist. Man muss nur lesen und weiß was welcher Begriff machen, dass ist meist bei C# auch so, doch hier ist der Syntax strenger - er setzt voraus, dass wir Begriffe genau so schreiben mit Groß-/und Kleinschreibung, VB.NET korrigiert das immer automatisch und das spart unheimlich Zeit.


    Doch C++ ist mir noch zu kompliziert bevor ich VB.NET nicht "richtig" beherrsche brauch ich ja C++ nicht erst versuchen. Ich habe früher immer versucht alle Sprachen gleichzeitig und parallel zu lernen - am Ende konnte ich nur Grundlagen, und habe gemerkt es ist effektiver sich auf ein oder zwei Sprachen zu fokussieren.


    Danke für die vielen Antworten.


    @Second: Natürlich ist es mir im Prinzip egal was jemand von VB.NET halten - doch ich wollte nur wissen wieso.
    hangman : Es gibt doch dieses "Mono Framework" damit kann man C# (glaub auch VB.NET) Anwendungen für Linux kompatibel.

  • Die Diskussion um die Unterschiede der .NET basierten Sprachen ist relativ sinnlos.
    VB.NET, C#(welches für .NET entworfen wurde) und C++/CLI (managed C++) werden hinterher eh alle von der CLR (Common Language Runtime) verwaltet. Heißt: Geschwindigket ist im Prinzip gleich. Was noch bleibt ist natürlich die Syntax und darüber lässt sich streiten. Manche Entwickler mögen VB übersichtlicher finden und andere C#, letztendlich ist es jedoch egal.
    Was jedoch evtl. ein Vorteil von C# ist, ist die Ähnlichkeit zu Java, C++ und Php - die Syntax unterscheidet sich zwar ein bisschen von den genannten Sprachen, aber weniger als VB.
    Letztendlich: Such dir die Sprache aus und lass dich nicht ärgern :D Was zählt ist sowieso nur das Produkt :)
    Ach und was viel wichtiger ist als die Sprache sind eigentlich deine Informatik-Kenntnisse. Datenstrukturen und co sollte man auf jeden Fall lernen bevor man sich mit den Feinheiten der einzelnen Sprachen auseinandersetzt :)

  • ich glaube das man vb.net als noobsprache betitelt da man vb.net wirklich lesen kann.


    Im gegansatz zu anderen sprachen schreibt man da ja fast einen satz.


    Wohin gegnüber bei sprachen wie c# und c++ mehr die logik und der saubere code im vordergrund steht....


    Sicher allerding ist das man mit vb.net genauso viel wie mit c# kann aber c++ mit inline ASM kann halt alles^^