Archy
После 17 лет работы с языком Python и 12 лет преподавания единственный недостаток, который мне удалось обнаружить, - это скорость выполнения программ, которая не всегда может быть такой же высокой, как у программ, написанных на компилирующих языках программирования, таких как С или C++.
Подробнее о концепциях реализации мы поговорим в следующих статьях. В двух словах замечу, что в современной реализации Python компилирует (то есть транслирует) инструкции исходного программного кода в промежуточное представление, известное как байт-код, и затем интерпретирует этот байт-код.
Байт-код обеспечивает переносимость программ, поскольку это платформоне-зависимый формат. Однако из-за того что Python не создает двоичный машинный код (например, машинные инструкции для микропроцессора Intel), некоторые программы на языке Python могут работать медленнее своих аналогов, написанных на компилирующих языках, таких как С.
Будет ли вас когда-нибудь волновать разница в скорости выполнения программ, зависит от того, какого рода программы вы пишете. Python многократно подвергался оптимизации и в отдельных прикладных областях программный код на этом языке отличается достаточно высокой скоростью выполнения.
Python - это многоцелевой язык программирования, который зачастую используется для создания сценариев. Обычно он позиционируется как объектно-ориентированный язык сценариев - такое определение смешивает поддержку ООП с общей ориентацией на сценарии. Действительно, для обозначения файлов с программным кодом на языке Python программисты часто используют слово «сценарий» вместо слова «программа». В этой книге термины «сценарий» и «программа» рассматриваются как взаимозаменяемые с некоторым предпочтением термина «сценарий» для обозначения простейших программ, помещающихся в единственный файл, и термина «программа» для обозначения более сложных приложений, программный код которых размещается в нескольких файлах.
Термин «язык сценариев» имеет множество различных толкований. Некоторые предпочитают вообще не применять его к языку Python. У большинства термин «язык сценариев» вызывает три разных ассоциации, из которых одни более применимы к языку Python, чем другие:
Это самый типичный вопрос, который задают начинающие программисты, потому что на сегодняшний день существует масса других языков программирования. Учитывая, что число пользователей Python составляет порядка миллиона человек, достаточно сложно однозначно ответить на этот вопрос.
Выбор средств разработки иногда зависит от уникальных особенностей и личных предпочтений. Однако после обучения примерно 225 групп и более 3000 студентов за последние 12 лет у меня накопились некоторые общие мысли по этому поводу. Основные факторы, которые приводятся пользователями Python, примерно таковы:
Качество программного обеспечения
Для многих основное преимущество языка Python заключается в
удобочитаемости, ясности и более высоком качестве, отличающими его от других
инструментов в мире языков сценариев. Программный код на языке Python
читается легче, а значит, многократное его использование и
обслуживание выполняется гораздо проще, чем использование программного кода на
других языках сценариев. Единообразие оформления программного кода
на языке Python облегчает его понимание даже для тех, кто не участвовал
в его создании. Кроме того, Python поддерживает самые современные
механизмы многократного использования программного кода, каким является
объектно-ориентированное программирование (ООП).
- Python для начинающих 69
- Python и запуск програм 16
- SQLite 12
- Веб-программирование 7
- Взаимодействие с Интернетом 259
- Видео уроки 7
- Запуск программ на Python 4
- Изучение PyQt5 12
- Изучение wxPython 1
- Модули 8
- Обработка исключений 3
- Общие вопросы 188
- ООП на Python 12
- Примеры Python 30
- Работа с изображениями 4
- Разработка интернет-приложений 8
- Распаковка последовательности в отдельные переменные
- Создание своего веб-фреймворка на Python - Часть 1
- Какая версия Python самая быстрая?
- Модуль multiprocessing на примерах
- Современные альтернативы функциям map, filter и reduce в Python
- Как определить кодировку последовательности байтов в Python
- Модуль threading на примерах