Laden...

Argumentationshilfen

Erstellt von Flens vor 17 Jahren Letzter Beitrag vor 17 Jahren 2.457 Views
F
Flens Themenstarter:in
11 Beiträge seit 2006
vor 17 Jahren
Argumentationshilfen

Hallo „Community“,

ich brauche Argumentationshilfen:

diskutiert man im Kollegen-Kreis gerade mit älteren und erfahrenen Kollegen (meist oberhalb der 40 Jahre), so kommt man doch recht schnell "ins Schwimmen", wenn es darum geht, die prinzipiellen Vorzüge der .net x.x – Umgebungen zu erläutern. Es kommen dann schnell und häufig so "Argumente"wie "braucht man alles nicht, warum überhaupt eine Laufzeitumgebung, unter Borland in der Version xxx war eh alles besser, konnten die damals schon..., warum nehmen wir -wenn überhaupt- kein Java... usw.". Viele der Bedenken kann man auch nicht von der Hand weisen.
Ich bin mir sicher, dass diese Fragen hier im Forum schon in der ein oder anderen Version bis zum Abwinken diskutiert wurden. Sucht man allerdings hier oder auch bei google mit den üblichen Suchbegriffen, so wird man tot geschmissen mit Links. Man sieht den Wald vor lauter Bäumen nicht mehr. Also: hat jemand Links zu Artikeln etc. zu Verfügung, wo gerade die Programmierung unter der .net – Laufzeitumgebung der "klassischen Programmierung" um oben skizzierten Sinne gegenübergestellt wird?

Vielen lieben Dank
Flens

6.862 Beiträge seit 2003
vor 17 Jahren

Hmm, was für Software schreibt ihr denn überhaupt? Je nach Gebiet lassen sich ja andere Argumente finden.

Nen allgemeines sehr gutes Argument ist CAS (Code Access Security).

Wenn ihr im Webbereich tätig seid ist ASP.NET ja schon nen Killerargument an sich. Durch die vielen Controls hocheffektiv und vor allem nahtlos in andere MS Technologien wie dem IIS oder SQL Server eingebettet.

Im Spielebereich könntest du Plattformunabhängigkeit einbringen, weil mit dem XNA Framework geschriebene Spiele laufen sowohl auf dem PC als auf der XBox 360. Für kaum ne andere Konsole gibts so eine günstige und trotzdem taugliche Entwicklungsumgebung.

Man könnte auch mit WPF, WCF usw. anfangen welche ohne Frage herrausstehend sind was so auf dem Markt verfügbare Bibliotheken angeht, aber wenn du schon sagst es kommen Vergleiche wie "hatte xyz damals schon" hört es sich stark nach vergangenheitsliebende Gewohnheitstiere an 😉 - Und bei denen haben neue Technologien es immer schwer.

Am einfachsten wäre es ihr habt irgend ne kleine Applikation in von mir aus C++ oder etwas "älterem"(soll net abwertend sein) die sich von mir aus mit XML Handling, Webservices oder ähnlichem rumschlagen muss. Und dazu ne vergleichbare Software in .Net schreiben. Dann sieht man nämlich wie produktiv man in einigen Bereichen ist 🙂
Und Zeit war schon immer Geld - umso weniger man braucht um was auf die Beine zu stellen, umso besser.

Solltet ihr z.B. dagegen zeitkritische Software für µC schreiben, dann brauchst wohl kaum weiterargumentieren. Das ist nicht die Ziele von .Net 🙂

Baka wa shinanakya naoranai.

Mein XING Profil.

3.728 Beiträge seit 2005
vor 17 Jahren
Argumente

Wenn Java als Plattform erwogen wird, kann es wohl nichts Systemnahes sein. Ich tippe auf Business Software, Richting?

Einige Argumente für .NET:

Das .NET Framework bietet mit seinen tausenden fertiger Klassen, die sauber in Namespaces eingeteilt und sehr gut dokumentiert sind, die Ideale Basis um komplexe Business-Anwendungen zu entwickeln. Bei anderen Umgebungen (z.B. auch sehr stark bei Java) muss man sich alles aus unzähligen Libraries zusammenpusseln. Bei .NET gibt es alles fertig out-of-the-box, man barucht es nur noch anzuwenden.

Ob es die Vielzahl an Steuerelementen für Windows.Forms oder Webforms, die mächtigen aber einfach anzuwendenden Klassen für Netzwerk-Programmierung (Sockets, Remoting, Webservices, FTP), die reichhaltigen XML-Features oder der komfortable Umgang mit X509-Zertifikaten ist, bei .NET ist fast alles schon da.

Vor nicht allzulanger Zeit habe ich mir mal Eclipse und Java angesehen. Spätestens beim Bau der Benutzeroberfläche mit dem Annoying Window Toolkit (AWT) oder Swing wusste ich, dass ich mir das nicht antun will.

Naja und Delphi? Delphi hat die besten Zeiten hinter sicht. Borland wollte den ganzen Bettel schon loswerden, aber niemand wollte es haben. Viele Delphi-Jünger sind bei der Version 7 stehengeblieben, weil sie .NET (auf was Delphi seit der Version 8 aufbaut) ablehnen und in ihrer alten Welt bleiben wollen. Auf sterbenden System hocken zu bleiben kanns aber auch nicht sein. Delphi 8 bzw Delphi 2005 wäre dann schon wieder .NET. Wenn man bestehende Applikationen in Delphi 7 (oder älter) hat, sind die neuen Versionen der beste Migrationspfad in Richtung .NET.

Im Gegensatz zu Java ist man bei .NET nicht von der "alten" Welt abgeschnitten. Mit COM-Interop kann man bestehende COM (ActiveX) Bibliotheken und Steuerelemente in seinen .NET Prgrammen weiterverwenden. Es geht auch der umgekehrte Weg. Man kann seine .NET Klassen mit COM-Schnittstellen versehen und die neuen .NET Entwicklungen damit in bestehenden alten COM-Anwendungen verwenden. Egal ob Delphi, C++, VB6 oder Office-VBA/Office-AddIns. .NET ermöglicht eine fließende Migration. Dadurch bekommt man den Einstieg in die neue Technologie ohne seinen bestehenden Code (In dem oft Jahre der Entwicklung und damit viel Geld stecken) wegwerfen zu müssen.

Spätestens mit den neuen Features im .NET Framework 3.0 können viele der altgedienten Umgebungen nicht mehr mithalten. Da wäre z.B. eine vollständige Workflow-Engine mit grafischem Designer zum Nulltarif (Workflow Foundation). Oder die Windows Communication Foundation (WCF) um sichere Webservices (Standard ASP.NET Webservices sind nicht sicher) anbieten zu können, ohne graue Haare zu kriegen (wie das bei WSE der Fall war).

S
8.746 Beiträge seit 2005
vor 17 Jahren

Meiner Erfahrung nach kommt man mit fachlichen Argumenten gegen solche Leute kaum an, denn die _wollen _keine Veränderung, egal wie sie aussieht. Das Java-Argument ist klassisches "teile und herrsche". Wenn, dann musst du Fragen stellen wie:

* erkennt ihr die Vorteile von managed Code?
* wißt ihr, wie viele vorgefertigte Klassen .NET hat und wie viele die MCF und STL (bzw. VCL) zusammen?

Oder du baust eine Feature-Tabelle .NET vs C++.

Mit solchen Suggestivfragen kannst du die Leute bloßstellen. Anders geht es nicht, denn diese Diskussion wird i.d.R. nur scheinbar auf der fachlichen Ebene geführt. In Wirklichkeit sind hier Ängste im Spiel, wieder bei Null anfangen zu müssen. Gerade bei "erfahrenen" (oder "eingefahrenen" ) Kollegen sind diese Ängste am stärksten, weil sie am meisten "zu verlieren" haben.

Am besten man überzeugt gleich das Management mit Argumenten wie "MS setzt voll auf das .NET-Pferd, wollen wir uns wirklich mit alten Plattformen wie MCF oder Delphi rumschlagen?".

R
494 Beiträge seit 2006
vor 17 Jahren

Original von svenson
Am besten man überzeugt gleich das Management mit Argumenten wie "MS setzt voll auf das .NET-Pferd, wollen wir uns wirklich mit alten Plattformen wie MCF oder Delphi rumschlagen?".

Da muss man allerdings aufpassen, weil dann schnell die Diskussion kommt von wegen Microsoft ist böse usw. usw.

T
512 Beiträge seit 2006
vor 17 Jahren

Das Hauptargument, was einem aber keiner von den älteren, erfahrenen Kollegen glauben wird, ist die enorm hohe Produktivität.

Die wird erreicht, indem man unnötige Komplexität wegnimmt (z.B. Pointer, Memorymanagement) und eine sehr umfangreiche und sehr gut dokumentierte Bibliothek hat.
Außerdem wird das durch die sehr guten IDEs und Hilftools unterstützt. Z.B. NUnit und seine Freunde und die Tools für die XML Dokumentation. Delphi kann da wirklich garnicht mithalten. Java kann aber ähnliche Dinge aufweisen, viele der .NET Programme sind von Java inspiriert.

Das glaubt einem nie jemand, der es nicht selbst probiert hat. Aber wer es ernsthaft probiert hat, wird zustimmen.

Java ist eine bedenkenswerte Alternative. Im Bereich GUI eher nicht, aber ansonsten ist es imo auf Augenhöhe.

e.f.q.

Aus Falschem folgt Beliebiges

S
8.746 Beiträge seit 2005
vor 17 Jahren

Original von regen
Da muss man allerdings aufpassen, weil dann schnell die Diskussion kommt von wegen Microsoft ist böse usw. usw.

Wenn solche Dinge vom Management kommen, dann ist .NET eh kein Thema. Hier geht es ja darum MFC/VCL abzulösen. Wenn Delphi oder MFC im Einsatz war, dann handelt es sich ja meist um klassische Client-Anwendungen, ggf. mit DB. Hier hat Java ja nach wie vor kaum Karten, es sei denn, es soll sich wirklich um eine plattformunabhängige Anwendung handeln. Da aber Windows immer noch fast 90% aller Clients bedient, ist das für die meisten Anwendungen kein Thema. Die Kosten für das Testing und den Support steigen an (write once, run everywhere ist in der Praxis eher eine Parole als die Wirklichkeit, zumindest auf dem Client), aber die Verkaufzahlen nicht entsprechend.

S
8.746 Beiträge seit 2005
vor 17 Jahren

Original von Traumzauberbaum
Das Hauptargument, was einem aber keiner von den älteren, erfahrenen Kollegen glauben wird, ist die enorm hohe Produktivität.

Die wird erreicht, indem man unnötige Komplexität wegnimmt (z.B. Pointer, Memorymanagement) ...

Klassische Argumente der "Bewahrer":

* GC? Ich habe lieber alles "unter Kontrolle"
* kostet viel zu viel Performance
* ist doch nur was für Leute, die nicht richtig programmieren können ("Echte Programmierer.....")
* mit Smart-Pointern braucht man sich doch auch nicht um die Freigabe kümmern
* sich auf vorgefertigte Klassen zu verlassen ist gefährlich. Wenn nen Bug drin ist, kann mans nicht fixen....

Und "nicht glauben" tun sie eh....

Wie gesagt - gar nicht auf die fachliche Diskussion einlassen. Das ist in etwas so, als befolgst du die Regeln eines Boxkampfes und der Gegner schlägt immer unter die Gürtellinie. Lieber Killerfragen: "Wieso hypt MS .NET wenn es denn so schlecht ist, wie du sagst?"

308 Beiträge seit 2005
vor 17 Jahren

Hallo Flens,

mal umgekehrt gefragt. Warum willst Du denn Deine Kollegen von .NET überzeugen?
Manchmal ist .NET ja nicht die erste Wahl.
Wenn deine Kollegen fit in Java sind und nur Du dich mit .NET auskennst ist das schon ein Riskio das Framework und die Sprache zu wechseln. Dazu kommt die Frage, was ihr an bestehender Infrastruktur (z.B. IDEs, Application Server, Source Control etc..) habt und wie eure Prozesse aussehen.

Das einzige Argument, das letztlich zählt ist:
Wir können unser Ziel schneller (billiger) und in gleicher (oder gar besserer) Qualität erreichen.

Denn entscheidend (für die Entscheider) ist letztlich immer nur die Kosten- Nutzenanalyse.
Keine Firma (sollte) ihre Tools danach auswählen, was die Programmier für hip halten.

Fazit: Man kann nicht für den Einsatz .NET argumentieren ohne das Projekt und die Gegebenheiten in der Firma zu kennen argumentieren. Alle anderen Argumente (Sicherheit, Performance, IDE, Framework etc.) sind sekundär und nur relevant, wenn sie Kosten sparen oder Gewinn bringen.

K
71 Beiträge seit 2005
vor 17 Jahren

Ich stimme cadi zu.

Meistens ist eine solche Diskussion gar nicht Sinnvoll.
Wenn mich jemand mit Intresse nach den Vor- & Nachteilen von .NET befragt gebe ich gerne Auskuft.

Handelt es sich jedoch um die üblichen, meiner Meinung nach vollig Energieverschwendenen, Glaubenskriege lasse ich mich nicht darauf ein.

Als Ergänzug zur Kosten/Nutzen-Analyse muss jedoch auch das Knowhow der Entwickler berücksichtigt werden.
Schulungen und das Sammeln von Erfahrungen sind schliesslich auch Kapital einer Firma.

Gruss Fellmer