Python. Экспресс-курс | страница 28
1.3.2. Python не является лидером по количеству библиотек Хотя Python включает превосходную подборку библиотек и еще много библиотек находится в свободном доступе, Python не является лидером в этом отношении. Для таких языков, как C, Java и Perl, доступны еще б ˆольшие подборки библиотек. Иногда они предоставляют решение в тех случаях, когда в Python его нет, или пред-лагают несколько вариантов там, где Python предлагает только один вариант. Тем не менее такие ситуации обычно оказываются узкоспециализированными, а Python при необходимости легко расширяется — либо кодом Python, либо существую-щими библиотеками на C и других языках. Практически для всех повседневных вычислительных задач в библиотеке Python реализована превосходная поддержка.
1.3.3. Не проверяет тип переменных во время компиляции В отличие от некоторых языков, переменные в Python не служат контейнерами для своих значений, скорее они больше похожи на метки для разных объектов: целых чисел, строк, экземпляров классов и т. д. Это означает, что хотя сами объекты об-ладают типом, ссылающиеся на них переменные не привязаны к этому конкретному типу. Возможно использовать переменную x для хранения строки в одной точке про-граммы и целого числа в другой (впрочем, это не значит, что так стоит поступать): >>> x = "2"
>>> x
'2
>>> x = int(x)
>>> x
2
Тот факт, что Python связывает типы с объектами, а не с переменными, означает, что интерпретатор не поможет с выявлением несовпадений типов. Если вы включили в программу переменную для хранения целого числа, Python не будет протестовать, если присвоить ей строку "two" . Программисты с опытом работы на традиционных языках считают это недостатком, потому что вы лишаетесь дополнительной про-верки в коде. Однако поиск и исправление таких ошибок обычно не создают особых проблем, а средства тестирования Python помогают устранять ошибки несоответ-ствия типов. Многие программисты Python считают, что гибкость динамической типизации с лихвой перевешивает ее недостатки.
1.3.4. Слабая поддержка мобильных устройств За последнее десятилетие появилось великое множество всевозможных мобильных устройств: смартфоны, планшеты, планшетофоны, хромбуки… Новые мобильные устройства повсюду, и на них работают самые разные операционные системы. Python не принадлежит к числу сильных игроков в этом секторе. Варианты запуска Python на мобильных устройствах не всегда просты (хотя они и существуют), а при попытках использования Python для написания и распространения коммерческих приложений начинаются проблемы.