2009-02-14 8 views
6

Imagínese que usted necesita para desarrollar y programar una aplicación/script para hacer lo siguiente: -¿Cuál es la mejor tecnología para automatizar una tarea utilizando las bibliotecas .net?

  • referencia uno o más montajes .net
  • Consultar la API, obtener algunos objetos
  • para cada llamada a un objeto otro método en la API

¿Qué utilizarías?

En el pasado he creado pequeñas aplicaciones de consola que hacen lo anterior, pero parece un poco torpe y exagerado.

Imagino algo así como PowerShell o IronPython podría ser una mejor opción.

¿Alguna recomendación?

Respuesta

2

IronPython.

Probé usando Powershell e IronPython para la tarea anterior y llegué a la conclusión de que IronPython era el que mejor se ajustaba (para mí).

Para ser justos, Powershell o cualquier lenguaje basado en DLR como IronPython o IronRuby se adaptaría a la tarea y sería menos costoso que ocuparse de aplicaciones de consola triviales.

Si todo lo que hace es consumir una biblioteca .net y hacer algunas secuencias de comandos, entonces IronPython bordea Powershell. Si desea utilizar algún tipo de funcionalidad tipo shell o usar CMDLETS existentes, entonces Powershell es una mejor opción.

IronPython, al ser una implementación de python, ofrece todas las ventajas de python para scripts, como ser fácil de aprender, fácil de leer y rápido de desarrollar.

2

El problema con el controlador de la aplicación s es que constantemente se rompen. Las aplicaciones cambian constantemente su superficie externa y esto causa estragos en los conductores. Por lo tanto, necesita constantemente partes actualizadas de los controladores. Encuentro que un lenguaje dinámico no compilado es ideal para esto, ya que puede hacer una actualización rápidamente y comenzar una tarea.

Powershell es una gran tecnología para esto. Es sorprendentemente flexible y realmente fácil de aprender. Es una mezcla de código compilado y dinámico. Por lo tanto, cuantas más partes pesadas de algoritmo tenga su controlador puede ser cualquier lenguaje compilado y las piezas más frágiles y frecuentemente actualizadas pueden ser secuencias de comandos. Se integran sin problemas.

Soy un ávido usuario de Powershell y realmente no tengo mucha experiencia con IronPython (de ahí mi elección). IronPython también podría tener estas características, así que si estás más cómodo con ese idioma, es donde debes ir.

3

Una de las ventajas de PowerShell es que han trabajado mucho en segundo plano para hacer que las cosas se integren fácilmente, haciendo conversiones de tipo implícitas, etc. para hacer que la salida de un programa se pueda utilizar como entrada para otro. Y como todo pasa objetos, no es necesario escribir un código de munging de texto para juntar las cosas.

Prefiero Python, sin embargo, cuando estoy escribiendo una gran cantidad de código original en lugar de confiar mucho en las bibliotecas y pegar componentes.

0

Fuera de la frustración con PowerShell, miré en IronPython. Creo que esta es una buena alternativa a Powershell, especialmente si eres un programador. Incluso si eres una persona de TI, creo que el comando de Windows shell + IronPython es una buena combinación que logrará lo que necesitas en la era .NET (como para qué comando shell + vbscript estaba bien en la era COM).

Cuestiones relacionadas