Бу против 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

Другие вопросы по тегам