В настоящее время я использую Python для большинства моих проектов программирования (в основном, для быстрой разработки небольших программ и прототипов). Я хотел бы инвестировать время в изучение языка, который дает мне гибкость при использовании различных инструментов и API Microsoft всякий раз, когда возникает такая возможность. Я пытаюсь решить между IronPython и C#. Поскольку Python - мой любимый язык программирования (в основном из-за его краткости и чистого синтаксиса), IronPython звучит как идеальный вариант. Но после прочтения об этом немного у меня есть несколько вопросов.IronPython против C# для небольших проектов
Для тех из вас, кто использовал IronPython, неужели неясно, когда заканчивается классический Python и начинается .NET? Например, похоже, что существует значительное перекрытие функциональности между библиотеками .NET и стандартной библиотекой Python, поэтому, когда мне нужно выполнять строковые операции или анализировать XML, я не знаю, какую библиотеку я должен использовать. Кроме того, я неясно, когда я должен использовать типы данных Python и .NET в своем коде. Например, какой из следующих вариантов я буду использовать в своем коде?
d = {}
или
d = System.Collections.Hashtable()
(Кстати, мне кажется, что если я много таких вещей, как последний я мог бы потерять часть лаконичности, поэтому я предпочитаю Python в первом место.)
Другая проблема заключается в том, что ряд инструментов разработчика Microsoft, таких как .NET CF и Xbox XNA, недоступны в IronPython. Есть ли больше ситуаций, когда IronPython не даст мне полной возможности C#?