Actualmente uso Python para la mayoría de mis proyectos de programación (principalmente desarrollo rápido de pequeños programas y prototipos). Me gustaría invertir tiempo en aprender un idioma que me brinde la flexibilidad de utilizar varias herramientas y API de Microsoft cada vez que surja la oportunidad. Estoy tratando de decidir entre IronPython y C#. Como Python es mi lenguaje de programación favorito (principalmente por su concisión y sintaxis limpia), IronPython suena como la opción ideal. Sin embargo, después de leer sobre esto un poco, tengo varias preguntas.IronPython vs. C# para proyectos de pequeña escala
Para aquellos de ustedes que han usado IronPython, ¿alguna vez queda claro dónde termina el Python clásico y comienza .NET? Por ejemplo, parece haber una superposición significativa en la funcionalidad entre las bibliotecas .NET y la biblioteca estándar de Python, así que cuando necesito hacer operaciones de cadena o analizar XML, no estoy seguro de qué biblioteca debo usar. Además, no tengo claro cuándo se supone que debo usar tipos de datos Python versus .NET en mi código. Por ejemplo, ¿cuál de las siguientes estaría usando en mi código?
d = {}
o
d = System.Collections.Hashtable()
(Por cierto, parece que si hago un montón de cosas como esta última podría perder algo de la concisión, por lo que estoy a favor de Python en el primer lugar.)
Otro problema es que varias herramientas de desarrollo de Microsoft, como .NET CF y Xbox XNA, no están disponibles en IronPython. ¿Hay más situaciones en las que IronPython no me daría el alcance total de C#?