2013-08-19 15 views
5

Więc zanim wezwę gniewu SO purists, jestem świadomy When to develop using Powershell vs C#?. Wierzę jednak, że od tego czasu nastąpiła zmiana stanu techniki.Powershell vs C#

Po pierwsze, duże zainteresowanie ostatnim pytaniem Powershell vs C# było takie, że PowerShell jest językiem interpretowanym, a język C# jest językiem kompilowanym.

Jednak czuję, że gdy Roslyn dojrzewa ten argument nie będzie miał wody.

Dlaczego więc chcę się nauczyć Powershell? Biorąc pod uwagę, że:

  • C# może (teoretycznie) być uruchamiany w zinterpretowanym środowisku.
  • C# ma lepsze wsparcie oprzyrządowania (np ReSharper) oraz dokumentację
  • C# ma wielkie sprawdzanie błędów (kompilator)
  • już wiem C#
+0

Uczysz się Powershell dla funkcji administracyjnych. – D3vtr0n

Odpowiedz

4

dzięki czemu można zarządzać żadnych narzędzi serwerowych Windows, jak

  • Exchange
  • SQL Server
  • SharePoint
  • Active Directory
  • TFS

więc można wdrażać i zarządzać Azure usług, więc można wdrażać i zarządzać usługi AWS, sporo powodów naprawdę

+0

Czy rozumiem, że nie ma żadnych powiązań .net z tymi usługami? – Aron

+3

Paul Rowland, proszę o odpowiedź na poprzedni komentarz. – vasili111

4

Aby zostać doprecyzowane PowerShell jest znacznie więcej dla administratorów. Dzieje się tak, ponieważ daje podobne narzędzie (cmdlety) do zarządzania różnymi systemami.

Ale PowerShell jest również bardzo przydatny dla programistów, gdy pracują oni na przykład na systemie plików. W zeszłym tygodniu musiałem znaleźć ten sam ciąg w wielu rozwiązaniach .NET. Używając 3 cmdletów znalazłem to, czego potrzebowałem w ciągu sekundy. Rozwijanie tego samego w języku C# zajmie dużo czasu.

4

Myślę, że ludzie muszą nieco przemyśleć ten temat. Przestań próbować porównać PowerShell do C# lub zastąpić go, to raczej uzupełnienie niż zastąpienie go.

Jestem DBA, ale coraz częściej pracuję jako programista, aby zautomatyzować moją pracę. Obecnie pracuję nad narzędziem oceny dla firmy, dla której pracuję, która jest teraz napisana w PowerShell.

PowerShell został stworzony przez firmę Microsoft i stał się coraz bardziej popularny wśród administratorów lub administratorów aplikacji (SharePoint, Exchange, AD itp.). W tym scenariuszu staje się teraz wymogiem uczenia się i korzystania z PowerShell. Microsoft już oświadczył, że każdy produkt, który wychodzi na Windows Server, musi mieć funkcjonalność PowerShell, a interfejs GUI musi używać PowerShell poniżej (nie może znaleźć źródła tego, ale przeczytał go i usłyszał).

Czytałem ostatnio to Windows PowerShell for Developers i jest całkiem interesujące dowiedzieć się, że autor używa go w swoich pracach rozwojowych. Warto niewielkiej kwoty, aby uzyskać e-book w większości i przeczytać go.

kilka punktów, które myślę, że deweloper będzie korzystać z PowerShell (przynajmniej ja gdybym to zrobił pełny czas):

  1. To pozwala kodować mniejsze zadania w programie znacznie szybciej (np. iteruj dane w pliku, szukaj systemu plików Windows dla pliku itp.).
  2. Myślę, że może być używany jako narzędzie do wdrażania jako spójność. Możesz faktycznie skompilować kod w konsoli PowerShell, ponieważ jest oparty na strukturze .NET i ma do niej dostęp.
  3. Jak już wspomniano wcześniej, jeśli chcesz napisać mały program do swojego help desk, na przykład Active Directory, możesz wykonywać polecenia i zadania znacznie łatwiej przeciwko AD za pomocą poleceń PowerShell niż próbować powiązać ze wszystkimi klasami .NET. Commandlety mają już powiązania i standardowe polecenia, których może używać użytkownik help-desk.