Главная / Блог / Скрываемые Недостатки Python

Скрываемые Недостатки Python

236

12.20.2019

Обновлено: 01.01.2020

Время прочтения: 3 минуты

Василий Кулик программист

Кулик Василий

Скрываемые Недостатки Python

Мы живем в 21 веке! IT-технологии развиты на высоком уровне, что не удивительно. Каждый день в интернете появляется сотни тысяч сайтов по всему миру. Свои личные сайты имеют не только бизнесмены, политики, но и множество простых людей.

Что такое сайт и что он из себя представляет знает каждый, даже бабушки, дедушки и блондинки ;) Внешний вид сайтов пишется программистами на стандартизированных языках для WEB: HTML, CSS, JavaScript. Этими языками программируются браузеры, иначе говоря пишутся условия для интерпретаторов браузера, обрабатывающих понятный код человеку высокого уровня, отображая полноценный вид (представление) в браузере.

Сервера программируются 80% случаев на языке программирования PHP. Этот язык был изначально создан для WEB-программирования именно серверов, оправдал себя по скорости и высокой безопасности, но стали появляться и другие аналоги.

В последнее время стал набирать популярность язык Python в WEB-программировании серверов. В соц. сетях "Facebook", "ВКонтакте", "Instagramm", видео-хостинге "YouTube" и других сайтах активно крутится реклама с платными курсами обучения языку Python. В погонях за нечто новым люди толпами "кинулись" изучать и использовать Python в WEB-разработке. Заказчики стали заказывать сайты на Python, поддаваясь рекламе посредников.

Пока немного сайтов написаны на Python но всплыл вопрос: Какие подводные камни и опасности проекту принесет Python? Для ответа на данный вопрос логически правильным решением будет протестировать этот язык.

Скорость работы

Проверим скорость работы кода языков программирования PHP и Python, выполняющего одинаковые программные действия на оборудовании Emachines E729Z, CPU Intel Pentium P6200 (2x2.13 GHz). От комментариев по коду удержусь, ведь речь не об этом.

Код Python:

import time start=time.time() f=open(u'D:\\Python/base.bd','r') s=f.read() f.close() buf=s.split("\n") i=0 c=len(buf) while(i<c): str=buf[i].split(';') if(str[0]=='Статья 33'): print(str[0]) i=i+1 i=0 c=80000 while(i<c): i=i+1 b='Мы пришли и начали жарить шашлыки и отдыхать 77 '; b=b.replace('пришли', 'приехали') b=b.replace('начали','закончили'); print(b) str='Статья;1020;привет;' mas=str.split(';') print(mas) print(time.time()-start) input("Press Enter to continue...")

Код PHP выполняющий аналогичные задачи:

<?php $start=microtime(true); $root=$_SERVER['DOCUMENT_ROOT']; $f=fopen($root.'/base.bd','r'); $buf=explode("\n", fread($f,filesize ($root.'/base.bd'))); fclose($f); $i=0;$c=count($buf);while($i<$c){$str=explode('~|~',$buf[$i]); if($str[0]=='Статья 33'){echo $str[0];} $i++;} $i=0;$c=80000;while($i<$c){ $i++;}

$b='Мы пришли и начали жарить шашлыки и отдыхать 77 ';
$b=str_replace('пришли', 'приехали',$b);
$b=str_replace('начали', 'закончили',$b);

echo $b $str='Статья~|~1020~|~привет~|~'; $mas=explode('~|~',$str); print_r($mas); echo '<br>Время выполнения PHP-скрипта: '.(microtime (true)-$start);

Время выполнения задачи:

Кто был послушным мальчиком, или девочкой, изучал математику в школе и разбирается в десятичных дробях видит, что проиграл по времени Python. Двигаемся на шаг вперёд и высчитаем, в сколько раз проигрывает. Для этого, время интерпретации кода Python делим на время интерпретации PHP (больше число на меньше) следующим образом: 0.17300987243652344 / 0.0060000419616699 = 17.834889727797. Python проиграл почти в 18 раз за PHP и, безусловно, проигрывает в любых других операциях и задачах (многократно протестировано).

Многие убеждены, что скомпилированый код Python в исполняемый файл выполняется сверхбыстро. Принимаю вызов и пользуясь популярным компилятором PIP проделываю это. Получем скорость 0.034001827239990234 сек. Применив вышеописанную формулу убеждаюсь, что это далеко не спасло ситуацию и мы видим следующее: 0.034001827239990234 / 0.0060000419616699 = 5.6669315743464. Даже не спасла компиляция и Python проиграл почти в 6 раз.

Почему скорость работы кода (скриптов) важна в WEB-программировании?

Из этого вопроса следует простой ответ:

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

Подходит Python для WEB-программирования?

Теперь посчитаем, за сколько времени сервер сможет обработать 500 пользователей сайта одновременно, выполняя вышеприведённый код:

Скрываемые недостатки Python разоблачили. Казалось бы, миллисекунды - это ерунда, а разница между Python и PHP сногсшибательная. PHP, как не странно, выигрывает по скорости намного и за счет этого лидирует и будет лидировать в будущем на рынке много лет. Использование Python в веб-проектах повлечёт немедленный смертельный приговор. Ответ очевиден, почему программисты отказываются использовать Python в ВЕБ-разработке!

Не поддавайтесь красноречивой рекламе, не дайте себя ввести в заблуждение, как это делают супермаркеты, рекламируя "качественную и полезную" колбаску. Выбирайте PHP для программирования серверов и Ваш проект никогда не завалится, как на Python!
Как говорится в народе: "Доверяй, но проверяй!"

Что-то не понятно?
Спросите у нас и мы обязательно Вам поможем!

Отправляя форму, Вы подтверждаете указание своего e-mail адреса.

Рекомендуемые статьи этой категории

Идеи для дизайна сайта

Примеры самых красивых дизайнов от лучших дизайнеров на топовых платформах мира. Берите идеи и создавайте лучшие дизайны своих сайтов, для привлечения клиентов и улучшения продаж и успехов в SEO.

Подробнее
Как выбрать хостинг

Выбор хостинга, виртуального сервера(VPS), физичесского сервера, для Вашего проекта с ориентировкой на цену, посещаемость и безопасность. Современный и проверенный алгоритм выбора хостинга и сервера, чтобы Ваш сайт попал гарантированно в ТОП!

Подробнее
Ошибки в верстке новичков и опытных

ТОП распространенных ошибок верстальщиков и методы исправления. Скриншоты результатов ошибок и примеры кода, для их устранения.

Подробнее
Оптимизация верстки + 10 трендовых фишек

Узнайте о фишках оптимизации вашей верстки HTML+CSS и ваши сайты станут еще быстрее, лучше и с высокой оценкой качества. Вы узнаете о легком способе оптимизации изображений, шрифтов, текста и кода.

Подробнее

Оставить заявку