Сьогодні, коли обчислювальні потужності персональних комп'ютерів і серверів стали досить високими, з'явився величезний попит на інтерпретовані мови програмування. Адже крім запуску самої програми необхідний запуск інтерпретатора, що вимагає додаткових ресурсів. Саме такою мовою і є Python.
Якщо переглянути статистики останніх п'яти років, можна побачити, що дана мова входить до п'ятірки найбільш затребуваних мов і за даними DOU за перший квартал 2020 рік є четвертим по затребуваності в Україні, поступившись таким мовам як JavaScript, Java і C #. Це показує наскільки дана мова популярний і затребуваний на ринку на сьогоднішній день.
Популярність Python обумовлена тим, що даний мова здатна вирішувати широке коло завдань і його застосування можливе на всіх популярних на сьогоднішній день платформах, за винятком мобільного сегменту, на якому щільно вкоренилися специфічні мови. В останні роки Python придбав свою популярність за рахунок ефективності в таких сферах розробки як Machine Learning і Data Science завдяки своїй розширюваності і гнучкості, що так необхідно в даному сегменті програмування. У той же час Python широко застосовується в WEB, в якому дана мова відчуває себе чудово з початку 2000-х років і до цього дня розвиває і вдосконалює цей напрямок.
Давайте більш детально розглянемо всі переваги і недоліки даного мови.
Переваги
- Гнучкість — це, на мою думку, основна перевага мови, так як завдяки своїй гнучкості мова отримала популярність серед багатьох розробників. Як сказав один з моїх знайомих, коли починав вивчати цю мову: «Та в Python можна все на гвинтики розібрати і зібрати в будь-який момент». І він мав рацію.
- Можливість розширення — один із слоганів мови звучить як — Just Import! — що повністю пояснює, наскільки мова розширюється і була розширена за останні роки. Існують бібліотеки і фреймворки під будь-який тип завдань і потреб. Також величезним плюсом є те, що ми можемо використовувати C код з Python.
- Простота синтаксису. Синтаксис — це саме те, через що я закохався в Python, з синтаксису було прибрано все зайве, код чистий і зрозумілий без зайвих дужок і виразів.
- Інтерпретованість. Інтерпретатор Python існує для всіх популярних платформ і за замовчуванням входить в більшість дистрибутивів Linux, а значить є на більшості серверів «з коробки».
- PEP — єдиний стандарт для написання коду, що робить код підтримуваним і читабельним навіть при переході від одного програміста до іншого. Це підтримує популярність Python.
- Open Source — код інтерпретатора Python є відкритим, що дозволяє будь-кому, хто зацікавлений у розвитку мови взяти участь в його розробці і поліпшити його. Якщо дивитися деталі релізу однією з версій мови, то можна помітити, що величезні частини нового функціоналу реалізовані сторонніми розробниками.
- Ком'юніті — навколо Python утворилося досить дружнє і приємне ком'юніті, яке готове прийти на допомогу будь-якому починаючому або вже вмілому розробнику і розібратися в його проблемі.
Всі ці переваги мови зробили його популярним і затребуваним на даний момент, дозволивши Python розвиватися величезними темпами. Існує вже третя версія мови, яка є основною сьогодні. Друга версія мови перестала підтримуватися в грудні 2019-го року.
Але незважаючи на всі явні переваги, Python також має ряд недоліків, які, на мою думку, з лишком перекриваються його перевагами.
Рекомендуємо курс по темі
Недоліки
- Продуктивність. Більшість розробників, та й сам творець мови, сходяться на думці, що Python не такий спритний, наскільки хотілося б. Це обумовлено тим, що Python інтерпретована мова. Але навіть у порівнянні з іншими інтерпретованими мовами помітно, що Python програє в продуктивності. Але це легко можна нівелювати за допомогою C реалізацій того чи іншого проблемного ділянки коду. В умовах сьогоднішніх потужностей — це несильно помітно.
- Синтаксис — так, на мою думку, синтаксис це і мінус теж, так як якщо ви переходите з іншої мови програмування, синтаксис буде незвичним і трохи дивним для вас, але це тільки справа звички.
- Динамічна типізація — через динамічну типізацію Python споживає більше ресурсів, ніж міг би, але це часто компенсується внутрішнім кешуванням.
- Global Interpriter Lock. На даний момент це є основною проблемою продуктивності в Python, а також цим обумовлена погана реалізація багатопоточності. Код GIL не змінювався з першої версії мови. Це явно вказує на те, що він застарів. Залишається сподіватися, що розробники приділять цьому увагу в найближчих релізах.
Висновок
Виходячи з перерахованого вище, я все ж стверджую, що всі недоліки мови з лишком нівелюються його перевагами, які набагато вагоміші в сьогоднішніх реаліях. І не варто забувати, що мова розвивається. Це дає надію на те, що всі недоліки будуть або скорочені, або усунуті зовсім.
Python — це відмінна мова програмування як для навчання, так і для реальної розробки. Він допомагає вирішити величезний спектр завдань!