Бу против C# против Питона?
По сравнению с C#, Boo чувствует себя немного более Pythonic, но он также скомпилирован в.NET MSIL. Мне понравился его синтаксис, даже больше, чем синтаксис C#. Но я не смог найти ни одной книги, обучающей Бу.
И я действительно не знаю, является ли изучение Boo лучше, чем C#, или изучение C# лучше, чем Boo. Я просто хочу использовать некоторые типы данных, подобные Python. Это:
{key1:value1, key2:value2}
→ словарь[Value1,Value2,Value3]
→ Список (можно редактировать / изменять)(Value1,Value2,Value3)
→ Кортеж (не может быть отредактирован / изменен)
Я использую словари больше, чем список и кортежи. Я хочу знать, какой из них лучше?
5 ответов
Я обнаружил, что Boo очень полезен при создании простых одноразовых скриптов, сохраняя при этом мой исходный стиль Pythonic. И поскольку он компилируется в исполняемый EXE или DLL, я могу упаковать один EXE со всеми необходимыми DLL (включая Boo.Lang.dll), используя ILMerge, а затем отправить его клиенту, обычно для какого-то быстрого устранения неполадок или Системная диагностика.
Я также использую Boo для поддержки моей разработки на C#. Я часто запускаю интерпретатор Boo, чтобы опробовать варианты форматирования строк или дат, а затем я могу почти напрямую скопировать окончательную версию в C#.
Но чертовски сложно найти документы для Бу. Мне пришлось немного погуглить в Google, чтобы найти синтаксис для дженериков, поскольку они являются относительно новым дополнением к Boo и еще не упоминались ни в каких учебниках или даже на справочных страницах. А поиск в поиске "бу" генерирует довольно много нежелательных хитов, делая поиск еще более сложным.
Короче говоря, не делайте такой выбор между Boo и C# - они на самом деле очень хорошо дополняют друг друга.
Мое общее мнение заключается в том, что было бы лучше перейти на C#, поскольку, с моей точки зрения, легче найти ресурсы, документацию и учебные пособия для C#.
Знание C# будет очень полезно для вас, если вы хотите сделать карьеру в разработке.NET. Но изучение Boo позволит вам использовать Python-подобные функции, которые вам нужны в среде.NET. Вероятно, вам стоит взглянуть на IronPython, в котором есть книги ( Iron Python в действии)
У вас есть списки и словари в.Net: System.Collections.Generic.List и System.collections.Generic.Dictionary.
Что касается языка: просто выучите тот, который вам интереснее. Выбор языка чаще всего религиозен. Особенно на платформе.Net, где каждый язык обладает практически одинаковыми возможностями.
Я не уверен, какова ваша конечная цель, но прежде чем вы отказываетесь от python, пожалуйста, проверьте комбо python/Qt для создания графического интерфейса. Вы можете создавать сложные кроссплатформенные интерфейсы, и их довольно легко подобрать. Qt, привязки Python