Warum sollte ich mit der Powershell über C#?
Ich weiß, dass Powershell ist sehr mächtig, es ist eine scripting-Sprache, in der Sie den Zugriff auf das gesamte .Net framework (das ist alles, was ich darüber weiß). Aber ich bin kämpfen, um zu verstehen, was der große hype um Powershell: wenn ich könnte, verwenden Sie C# - code, die genaue selben Sache?
- Glaubst du nicht, der link, den Sie über das war, was man tun kann, sowohl in powershell und C#? Ich will wissen, warum ich wählte powershell über C#
- Die andere Frage ist, mehr über die Verlängerung oder mithilfe von Powershell-von C#. Definitiv kein Duplikat.
- wenn Sie vergleichen diese Frage und 742262 sollten Sie bemerken, dass dies nicht eine doppelte
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke du hast die falsche Frage gestellt. Es sollte sein: "Warum sollte ich C# verwenden, wenn ich könnte, mithilfe von Powershell-code, die gleiche Sache?"
Dies ist das alte argument von scripting versus kompilierte software überarbeitet. Eine scripting-Lösung ist flexibler (Sie benötigen nur Editor, um das Skript zu Bearbeiten, kein compiler erforderlich).
Für eine kleine Aufgabe, ein Skript ist schneller zu schreiben, bereitzustellen und zu ändern, als bei der Erstellung eines Projekts in Visual Studio, kompilieren, bereitstellen, die es zum Ziel haben, korrigieren Sie den code, kompilieren Sie es wieder, setzt es wieder...
Für jede größere Aufgabe, die ich definitiv lieber eine IDE, die kompiliert mein code. Die Fehlermeldungen auf eine defekte bauen allein sind eine große Hilfe für die Suche nach der Ursache. (Laufzeit-Effizienz ist in der Regel besser in einer kompilierten software, aber mit modernen CPUs kommt es zu einer Differenz von ein paar milli-Sekunden, so dass für die meisten Projekte, es spielt keine Rolle mehr.)
Du kann tun, jede Art von Projekt in C# oder Powershell. Das bedeutet nicht, dass Sie sollte.
Wenn nicht mit der Powershell als shell, sondern eine Programmierumgebung, die man sich denken kann Powershell als eine Art interaktive .NETTO-Spielplatz. Ich hatte noch nie mit der Powershell für GUI-prototyping, aber ich habe es in der Vergangenheit spielen, um mit .NET-Objekte und Ihre Methoden, um ein bestimmtes problem lösen. Eine einfache Veränderung eine commandline ist produktiver, als das zu tun Bearbeiten/speichern/kompilieren/ausführen Zyklus jedes mal, wenn Sie eine änderung vornehmen.
Darüber hinaus die entsprechenden Domänen für die beiden Sprachen sind sehr unterschiedlich. Powershell ist in seinem Herzen ein Administrations-und Automatisierungs-tool, mit schnellen Zugriff auf viele Dinge, die möglicherweise mehr umständlich zu bedienen, aus einer anderen Umgebung, wie die Registrierung, Zertifikat, Shop, WMI und andere.
Sie wahrscheinlich nicht wollen, schreiben Sie eine enterprisey Datenbank-Anwendung mit Powershell, und Sie wahrscheinlich nicht wollen, schreiben Sie ein C# - Programm nur auf kopieren ein paar Sachen, um in der Datei system.
... Und warum benutzt du C# sowieso, ILASM kann alles mit viel mehr Kontrolle, und du bist nur aufrufen Zeug in der BCL sowieso.
Ich generalisierten Ihre Frage in den folgenden:
Den Punkt von einer Sprache auf höherer Ebene ist die Abstrakt Allgemeine Aufgaben, so dass Sie schneller zu schreiben. Viele Menschen, die sich diese Frage stellen sich nicht vorstellen können, diese profitieren von einer höheren Ebene der Sprache, weil Sie bereits mit vertraut sind und Ihre unteren Ebene Sprache.
In das Ende, es kommt alles auf die Bereitschaft, zu lernen, die Abstraktionen einer Sprache auf höherer Ebene in der Hoffnung, dass Sie sich so bewandert in es als der untere.