Почему питон плохой язык
Перейти к содержимому

Почему питон плохой язык

  • автор:

Почему Python — плохой выбор для первого языка программирования?

Так как я веду несколько технических групп и чатов, то часто сталкивался с вопросом от подписчиков о том, с какого же языка лучше начать изучать программирование и информатику. Очень часто кто-то советует именно Python. Я в корне не согласен с этим советом. Мне нравится этот язык, и я ничего не имею против него, он прост и удобен. Но есть кое-какие аргументы против того, чтобы поставить его на место вашего первого языка программирования. Оговорюсь, что всё сказанное далее является субъективным мнением автора и не претендует на истину.
Итак, почему…

Ниже на картинке я привел пример, как можно с помощью маленькой функции обработать матрицу и вернуть структуру, соответствующую транспонированной матрице.

Транспонирование матрицы — это операция над матрицей, при которой ее строки и столбцы меняются местами. Кто уже начинал изучать аналитическую геометрию (линейную алгебру), тот сталкивался с этой простейшей задачей. Иногда это задание дают на уроках информатики в качестве сложных задач на обработку двумерных массивов, которые мы и называем матрицами. Что ж, кому-то может показаться и вовсе несложным. Однако, для большинства начинающих и людей, не сталкивающихся с программированием, понять, что такое двумерный/многомерный массив — это непростая задача. Вы можете не поверить, но есть много очень замудренных задач на обработку многомерных массивов, над которыми придется подумать даже опытному разработчику.

Но вернемся к нашей (более-менее легкой ?) задачке про транспонирование. Как вы видите, в Python задачу можно решить буквально за пару строчек кода. И всё это благодаря сложным встроенным функциям и методам, которые очень сильно облегчают ваш мыслительный процесс. В результате программируя на Python в качестве первого своего языка, вы надеваете на себя розовые очки и начинаете считать, что программирование — это просто. В этом есть и доля правды, и в этом есть огромный подвох.

Есть другие языки, более низкого уровня, которые помогут вам понять глубину, понять базу, понять структуру, снять розовые очки, убрать синтаксический сахар и как следует подумать над теми вещами, которые ранее вы принимали как должное. Какой из этого вывод? Если вы хотите научиться думать, по-настоящему понимать как работает железо, то лучше начать с низкого уровня. Поэтому полезнее будет начать с Assembler или C.

Во-первых, это даст вам лучшее представление о том, как работает процессор и периферийная электроника в вашем ПК.

Во-вторых, вы начнете понимать сообщения об ошибках в операционной системе.

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

Думаю, что можно еще привести кучу плюсов к тому, чтобы начать с низкого уровня. Зачастую, люди, изучающие Python, по привычке подключают в свой код кучу библиотек ради реализации каких-то простейших функций. Логично предположить, что это сильно утяжеляет код и делает его медленным. А если еще вспомнить, что даже эффективно написанный python-код примерно в 1000 раз медленнее аналогичного кода на C/C++, то представьте себе какая производительность в итоге получится. Конечно же не всем разработчикам нужно писать ПО, которое работает в режиме реального времени и требует мгновенных реакций с минимальными задержками. Не всем нужно писать ААА-игры.

Тем не менее, обратите внимание на текущую ситуацию в программном обеспечении. Если раньше нужно было 8-битный процессор, чтобы запустить спутник в космос, то сейчас у нас тормозит несколько вкладок в браузере при 2-4 ядерном 64-битном CPU. Так может быть причина как раз в разработчиках, а не в «слабом» железе?

Самый ранний из найденных космических аппаратов, в которых стояли не микросхемы средней степени интеграции, а именно монолитный микропроцессор (8-битный RCA 1802) – это спутник Magsat, запущенный 30 октября 1979 года.

В завершении хотелось бы сказать, что все языки программирования — это великие достижения в IT-области. Но чтобы нам стать настоящими профессионалами и экспертами, всё равно придется узнать то, с чего всё начиналось, вспомнить об истоках, математике, алгоритмах, ассемблере и даже об электронике и физике. Все знания должны сплетаться в вашей голове в единую картину, в крепкую логическую цепочку. Последнюю получится построить только тогда, когда мы начнем от корня технологий, начнем с самого нижнего уровня.

Напишите в комментариях, согласны ли вы с такой идеей? Или же вы придерживайтесь другого подхода?

Python — отстой: разочарованный разработчик обрушился с критикой на популярный язык программирования

Разработчику программного обеспечения Майклу Морено не угодил Python. Чем именно, специалист написал в блоге на Medium, чем привлек внимание более 6,5 тысяч пользователей. Что, по мнению разработчика, такого плохого в детище Гвидо ван Россума — узнаете далее.

Експертний курс від robotdreams: Product Manager PRO.
Керуйте продуктом на високому рівні.

«Повторю еще раз: Python — плохой язык программирования», — с таких слов начал свой пост возмущенный разработчик. Главная причина, по которой язык настолько популярен, в том, что Google сильно продвигала его в первой декаде «нулевых», уверен Майкл Морено. Вот что он написал.

Все началось в Google

Создатель Python работал в Google с 2005 по 2012 год. Таких языков, как Go и Dart, тогда еще не было, или, по крайней мере, они не были широко известны, а с учетом того, что C# набирал популярность, в Google, вероятно, поняли, что им нужен собственный язык. По сути, можно было использовать Java, но тогда бы они не миновали очередных юридических проблем с Oracle . Тогда, по неизвестным причинам, боссы компании выбрали Python.

Пруф, что Гвидо ван Россум работал на Google

Пруф, что Гвидо ван Россум работал на Google

Позвольте объяснить, почему Python — отстой. Да, будет трудно, учитывая его популярность, но постараюсь. Я расскажу не о самом языке, не о его производительности или возможностях реализации, в основном моя цель — сравнить его с Java и C#. Почему? Потому что эти два известных, зрелых языка программирования уже более 15 лет находят широкое применение в мире разработки программного обеспечения.

Язык фрагментарного программирования

В течение очень долгого времени у Python было две основные версии — Python 2 и 3, которые, к слову, несовместимы друг с другом. Таким образом, разработчики попадали в странную ситуацию. В Google призывали всех изучать Python, потому что это «круто». Кто-то скачивал вторую версию, кто-то третью, и только потом выяснялось, что, например, у Python 3 почти нет совместимых библиотек, и никто не использует эту версию. Единственная причина, зачем ее разрабатывали, — это добавление круглых скобок в функцию print() и поддержка эмодзи. Что до Python 2, то из-за множества ошибок (около 3300), в Ubuntu, например, вообще решили отказаться от его использования.

Професійний курс від laba: Управління командою в бізнесі.
Створюйте ефективну робочу атмосферу.

Уродливая ориентация объекта

Класс в Python выглядит так:

    Обратите внимание на ключевое слово self . Оно в Python везде! Это способ обращения к переменным экземпляра класса. Чем-то похоже на this в Java и С#, только в Python оно обязательно.

class Car: def __init__(self): self.color = "red" self.wheels = 4 def get_wheels(self): return f"!"
    Но это приведет к тому, что интерпретатор Python исказит имя переменной так, что она станет недоступной за пределами класса. Так или иначе, она не станет частной переменой, но имя исказится 100%. Оно вам надо?

Кстати, если спросить об этом Python-разработчика, он лишь ухмыльнется и посоветует не обращаться к переменным экземпляра другого класса. Будьте готовы, разработчики Python враждебны и беспощадны к тем, кто указывает на недостатки их «родного» языка программирования.

Пробелы — то, чего нельзя увидеть

Еще одна причина, по которой Python — это мусор. В нормальном языке для разграничения области видимости используются фигурные скобки или ключевые слова BEGIN и END . Но не в Python! Создатели языка решили, что было бы здорово придать пробельным символам семантическое значение. Но с какой стати они придали семантическое значение тому, чего нельзя увидеть? Кто решил, что это хорошая идея?

Ок. Уговорили!

Динамическая типизация — это лук и стрелы

Динамическая типизация — это плохо. Любой, кто со мной не согласен, вероятно, написал еще недостаточно программного обеспечения, чтобы это понять. При динамической типизации, чем больше программа, тем выше вероятность, что она необслуживаемая. Вангую, в будущем все основные языки программирования будут статически типизированными, а использование динамически типизированного языка будет похоже на использование лука и стрел. Не удивлюсь, если видео, как люди программируют на динамических типизированных языках, есть на YouTube-канале Primitive Technology . Языки, появившиеся совсем недавно, такие как TypeScript, вселяют в меня надежду.

Кодинг на Python равен процессу создания первобытного орудия, уверен автор

Кодинг на Python равен процессу создания первобытного орудия, уверен автор

Некоторые питонисты поняли, что динамическая типизация — это плохо, следствием чего стало создание модуля mypy . Но! Если вы собираетесь добавить аннотации типов в Python, почему бы вам просто не использовать Java или C#?

Константы. Точнее их отсутствие.

В Python нет констант. А чего вы еще ожидали, дочитав до этого места? Кстати, вопрос о том, как сделать переменную постоянной, задали на Stack Overflow, и совет разработчика Python был « просто не меняйте ее ».

Професійний курс від mate.academy: Java.
Погрузьтеся у світ програмування.

Заключение и взгляд в будущее

Python — это пример того, как люди пытаются жить с чем-то, приспособиться и заставить себя полюбить что-то, вместо того, чтобы избавиться от этого и перейти на что-то лучшее. Может быть, это все история про любовь, надежду или что-то еще? Каким-то образом этот некачественный язык превзошел несколько более современных языков, и, возможно, уже слишком поздно что-то с этим делать.

В 2014 году Python стал самым популярным вводным учебным языком в университетах. Так что в ближайшее время мы начнем видеть все больше детей, приходящих в индустрию с Python в качестве основного языка, и его популярность будет только расти по мере того, как на нем будет писаться все больше и больше программ. На момент написания материала он занимает второе место в индексе TIOBE , и эта компания назвала Python «языком программирования 2020 года».

Рейтинг TIOBE

Да, если хотите заниматься машинным обучением и наукой о данных в 2021-м, используйте Python, поскольку это язык с наибольшим количеством библиотек. По крайней мере, мы можем быть благодарны Google за то, что они не стали продвигать Brainfuck .

Синтаксис Brainfuck

Насколько конструктивна критика автора? Согласны с его словами? Пишите об этом в комментариях.

Почему Python такой популярный

Логотип компании Tproger

Спросили у ChatGPT, почему Python такой популярный язык программирования, и как он развивался в 90-х, нулевых и 10-х годах.

Python признан самым популярным и эффективным языком программирования в 2022 году.

Спросили у ChatGPT, как Python набирал популярность с 1990-х годов и почему Python популярен в Data Sceince, Machine Learning, веб-разработке и разработке игр.

Дисклеймер Статья написана ChatGPT.

Как развивался Python

Python – это высокоуровневый, динамически типизированный и интерпретируемый язык программирования, который в последние годы приобретает все большую популярность благодаря своим многочисленным преимуществам и универсальности.

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

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

Python был разработан в 1989 году Guido van Rossum как инструмент для упрощения разработки сценариев и автоматизации задач.

Guido van Rossum хотел создать язык, который был бы читаемым и легко используемым, чтобы упростить жизнь программистам, особенно новичкам. Он хотел, чтобы Python был мощным и гибким в использовании, что позволяло бы ему использоваться в широком спектре практических задач, от научных вычислений до разработки веб-приложений.

В 1990-х годах Python развивался как альтернативный язык программирования, предлагающий простой синтаксис и богатые возможности.

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

Как развивался Python в 1990-х годах

  1. Начало разработки: в 1989 году Guido van Rossum начал разрабатывать Python, как удобный инструмент для системного администрирования.
  2. Релиз первой версии: в 1991 году была выпущена первая версия Python, которая начала использоваться в малом количестве проектов.
  3. Расширение функциональности: в 1990-х годах Python получил ряд новых функциональных возможностей, включая поддержку ООП, интерфейсов к базам данных и веб-разработки.

Как развивался Python в 2000-х годах

Python получил широкую популярность в 2000-х годах и продолжал расти в этот период.

  1. Релиз Python 2.0: в 2000 году был выпущен Python 2.0, который включал в себя ряд улучшений по сравнению с предыдущими версиями.
  2. Улучшение стандартной библиотеки: в 2000-х годах стандартная библиотека Python получила ряд важных улучшений, таких как добавление новых модулей и улучшение существующих.
  3. Рост популярности: в 2000-х годах Python стал одним из самых популярных языков программирования, используемых в различных областях, таких как наука, образование, бизнес и интернет.
  4. Рост сообщества: сообщество разработчиков Python также получило рост в 2000-х годах, благодаря чему было создано множество новых библиотек.
  5. Использование в научных исследованиях: в 2000-х годах Python стал популярным в области научных исследований, используемым для анализа данных и симуляций.
  6. Использование в игровой индустрии: в 2000-х годах Python также начал использоваться в игровой индустрии для разработки игр и инструментов для их создания.
  7. Расширение функциональности: в 2000-х годах Python получил ряд новых функциональных возможностей, включая поддержку многопоточности, веб-разработки и мобильных приложений.

Как развивался Python в 2010-х годах

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

  1. Было выпущено несколько версий Python, включая Python 3.x, которая принесла множество улучшений в функциональности и производительности.
  2. Количество библиотек, пакетов и инструментов, доступных для Python, росло, делая его более мощным и универсальным языком. Сюда вошли такие популярные библиотеки, как NumPy, pandas, Matplotlib и другие.
  3. Развивалось сообщество Python, в котором все больше пользователей и разработчиков вносили свой вклад в развитие языка. Это привело к расширению спектра ресурсов, включая учебники, форумы и онлайн-сообщества, для изучения и использования Python.

В целом, 2010-е годы стали для Python десятилетием непрерывного роста и развития, укрепив его позиции как одного из самых популярных и широко используемых языков программирования.

Почему Python популярен сегодня

Вот некоторые причины, по которым Python стал одним из самых популярных языков программирования в мире:

  1. Простота изучения и использования: Python имеет простой и понятный синтаксис, что делает его легким в изучении и использовании, особенно для начинающих. Он также имеет обширную стандартную библиотеку, которая предоставляет множество функциональных возможностей из коробки, избавляя от необходимости писать сложный код.
  2. Универсальность: Python является языком общего назначения и может использоваться в различных приложениях, включая веб-разработку, анализ данных, машинное обучение, научные вычисления и многое другое.
  3. Большое и активное сообщество: Python имеет большое и активное сообщество разработчиков, которые постоянно вносят свой вклад в развитие языка и создают новые библиотеки и инструменты. В результате пользователи Python получают огромное количество ресурсов и поддержки.
  4. Отлично подходит для науки о данных: Python широко используется в науке о данных и машинном обучении благодаря своим мощным библиотекам, таким как NumPy, Pandas, Matplotlib и другим. Эти библиотеки позволяют легко выполнять сложный анализ и визуализацию данных.
  5. Популярность в промышленности и академических кругах: Python широко распространен как в промышленности, так и в научных кругах, что делает его универсальным языком с широким спектром применения. Такие компании, как Google, Facebook и Netflix, используют Python в процессе разработки.
  6. Кросс-платформенная поддержка: Python может работать на различных платформах, включая Windows, macOS, Linux и другие. Это делает его очень переносимым языком, который можно использовать на различных системах без каких-либо изменений.
  7. Открытый исходный код: Python является языком с открытым исходным кодом, что означает, что его исходный код находится в свободном доступе и может быть изменен или распространен кем угодно. Это привело к созданию большого количества сторонних библиотек и инструментов для этого языка.

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

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

Почему Python популярен в Data Science и Machine Learning

Python является популярным языком программирования в области науки о данных по нескольким причинам. Во-первых, он имеет большое и активное сообщество пользователей, что означает наличие множества ресурсов для обучения и решения проблем. Это сообщество также разработало ряд мощных библиотек для анализа и визуализации данных, таких как NumPy, Pandas и Matplotlib.

Еще одна причина популярности Python в области науки о данных – простота использования и читабельность. Синтаксис языка Python прост и интуитивно понятен, что облегчает работу новым пользователям. Это особенно важно для науки о данных, где основное внимание часто уделяется пониманию и работе с данными, а не написанию сложного кода.

Помимо простоты и поддержки сообщества, Python обладает рядом дополнительных возможностей, которые делают его хорошо подходящим для науки о данных. Например, он поддерживает объектно-ориентированное программирование, что позволяет создавать сложные структуры данных и многократно используемый код. Он также имеет встроенную поддержку параллельной обработки и распределенных вычислений, что может быть очень важно при работе с большими массивами данных.

Наконец, Python имеет растущее число специализированных библиотек для конкретных областей науки о данных, таких как машинное обучение (scikit-learn), глубокое обучение (TensorFlow, PyTorch) и обработка естественного языка (NLTK). Эти библиотеки позволяют специалистам по изучению данных легко применять передовые методы к своим данным, не прибегая к написанию сложных алгоритмов с нуля.

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

В частности, в области машинного обучения Python также популярен по ряду причин:

  1. Богатая экосистема библиотек: Python имеет обширную библиотеку предварительно написанного кода, который можно использовать для задач машинного обучения, например NumPy для числовых вычислений, pandas для анализа данных и Matplotlib для визуализации данных. Эти библиотеки упрощают выполнение задач машинного обучения, поскольку они предоставляют функции, реализация которых в противном случае потребовала бы значительного времени и усилий.
  2. Совместимость: Python может легко взаимодействовать с другими языками программирования, такими как C и C++, которые обычно используются для высокопроизводительных вычислительных задач. Это позволяет вам использовать лучшие инструменты из разных языков для создания решения, отвечающего вашим потребностям.
  3. Универсальность: Python можно использовать для широкого спектра приложений, от веб-разработки до научных вычислений и машинного обучения. Эта универсальность означает, что вы можете использовать один и тот же язык для различных задач, что упрощает интеграцию различных частей вашего проекта.
  4. Большой корпус предварительно обученных моделей. В машинном обучении часто бывает так, что модели уже обучены на больших наборах данных и доступны для использования при решении аналогичных задач. Популярность Python в машинном обучении означает, что существует большой набор предварительно обученных моделей, доступных для использования, что экономит время и усилия разработчиков.
  5. Хороший баланс между высокоуровневой абстракцией и низкоуровневым управлением. В то время как Python предоставляет высокоуровневые абстракции, упрощающие выполнение сложных задач, он также обеспечивает низкоуровневое управление, позволяющее при необходимости оптимизировать производительность. Этот баланс делает его отличным выбором для машинного обучения, где часто требуются как высокоуровневые абстракции, так и низкоуровневый контроль.

Почему Python популярен в веб-разработке

Основная причина популярности Python в веб-разработке – его универсальность. Python можно использовать для широкого круга задач, включая веб-разработку, анализ данных, машинное обучение и научные вычисления.

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

Ещё Python имеет сильное сообщество разработчиков, которые активно работают над улучшением языка и способствуют его развитию. Это сообщество предоставляет разработчикам множество ресурсов и поддержку, включая онлайн-форумы, документацию и учебники. Эта поддержка облегчает разработчикам изучение Python, устранение проблем и совместную работу над проектами.

Почему Python популярен в разработке игр

Python является популярным языком в разработке игр по нескольким причинам:

  1. Кроссплатформенная совместимость: код Python может работать на нескольких платформах, включая Windows, Mac и Linux, без каких-либо изменений, что упрощает разработку и распространение игр на нескольких платформах.
  2. Абстракции высокого уровня: Python предоставляет абстракции высокого уровня, такие как объекты, модули и классы, которые упрощают разработку игр. Эти абстракции упрощают структурирование кода, его повторное использование и управление сложными игровыми системами.
  3. Библиотеки разработки игр: для Python доступно несколько библиотек разработки игр, таких как Pygame, Panda3D и Pyglet, которые предоставляют предварительно созданные функции и классы для общих задач разработки игр. Это экономит время и усилия разработчиков, позволяя им сосредоточиться на создании уникальных и инновационных игровых механик.
  4. Быстрое прототипирование: простой для изучения синтаксис Python в сочетании с его высокоуровневыми абстракциями делает его идеальным выбором для быстрого прототипирования. Разработчики игр могут быстро тестировать и дорабатывать игровые механики, не тратя много времени на низкоуровневые задачи программирования.
  5. Большой пул талантов: из-за его популярности существует большой пул разработчиков Python, доступных для разработки игр, что облегчает игровым студиям поиск нужных им талантов. Кроме того, простота изучения Python означает, что разработчики игр могут быстро приобрести навыки, необходимые для создания игр на Python.

Итак, Python является популярным выбором для разработки игр благодаря своей простоте, кросс-платформенной совместимости, высокоуровневым абстракциям, библиотекам для разработки игр, возможностям быстрого прототипирования и большому пулу талантов.

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

Заключение

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

  1. Наука и исследования: Python получил широкое распространение в научных и исследовательских сообществах благодаря его мощным библиотекам для научных вычислений, таким как NumPy, SciPy и Matplotlib.
  2. Машинное обучение: Python является одним из лучших языков для разработки приложений машинного обучения, благодаря своему богатому экосистему библиотек для анализа данных, визуализации и машинного обучения.
  3. Веб-разработка: Python имеет мощные фреймворки для веб-разработки, такие как Django и Flask, которые позволяют создавать сложные веб-приложения.

Следите за новыми постами по любимым темам

Подпишитесь на интересующие вас теги, чтобы следить за новыми постами и быть в курсе событий.

Преимущества и недостатки языка Python

Алексей Волошин

Преимущества и недостатки языка Python

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

В своей статье Алексей Волошин, техлид команды Aliens в RaccoonGang и Преподаватель курсов программирования в Харькове, проводит обзор основных преимуществ и недостатков языка Python.

Если просмотреть статистики последних пяти лет, можно увидеть, что данный язык входит в пятерку самых востребованных языков и по данным DOU за первый квартал 2020 год является четвертым по востребованности в Украине, уступив таким языкам как JavaScript, Java и C#. Это показывает насколько данный язык популярен и востребован на рынке на сегодняшний день.

Популярность Python обусловлена тем, что данный язык способен решать широкий круг задач и его применение возможно на всех популярных на сегодняшний день платформах, за исключением мобильного сегмента, на котором плотно укоренились специфические языки. В последние годы Python приобрел свою популярность за счет эффективности в таких сферах разработки как Machine Learning и Data Science благодаря своей расширяемости и гибкости, что так необходимо в данном сегменте программирования. В то же время Python широко применяется в WEB, в котором данный язык чувствует себя отлично с начала 2000-х годов и по сей день развивает и совершенствует это направление. Поэтому так популярно изучение Python online курсом.

Давайте более подробно посмотрим на все преимущества и недостатки данного языка.

Преимущества

  • Гибкость — это, по моему мнению, основное преимущество языка, так как благодаря своей гибкости язык получил популярность среди многих разработчиков. Как сказал один из моих знакомых, когда начинал изучать этот язык: «Да в Python можно все по винтикам разобрать и собрать в любой момент». И он был прав.
  • Расширяемость — один из слоганов языка звучит как — Just Import! — что полностью объясняет, насколько язык расширяем и был расширен за последние годы. Существуют библиотеки и фреймворки под любой тип задач и надобностей. Также огромным плюсом является то, что мы можем использовать C код из Python.
  • Простота синтаксиса. Синтаксис — это именно то, из-за чего я влюбился в Python, из синтаксиса было убрано все лишнее, код чист и понятен без лишних скобок и выражений.
  • Интерпретируемость. Интерпретатор Python существует для всех популярных платформ и по умолчанию входит в большинство дистрибутивов Linux, а значит есть на большинстве серверов «из коробки».
  • PEP — единый стандарт для написания кода, что делает код поддерживаемым и читабельным даже при переходе от одного программиста к другому. Это поддерживает популярность Python.
  • Open Source — код интерпретатора Python является открытым, что позволяет любому, кто заинтересован в развитии языка поучаствовать в его разработке и улучшить его. Если смотреть детали релиза одной из версий языка, то можно заметить, что огромные части нового функционала реализованы сторонними разработчиками.
  • Комьюнити — вокруг Python образовалось довольно дружественное и приятное комьюнити, которое готово прийти на помощь любому начинающему или уже умелому разработчику и разобраться в его проблеме.

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

Но несмотря на все явные преимущества, Python также имеет ряд недостатков, которые, по моему мнению, с лихвой перекрываются его преимуществами.

Рекомендуем курс по теме

Python Pro advanced

Недостатки

  • Производительность. Большинство разработчиков, да и сам создатель языка, сходятся во мнении, что Python не настолько шустрый, насколько хотелось бы. Это обусловлено тем, что Python интерпретируемый язык. Но даже по сравнению с остальными интерпретируемыми языками заметно, что Python проигрывает в производительности. Но это легко можно нивелировать при помощи C реализаций того или иного проблемного участка кода. В условиях сегодняшних мощностей — это несильно заметно.
  • Синтаксис — да, по моему мнению, синтаксис это и минус тоже, так как если вы переходите с другого языка программирования, синтаксис будет непривычен и немного странным для вас, но это только дело привычки.
  • Динамическая типизация — из-за динамической типизации Python потребляет больше ресурсов, чем мог бы, но это зачастую компенсируется внутренним кешированием.
  • Global Interpriter Lock. На данный момент это является основной проблемой производительности в Python, а также этим обусловлена плохая реализация многопоточности. Код GIL не менялся с первой версии языка. Это явно указывает на то, что он устарел. Остается надеяться, что разработчики уделят этому внимание в ближайших релизах.

Заключение

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *