2010-11-15 9 views
11

Estoy empezando en PowerShell y uno de mis administradores de sistemas me dijo que Powershell puede hacer tanto como C# para la administración de sistemas, si no más.¿Cuándo desarrollar usando Powershell vs C#?

Perdonen la ignorancia de esta pregunta, pero ¿cuándo usaré Powershell sobre C#?

+0

Bastantes publicaciones ya en las comparaciones de los dos en SO ... –

Respuesta

13

Cuando trabajaba en el laboratorio de compilación de Windows hace un tiempo largo (1997) la regla me enseñaron que si los satisface código de cualquiera de estas dos condiciones escriben en escritura interpretado, si no escribir en código compilado:

  1. hay más espacio que los códigos (utilizando/incluir líneas, declaración de la función, etc.)
  2. hay una posibilidad mejor que el 10% de que el código va a cambiar antes de que se ejecute de nuevo
18

1) PowerShell es buena para una tarea relativamente pequeña y bien definida s, especialmente las tareas efímeras de un día y las tareas interactivas cuando está codificando en la línea de comando. Si una tarea requiere solo unas pocas líneas de código de PowerShell (y usted lo sabe porque conoce lo suficiente a PowerShell), entonces lanzar un proyecto completo de C# suele ser exagerado.

2) C# es mucho mejor para proyectos grandes o donde el rendimiento es crítico. Es mejor para cualquier proyecto que presumiblemente requerirá depuración y solución de problemas.

3) PowerShell y C# pueden funcionar perfectamente juntos. Es fácil llamar a uno de otro. PowerShell es bueno para conectar componentes .NET. Puede implementar sus piezas complejas y de rendimiento crítico en C# y luego combinar y pegar esas piezas con PowerShell.

+0

+1 .. No puedo marcar dos respuestas - ¡Gracias! – LamonteCristo

+1

No estoy de acuerdo en la segunda parte del punto 2. PowerShell tiene una instalación de depuración nativa respetable y todos los editores de scripts modernos hacen un buen trabajo al implementarla. – xcud

+0

Sé que la respuesta es bastante antigua, pero para el punto 1 decía que "... luego lanzar un proyecto completo de C# suele ser exagerado". Si necesita una solución rápida (y generalmente sucia), puede usar [Linqpad] (https://www.linqpad.net/) –

Cuestiones relacionadas