Pro und Contra von C# und VB.Net

Lordas

nicht mehr wegzudenken
hi leute,

wir hier in der firmal überlegen gerade welche programmiersprache wir zukünftige module verwenden sollen. die module greifen i.d.r. alle auf einen sql-server als backend zu.

unser vorwissen beschränkt sich auf:

VBA (recht gut auf Access-Basis)
VB (mittelmaß)
C bzw. C++ (fast nix)


ich persönlich habe mich jetzt zwar schon die letzten 2-3 tage ein wenig mit .Net beschäftigt, aber so richtig warm werde ich damit nicht.

nun ist die frage - wo seht ihr eher das pro für C# oder VB.net? rechenintensive operationen kommen in dem sinne nicht vor, denn sollten sie vorkommen werden sie sowieso auf dem sql-server ausgeführt.

würde dann eigentlich noch was gegen die anwendung von VB.Net sprechen? ich denke halt, dass es evtl. leichter ist das vorwissen über die syntax und co (mich nervt ehrlich gesagt auch das case sensitiv bei c ;) ) von VBA und VB in VB.net einzubringen, als jetzt mit C anzufangen.

schulungen gibt es in jedem fall - egal für was wir uns entscheiden.

vielen dank schonmal für eure hilfe.
 
ist hier keiner von euch in der programmierung tätig?

naja in jedem fall ist bei uns entschieden worden, dass wir mit C# programmieren werden und bekommen dazu natürlich auch noch eine ganze stange schulungen.
 
Ui - so alter Thread? Wenn Rechengeschwindigkeit egal ist ganz klar VB.Net.
Einarbeitungszeit sicherlich kleiner und wenn an einen MS-SQL-Server angebunden wird sicherlich einfach zu realisieren.

@Lordas: Rein interessehalber: Welche Art von Anwendungen erstellt ihr? Woeauf kommt es bei euch an?
 
ja VB wäre auch mein favorit gewesen, da die syntax einfach wesentlich bekannter ist - aber naja! hauptgrund war ganz einfach, weil nun bereits eine anwendung auf C#-basis entwickelt wurde (von einer externen firma) und eine zweite gerade in der entwurfsphase ist (durch einen sich mit c#-auskennenden kollegen ;) ).

alle anwendungen sind im groben eigentlich nur auf datenverarbeitung mit einem SQL-Server im hintergrund ausgelegt. z.b. das erst bereits existierende modul ist ein fakturierungsprogramm, dass weitesgehendst vollautomatisch funktioniert - d.h. benötigte daten liegen bereits als grundlage auf dem sql-server und werden nun nur durch einen button fakturiert, aber natürlich auch manuelle fakturaerstellung. aber die berechnungen an sich finden ja über prozeduren am sql-server statt.

die zweite - gerade in der entwicklung stehenden - anwendung befasst sich mit sondereinbauten, die wieder denselben datengrundstock hat wie das faktura-modul. nur das diese sondereinbauten natürlich vor der fakturierung geschehen und im endeffekt ein gesamter ablauf des zu bauenden produkts und dessen sondereinbauten abgebildet wird, damit auch das richtige zusammengebaut wird (wurde bislang mit wordmitteilungen gelöst!!!!!).

in zukunft kommen dann eben noch ähnliche module.
 
Also ich würde ja zu Java raten, einfach, weil man sich damit nicht auf ein Betriebssystem festlegt.

MfG, Bio-logisch
 
das könnte ich aber auch mit c# umsetzen (zumindest dann auf web-ebene, aber das wollen wir nicht) ;)

und auch wenn - bei uns ist sowieso im client-bereich nur windows eingesetzt!
 
hmm, mach's wie du meinst. Einen Tick einfacher hast du es wegen der geringeren Einarbeitungszeit in VB.Net, da du quasi den Syntax schon weitreichend beherrscht. Deine (geringen) C Kenntnisse nutzen dir für C# dagegen quasi gar nichts, da wären vielmehr ordentliche Java (NICHT Javascript) Kenntisse notwendig. Also die logische Schiene der Sprachen ist ungefährt so:

VBA-VBScript-VB-VB.net

Pascal/Delphi-C-(Javascript/Jscript)-JAVA-C# und managed C++ for .net

Also je nachdem auf welcher Schiene du dich heimischer fühlst, schlag zu.

Die Geschwindigkeitsvorteile, oft ein Argument bei VB6, sind für .Net für Projekte generell nur noch als marginal zu bezeichnen. Zugriff auf die gleichen Objektbibliotheken und die Zwischenkompilierung lassen die VB.net genauso schnell rennen wie C# Projekte. Hier und da wird es Unterschiede geben, aber wie gesagt, marginal. Bei 08/15 Anwendungen oder gar Webprojekten ist es völlig schnuppe.

Ich programmiere in beiden Sprachen, je nachdem welches Projekt halt wie geschrieben wurde. Nach ner Zeit ist dir das wurscht, das bisschen Syntax haste in ein paar Tagen drauf und die kleinen feinen Unterschiede sind nicht so superviele an der Zahl, das kriegt man auch nach ner Weile hin. Das ist schon mit den Bibliotheken ganz nett, die spricht du ja immer auf die gleiche Art und Weise an und da die Objektorientierung sehr fortgeschritten ist, ist die Handhabung in vielen Bereichen der Sprache sehr sehr ähnlich.

VB.net bleibt auf jeden Fall die einfachere Sprache. Sie wurde aufgefrischt und auf den Stand der Zeit gebracht. Es programmiert sich prima dort und der kommt ist einfacher "verständlich" - besonders eben für Anfänger (keine Gross-/Kleinschreibung, keine Semikolon, keine geschweiften Klammern sondern klare END IF und NEXT Statements *g*).
C# ist die mächtigere Sprache der beiden, vor allem wenn du sehr objektorientiert programmierst. Der Code den du mit C# produzierst ist der elegantere, logischere und aufgeräumtere. Allerdings muss man sich gelegentlich auch um Dinge kümmern, die einem ein "VB" schon längst irgendwie abgenommen hätte. Auf jeden Fall braucht man mehr Einarbeitungszeit in C# als in VB.net.

Ach ja, die Anbindung von/an den SQL Server ist bei beiden gleich einfach. Da gibt es gar keinen Unterschied und auch gar keinen Grund da VB.net vorzuziehen, im Gegenteil eher.

Mein Tipp also: Fang mit VB.net an. Wenn du das beherrschst, schau mal in C# rein. Das ".Net" Grundwissen kannst du dann quasi importieren und musst dich nur noch mit der Syntax rumschlagen, nicht aber noch mit der Objektbibliothek von .net.
 
Oben