Доброго времени суток, сегодня вводится новая рубрика на канале как Сравним?. В этом выпуске попадут под сравнение такие Языки Программирования (Далее – ЯП) как Python и C# Это будет глубокое сравнение, а не обычные сравняшки.
Так же ,эта статья поможет окончательно определиться, с тем,
Какой язык программирования выбрать
Приступаем.
ИСТОРИЯ.
Для начала немного об истории обоих ЯПов. Разработка Python была начата в конце 1980-х годов сотрудником голландского института CWI Гвидо ван Россумом. Для распределённой ОС Amoeba требовался расширяемый скриптовый язык, и Гвидо начал писать Python на досуге, позаимствовав некоторые наработки для языка ABC. В феврале 1991 года Гвидо опубликовал исходный текст в группе новостей alt.sources. C# разрабатывался как язык программирования прикладного уровня для CLR и, как таковой, зависит, прежде всего, от возможностей самой CLR. Это касается, прежде всего, системы типов C# , которая отражает BCL. Название Си шарп (от англ. sharp — диез) происходит от буквенной музыкальной нотации, где латинской букве C соответствует нота До, а знак диез (англ. sharp) означает повышение соответствующего ноте звука на полутон, что аналогично названию языка C++, где «++» обозначает инкремент переменной. Название также является игрой с цепочкой C → C++ → C++++(C ), так как символ «♯ » можно представить состоящим из 4 знаков «+». Из-за технических ограничений на отображение (стандартные шрифты, браузеры и т. д.), а также из-за того, что знак диеза ♯ не представлен на стандартной клавиатуре компьютера, при записи имени языка программирования используют знак решётки (♯). Это соглашение отражено в Спецификации языка C# ECMA-334. Тем не менее, на практике (например, при размещении рекламы и коробочном дизайне), «Майкрософт» использует знак диеза. Названия языков программирования не принято переводить, поэтому язык называют, используя транскрипцию, — Си шарп.
ПРЕИМУЩЕСТВА.
Начнем с преимуществ Пайтона.
1) Простота написания кода для новичков в программировании.
2) Кроссплатформенность.
3) Широкое применение. От написания скриптов до полноценных графических программ.
4) Огромное количество библиотек.
5) Популярность на момент написания статьи. Можно найти вакансии даже в Вашей деревне :D
Ну и С# не оставим без преимуществ.
1) Объектно-ориентированный подход к программированию ВО ВСЕМ.
2) С – подобный, но с синтаксическим сахаром
3) Поддержка со стороны Microsoft. Для многих это покажется минусом, но на самом деле поддержка крупной компанией означает, что ЯП будет развиваться.
4) Комьюнити. Этот ЯП обладает большим комьюнити, которые в случае чего – помогут Вам и разберут Ваши проблемы. Так как он не так прост в обучении – среди программистов на этом языке – мало недоучек и неквалифицированных личностей.
Недостатки:
Python:
1. Скорость работы.
2. Интерпретируемость. Python интерпретируемый ЯП, а не компилируемый, это накладывает определенные ограничения, как по скорости, так и по функционалу.
3. Комьюнити. Это больная тема в Python, так как из-за некоторых личностей – этот ЯП распространен среди школьников/начинающих студентов (во всяком случае по СНГ). Ничего плохого про школьников я говорить не буду, но согласитесь – ценность их для комьюнити – НОЛЬ. Они Вам ничем не помогут, библиотеки не напишут. Им бы самим кто помог написать очередного бота…
C Sharp:
1. Легко дизассемблируется. Ваш код относительно легко могут "прочесть" конкуренты. Последствия могут быть самые разнообразные.
2. Ориентация на Windows. Так как этот язык выпущен Microsoft – логично, что он ориентирован на Windows среду, но на нем можно писать в Linux, если кому-то понадобится сие действо.
ВАКАНСИИ и РАСПРОСТРАНЕННОСТЬ
По данным hh.ru - Python имеет в 1.5 (примерно) раза больше вакансий в РФ, нежели C. Данные на 07.12.2020.
Зарплаты
В Европе средняя зарплата С# программиста (НЕ Junior)
1. Германия. Годовой заработок у программистов в Германии на 20.000$ ниже, чем в США. Здесь разработчикам платят в среднем 57.000$ (4.3 млн ₽) ежегодно. В месяц они получают 4.700$ (350.000 ₽).
2. Чехия. Здесь средняя зарплата программиста составляет около 2.500$ в месяц (180.000 ₽ или 60.000 чешских крон). Этих денег вполне хватает на жизнь.
-- Данные с сайта Вадима Шванова на 2020 год.
Теперь же рассмотрим самые важные библиотеки для каждого из языков
PyGame. Это одна из самых популярных библиотек Python. Необходима она для написания игр на питончике. Cyberpunk 2077 Вы, конечно, вряд ли напишите, но что из инди жанра – вполне.
NumPy — это расширение языка Python, добавляющее поддержку больших многомерных массивов и матриц, вместе с большой библиотекой высокоуровневых математических функций для операций с этими массивами.
TensorFlow — это бесплатная библиотека Python с открытым исходным кодом, предназначенная для решения ряда задач, связанных с потоком данных и дифференцируемым программированием. Тем не менее, символическая математическая библиотека TensorFlow является одной из наиболее широко используемых библиотек машинного обучения Python.
Mono-Project. Данная библиотека, предназначенная для C Sharp, позволяет писать на платформе .NET на Linux.
WinForms – библиотека, созданная для создания GUI.
Xamarin. Библиотека для написания приложений на мобильные устройства.
Другие статьи:
Какой язык программирования выбрать?
Почему буквы на клавиатуре расположены не по Алфавиту?
Как программисты,создали программы для программирования без языков для программирования?