Простой Python. Современный стиль программирования - [7]

Шрифт
Интервал

>

>$language = 6;

>echo "Language $language: I am PHP. The web is mine, I say.\n";

>?>

Следующий пример показывает ответ Python этим языкам программирования:

>language = 7

>print("Language %s: I am Python. What's for supper?" % language)

Почему же Python?

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

Относительный лаконизм языка Python позволяет создать программу, которая будет гораздо короче своего аналога, написанного на статическом языке. Исследования показали, что программисты пишут примерно одинаковое количество строк кода каждый день независимо от языка, поэтому Python может значительно повысить вашу продуктивность. Язык программирования Python — самое несекретное оружие многих компаний, которым важна продуктивность работы сотрудников.

Python является самым популярным языком на курсах программирования для начинающих в лучших американских колледжах (http://bit.ly/popular-py). Он также используется для оценки навыков программирования более чем 2000 работодателей (http://bit.ly/langs-2014).

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

Python запускается практически везде и имеет «встроенные батарейки» — целую кучу полезного ПО в стандартных библиотеках.

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

Когда не стоит использовать Python

Python не всегда будет наилучшим выбором.

Он не предустановлен по умолчанию. В приложении Г показано, как установить Python, если он еще не установлен на вашем компьютере.

Python довольно быстрый для большинства приложений, но его скорости может оказаться недостаточно для наиболее требовательных из них. Если ваша программа проводит бо́льшую часть времени за вычислениями (в технических терминах такое называется «ограничена быстродействием процессора» (CPU-bound)), то языки С, С++ или Java справятся с задачей гораздо лучше, чем Python. Но не всегда!

• Иногда более качественный алгоритм (пошаговое решение) для Python превосходит по скорости неэффективный алгоритм для С. Более высокая скорость разработки для Python дает вам больше времени для экспериментов над альтернативными решениями.

• Во многих приложениях программа «скрещивает пальцы» в ожидании ответа от сервера. Центральный процессор (компьютерный чип, который делает все расчеты) обычно не задействован, поэтому время выполнения статических и динамических программ будет примерно одинаковым.

• Стандартный интерпретатор Python написан на С и может быть улучшен с помощью дополнительного кода. Я рассмотрю этот вопрос в разделе «Оптимизируем ваш код» главы 12.

• Интерпретаторы для Python становятся быстрее. Java был ужасно медленным, когда только появился, и для его ускорения было потрачено много времени и денег. Языком программирования Python не владеет ни одна корпорация, поэтому он улучшается более плавно. В подразделе «PyPy» упомянутого раздела главы 12 я расскажу о проекте PyPy и его приложениях.

• Вы можете писать очень трудоемкое приложение, и, что бы вы ни делали, Python не будет соответствовать вашим потребностям. Тогда, как сказал Иен Холм в фильме «Чужой», примите мои соболезнования. Обычно альтернативой в таком случае являются языки программирования С, С++ и Java, однако решением может стать и более новый язык программирования — Go (http://golang.org/) (который, по ощущениям, похож на Python, но имеет более высокую производительность, вроде С).

Python 2 против Python 3

Самая большая проблема, с которой вы можете столкнуться сейчас, — это выбор одной из двух существующих версий Python. Python 2, кажется, существовал всегда, эта версия предустанавливается на компьютеры с операционными системами семейства Linux. Это был отличный язык, но ничто не идеально. В языках программирования, как и во многих иных областях, одни ошибки поверхностные, и исправить их легко, а другие — трудно. Решения этих трудных проблем несовместимы: новые программы, написанные с помощью исправленного языка, не будут работать на старых системах, а старые программы не будут работать на новых.


Рекомендуем почитать
Pro Git

Разработчику часто требуется много сторонних инструментов, чтобы создавать и поддерживать проект. Система Git — один из таких инструментов и используется для контроля промежуточных версий вашего приложения, позволяя вам исправлять ошибки, откатывать к старой версии, разрабатывать проект в команде и сливать его потом. В книге вы узнаете об основах работы с Git: установка, ключевые команды, gitHub и многое другое.В книге рассматриваются следующие темы:основы Git;ветвление в Git;Git на сервере;распределённый Git;GitHub;инструменты Git;настройка Git;Git и другие системы контроля версий.


Java 7

Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др.


MFC и OpenGL

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


Симуляция частичной специализации

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


Обработка событий в С++

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


Питон — модули, пакеты, классы, экземпляры

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


Автостопом по Python

Перед вами — увлекательная книга, которую по достоинству оценит любой неравнодушный программист и даже бывалый питонщик. Она составлена на основе одноименного онлайнового руководства http://docs.python-guide.org/en/latest/ и содержит наработки многочисленных профессионалов и энтузиастов, знающих, что такое Python, и чего вы от него хотите. Проверенные методы и новейшие приемы, собранные в этой книге, помогут вам стать профессиональным Python-программистом и во всеоружии встретить наступающую эпоху Python 3.


Философия DevOps. Искусство управления IT

IT-принцип «agile» стал мантрой цифровой эпохи. С ростом проектов, переходом от монолитных приложений к системе микросервисов, увеличением и накоплением продуктов возникают вопросы, которые требуют совершенно иного подхода. Теперь наибольший интерес вызывает находящаяся на стыке разработки и операционного управления методология DevOps.DevOps – это не просто набор техник, это философия. Разработчики, зацикленные на пользователях, должны уделять внимание поддержке и ее запросам. Сисадмины должны сообщать о проблемах продукта и вносить свой вклад в улучшение процесса работы.


iOS. Приемы программирования

Книга, которую вы держите в руках, представляет собой новый, полностью переписанный сборник приемов программирования по работе с iOS. Он поможет вам справиться с наболевшими проблемами, с которыми приходится сталкиваться при разработке приложений для iPhone, iPad и iPod Touch. Вы быстро освоите всю информацию, необходимую для начала работы с iOS 7 SDK, в частности познакомитесь с решениями для добавления в ваши приложения реалистичной физики или движений — в этом вам помогут API UIKit Dynamics.Вы изучите новые многочисленные способы хранения и защиты данных, отправки и получения уведомлений, улучшения и анимации графики, управления файлами и каталогами, а также рассмотрите многие другие темы.