Прощай, Python! Здравствуй, C#! 



Книга Прощай, Python! Здравствуй, C#! 

Python занимает особое место в моем сердце. Все просто: я писал на нем первые успешные программы и в результате научился намного большему, чем во времена своего профессионального обучения. 


Но с недавних пор я перешел исключительно на C# и объясню почему. 


C#: упрощенная установка


Я начал программировать на Python прежде всего потому, что на создание простейшего консольного приложения уходило много времени, тогда как скрипт на Python можно было написать буквально за 5 минут. Кроме того, приходилось платить даже за использование Visual Studio, да и во всем остальном проблемы громоздились одна на другую. 


Сейчас ситуация кардинально изменилась. Например, не прошло и 10 минут, как я скачал и установил Visual Studio на компьютер для 3D-рендеринга и приступил к работе. 


Теперь можно спокойно скачивать файлы .dll, искать информацию на форумах  —  и все это бесплатно. Работается легко, быстро и позитивно  —  кому это не понравится! 


C#: наличие мощного инструмента LinQ


Для тех, кто не знает, что такое LinQ, опишу в нескольких словах. Это  —  инструмент, который экономит тысячи строк вложенных циклов ForEach.


Инструкции select для объектов списка пишутся так:


string BlaBla = ListA.Where(element => element.Contains("Bla"));

Вы можете написать несколько строк для сравнения одного или двух списков, проверить каждый элемент и связать все это в цепочки, избавляясь от спагетти-кода. 


В Python тоже есть похожий механизм, но у него странный и перегруженный синтаксис: приходится постоянно пользоваться шпаргалками, чтобы понять принцип написания такого кода. В C# вы пишите одну строку за минуту и переходите к следующим сложным задачам.


C#: превосходство ReSharper над инструментами Python от JetBrain


Расширение ReSharper установлено почти у всех профессиональных разработчиков C#. Оно значительно повышает продуктивность рабочих процессов. Из личного опыта: я еще не установил его на свой компьютер для рендеринга, в связи с чем чувствуется колоссальная разница. Работа замедлилась в разы. 


ReSharper выступает в роли личного помощника, который неустанно напоминает о вновь допущенной глупой ошибке, после чего рекомендует эффективный и оптимальный способ ее исправления одним нажатием кнопки. 


PyCharm, аналогичный инструмент для Python, уступает ReSharper. Бесспорно, PyCharm обладает отличными возможностями, но при непосредственном сравнении с ReSharper выглядит как дешевая подделка оригинала. 


C#: беспроблемная компиляция и совместное использование исполняемых файлов


Казалось бы, самый простой этап разработки  —  поделиться кодом с другими пользователями. Но нет! Когда-то с этим у меня были большие проблемы. 


Прежде всего, компиляция в .exe подразумевала установку совершенно нового сложного инструмента Python. В итоге я не мог поделиться файлами из-за проблем с подписями. Как Windows, так и Google Drive характеризовали их как вирусные файлы. А это совсем не то, чем хотелось бы поделиться с конечными пользователями. 


В C# об этом даже не приходится думать: после сборки программного решения сразу появляется соответствующий исполняемый файл .exe.


C#: непринужденная работа с классами


Как бы мне не нравилась простота Python, нельзя не отметить один недостаток этого стиля программирования: все в одном файле, почти никаких классов и функций, процесс медленный, как бы с запозданием. 


В C# вы начинаете с классов и заканчиваете ими же, а путь между ними вымощен функциями, методами и параметрами. 


C#: удобный рефакторинг


Как только вы устанавливаете ReSharper, то погружаетесь в новый мир рефакторинга буквально за пару нажатий кнопок.


В целом в C# отлично налажен рабочий процесс для рефакторинга. Он перемещает объявления пространств имен, переименовывает файлы и извлекает сложные функциональности в простые и понятные методы. Эта процедура с извлечением метода  —  просто волшебство, особенно принцип, по которому вводятся контекстно-зависимые параметры и все остальное.  


C#: фиксированные типы переменных


Я люблю Python и его причудливые способы выполнения определенных действий. Но никогда не пойму стратегическое решение делать “переменные переменными”.


Как только вы начинаете работать с несколькими классами, появляются проблемы с порядком параметров, присвоением строк целочисленным переменным или, что еще хуже, присвоением целых чисел строковым переменным, которые даже не вызывают ошибки. 


C#: дружелюбная экосистема .Net


Опять же, в старые добрые времена Python поражал одной потрясающей особенностью  —  люди с радостью делились кодом. Тут бывало, что коллеги по работе, сидящие за соседними столами, не хотели делиться написанным кодом. Здесь же целое сообщество программистов создавало сложный код, а затем часами дорабатывало его, делая удобным и доступным для общественности. 


В настоящее время в обоих языках ведется большая работа по созданию ПО с открытым исходным кодом. В распоряжении программистов доступные и полезные активы (англ. assets) и менеджеры пакетов. Зачастую можно бесплатно использовать код для проектов, которые вы не то, что в указанный срок, а за миллион лет не написали бы сами.  


Вывод: C# стал бесплатным и удобным инструментом


Я до сих пор рад, что освоил на работе C# до того, как открыл для себя Python. Будь иначе, я бы не стал заморачиваться изучением .Net, поскольку со стороны он кажется необоснованно сложным. 


Но стоит научиться использовать этот строго соблюдаемый, разумный и серьезный подход, как работать становится намного легче. Программирование на C# экономит время, позволяет создавать более качественные конечные продукты для личных и профессиональных целей. 



155   0  
    Ничего не найдено.

Добавить ответ:
Отменить.