Как долго Python будет «большим мальчиком»? в сценариях?

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

Для чего используется Python?

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

Исполняемый?

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

Интернет?

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

Машинное обучение

Машинное обучение - еще одно видное применение Python, которое, безусловно, помогло резко поднять его популярность в последние годы. Машинное обучение находится на переднем крае технологий, и Python, наряду с его тесной связью с C, на удивление эффективен и полезен для машинного обучения. Хотя Python, безусловно, не хватает производительности некоторых подобных языков, таких как Nim, Julia и Go, во многих отношениях он компенсирует это быстротой, легкостью, лаконичностью, но, что, возможно, более важно,

универсальный.

Unix

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

Недостатки Python

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

Python медленный.

Представление

Хотя я, безусловно, согласен с тем, что использование журналов и для каждого метода и, как правило, просто написание лучшего кода, безусловно, может ускорить Python, определенно существуют ситуации, когда код просто должен быть медленным. Машинное обучение - отличный пример, потому что обучение нейронных сетей часто требует смертоносного использования рекурсии. Я не могу сказать вам, сколько раз я писал сценарий для извлечения данных на Python, а затем испытывал тайм-ауты и замедления в моем интерфейсе командной строки (CLI).

Есть попытки смягчить это с помощью неизменно впечатляющего Cython, но часто переход не так прост, как яблоки и апельсины при попытке использовать Cython. Хотя есть много сценариев, в которых ограничения Python не ощущаются, я бы солгал, если бы сказал, что мне никогда не приходилось переключаться на Julia, Nim или C, чтобы что-то сделать.

Зависимости

Еще один существенный недостаток Python - зависимости и виртуальные среды. Что касается языка сценариев в области Python, я думаю, что Python неплохо справляется с зависимостями и виртуальными средами. Мне нравится сравнивать Python с двумя языками, которые я использую для подобных вещей, Julia и Nim, а мир зависимостей Джулии очень похож на мир Python. Одно из преимуществ Джулии заключается в том, что, по моему субъективному мнению, виртуальные среды намного лучше и проще в использовании.

Однако с включением Nim Python остался мертвым в воде. С помощью Nim вы можете создать скомпилированный исполняемый файл, содержащий все необходимые зависимости. Nim легко превосходит Python и Julia в том, как зависимости и пакеты обрабатываются для конечных пользователей и развертывания.

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

Несмотря на мои претензии к Python, в Python есть много всего, что мне нравится.

Преподобный

Python - очень часто используемый язык программирования, который имеет множество преимуществ, таких как:

  • Легко в Google
  • Легко говорить о
  • Отличные пакеты
  • Частые патчи

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

Похоже на английский

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

Честно говоря, мы все предпочли бы писать Python, чем C.

Это СОПО

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

Срок действия Python истекает?

На самом деле мне часто задают вопрос: «Как вы думаете, как долго будет существовать Python?» Часто этот вопрос возникает в области машинного обучения, потому что Python имеет целый ряд проблем, связанных с машинным обучением. Забавно думать, что любой язык может быть статичным и оставаться наиболее часто используемым языком программирования в течение очень долгого времени.

Фортран был большим событием до C, C был большим событием до C ++, C ++ был большим событием до Java, и этот список можно продолжать и продолжать, и так будет всегда. Компьютеры интересны, потому что они постоянно развиваются, а вместе с ними и технологии, над которыми они работают. Всего 30 лет назад идея 16 ГБ ОЗУ была совершенно диковинной концепцией, поэтому невозможно сказать, что ждет языки программирования в будущем.

Хотя это, безусловно, правда, что в конечном итоге Python, скорее всего, будет вытеснен другим языком программирования, я думаю, важно помнить, что люди все еще пишут Fortran, C, Java и C ++; поэтому сам Python, вероятно, будет с нами и будет использоваться очень часто в течение длительного периода времени, каким бы непопулярным он ни стал.

Другие языки

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

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

Возможно продвижение.

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

функциональные языки,

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

Заключение

Стоит ли изучать Python?

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

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