C# Vorteile



  • Hallo! Irgendwie mag ich c# nicht. Wenn man ein C++ programm für windows nt geschrieben hat, dann läuft es auch auf jedem nt system. Und bei dem c# muss man immer die .NET laufzeitumgebung dazuinstallieren. Dazu noch, wenn man c++ programmieren kann, dann kann man für alle platformen software schreiben, und mit c# ja nur für windows.

    Wie seht ihr das?



  • neoexpert schrieb:

    Irgendwie mag ich c# nicht.

    Vorteile wurden schon mehrfach genannt, und wenn du nicht C# magst, dann ist dem halt so. C++ und C# haben etwas andere Schwerpunkte, und ganz recht hast du mit deinen Aussagen auch nicht.

    neoexpert schrieb:

    Wenn man ein C++ programm für windows nt geschrieben hat, dann läuft es auch auf jedem nt system. Und bei dem c# muss man immer die .NET laufzeitumgebung dazuinstallieren.

    Und bei C++ entweder statisch linken (=dublizieren von Inhalt weil das mehrere machen) oder die C++ Runtime mitliefern.

    neoexpert schrieb:

    Dazu noch, wenn man c++ programmieren kann, dann kann man für alle platformen software schreiben, und mit c# ja nur für windows.

    Ganz davon abgesehen das C# auch für Linux existiert (z.B. das Mono-Projekt), kannst du sicherlich in C++ für mehr Plattformen Code schreiben. Nach Wahl entsprechender plattformunabhängige Bibliotheken oder bedingter Compilierung.

    In C# liefert das .Net Framework eine deutlich mächtigere Bibliotheksumgebung gratis dazu, inklusive DB-Zugriff und UI. Dadurch werden C# Programmierer deutlich weniger nach passenden Bibliotheken suchen müssen, und in der Regel hast du seltener den Fall das ein C# Entwickler nicht die Bibliotheken kennt (Bei C++ hast du eine sehr große Auswahl an Bibliotheken und gerade bei der UI kann man sehr gut den Fall haben das C++ Entwickler erst in die entsprechende Bibliothek eingewiesen werden müssen). Es gibt zwar in einigen Bereichen mehr als eine Möglichkeit (z.B. Windows Forms vs. WPF) aber das hält sich in Grenzen.

    Zudem nimmt die .Net Bibliothek mehr arbeit ab als die üblichen C++ Bibliotheken, das Schreiben von Programmen geht in der Regel deutlich flotter vorran, und lässt sich meist schneller anpassen (z.B. WCF für Kommunikation). Ja, Kompromisse muss man bei jeder Sprache und jeder Umgebung machen. Aber Firmen die nur Windowsprogrammierung betreiben (Was noch immer sehr verbreitet ist, und bedingt dadurch das ca. 90% der Clients Windows als Betriebssystem haben, auch durchaus ein akzeptabler Kompromiss ist...) brauchen die Plattformunabhängigkeit eh nicht.

    Und wenn ein Chef nunmal ein Windowsprogramm haben will, und dies auch noch schnell programmiert werden soll, hat C# imho bessere Karten als C++.

    cu André



  • naja gut, unter Windows vista ist ja die .NET laufzeitumgebung dabei, die muss man nicht nachinstallieren oder?
    Und was wenn der Chef ein Programm haben möchte, dass bei jedem kunden läuft? ohne vorher was zu installieren.
    bei Xp ist ja das ding nicht standardmäßig dabei



  • Hallo

    Wenn der Chef will, dass das Programm bei allen Kunden laufen soll, ohne das sie etwas installieren müssen, ist c#wahrscheinlich keine gute Wahl. Du musst eben wissen, was du willst und entsprechend deine Tools aussuchen. Wie shade immer so schön sagt: Auch die Sprache ist nur ein Tool.

    chrische



  • neoexpert schrieb:

    naja gut, unter Windows vista ist ja die .NET laufzeitumgebung dabei...

    Ja, die 3.0 - wenn du aber die 3.5 brauchst muss etwas nachinstalliert werden. Wenn du dannach argumentierst wäre Java aber auch außen vor.

    neoexpert schrieb:

    Und was wenn der Chef ein Programm haben möchte, dass bei jedem kunden läuft? ohne vorher was zu installieren.

    Ah ja, also dein Programm darf auch nicht installiert werden 😉 Ich halte es für gelinde gesagt unkritisch. Wie gesagt bei C++ Anwendungen die nicht statisch linken musst du auch etwas hinzuinstallieren, für Java ist es ebenso nötig, und zu guter letzt kann es in einer Installation mit dem Programm verpackt werden (es wird nur das Installiert was noch nicht installiert ist).

    neoexpert schrieb:

    bei Xp ist ja das ding nicht standardmäßig dabei

    Ebenso wenig wie die VC-Runtime Libs, Java Runtime etc. Genauso wie dein eigenes Programm ja auch nicht defaultmäßig drauf ist.

    cu André



  • neoexpert schrieb:

    naja gut, unter Windows vista ist ja die .NET laufzeitumgebung dabei, die muss man nicht nachinstallieren oder?
    Und was wenn der Chef ein Programm haben möchte, dass bei jedem kunden läuft? ohne vorher was zu installieren.
    bei Xp ist ja das ding nicht standardmäßig dabei

    Die Installation von .NET ist eine Sache von Minuten und, auch wenn das einigen anscheinend nciht bewußt ist, eine einmalige Sache. Will sagen, man muß nicht jedesmal wenn man ein Framework-Programm installiert auch NEt Framework mit-installieren...

    Dagegen steht die Entwicklungszeit (time to market). UNd hier Punkted C#/.Net Framework nunmal erheblich durch kürzere Entwicklungszeiten damit verbunden geringeren Entwicklungskosten. Auch habe ich das Gefühl, daß C# Programme unterm Strich weniger Debugging Zeit brauchen als vergleichbare Projekte in C++.



  • Das hat doch nichts mit der Zeit zutun, die ein User für die INstallation warten muß. Es ist ein Problem, wenn du aber z.B. in einer großen Firma mehrere tausen PCs mit einer Software installieren mußt. Da hört dann der Spaß auf, weil es Geld kostet und auch geprüft werden muß, ob es durch die Installation nicht negative Seiteneffekte gibt. Und weiterhin kommt dazu, das nicht jeder Admin-Rechte hat, besonders in Firma ist das nicht ungewöhnlich.



  • Bulli schrieb:

    Es ist ein Problem, wenn du aber z.B. in einer großen Firma mehrere tausen PCs mit einer Software installieren mußt.

    Thema Softwareverteilung ist dir aber ein Begriff, oder? Ist ja nicht so das man dann von Rechner zu Rechner geht, sondern man verteilt von einen Rechner aus.

    Bulli schrieb:

    Da hört dann der Spaß auf, weil es Geld kostet und auch geprüft werden muß, ob es durch die Installation nicht negative Seiteneffekte gibt.

    Die Prüfung musst du nur einmal machen, davon abgesehen wird es früher oder später immer mehr .Net Software in einen Unternehmen geben, und man muss dies auch nicht jedesmal aufs neue testen. Und die Software muss unabhängig davon ob C++ und C# getestet werden.

    Bulli schrieb:

    Und weiterhin kommt dazu, das nicht jeder Admin-Rechte hat, besonders in Firma ist das nicht ungewöhnlich.

    Auch hier die Frage: Thema Softwareverteilung ist dir ein Begriff?

    cu André



  • neoexpert schrieb:

    Hallo! Irgendwie mag ich c# nicht. […] Wie seht ihr das?

    Anders. Have fun.

    Übrigens, der Titel ist falsch, korrekterweise hättest Du „Vorurteile“ schreiben müssen, nicht „Vorteile“. Aber hey, Deutsch kann kaum noch jemand.


Anmelden zum Antworten