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