Лутц М. - Изучаем Python (1077325), страница 7
Текст из файла (страница 7)
Эта библиотека предоставляет массу возможностей, востребованных в прикладных программах, начиная от поиска текста по шаблону и заканчивая сетевыми функциями. Кроме того, РуФЬоп допускает расширение, как за счет ваших собственных библиотек, так и за счет библиотек, созданных сторонними разработчиками. Из числа сторонних разработок можно назвать инструменты создания веб-сайтов, программирование математических вычислений, доступ к последовательному порту, разработку игровых программ и многое другое.
Например, расширение Ь)шпРу позиционируется как свободный и более мощный эквивалент системы программирования математических вычислений МаФЫаЪ. Интеграция компонентое Сценарии Ру1Ьоп легко могут взаимодействовать с другими частями приложения благодаря различным механизмам интеграции. Почему программисты используют Ру1Ьоп? Эта интеграция позволяет использовать Ру(Ьоп для настройки и расширения функциональных возможностей программных продуктов. На сегодняшний день программный код на языке Ру(Ьоп имеет возможность вызывать функции из библиотек на языке С/ С++, сам вызываться из программ, написанных на языке С/С++, интегрироваться с дача-компонентами, взаимодействовать с такими платформами, как СОМ и .1чЕТ,и производить обмен данными по сети с помощью таких протоколов, как ЯОАР, ХМ( -КРС и СОЕВА.
Ру(Ьоп не является обособленным инструментом. Удовольствие Благодаря непринужденности языка Ру(Ьоп и наличию встроенных инструментальных средств процесс программирования может приносить удовольствие. На первый взгляд это трудно назвать преимуществом, тем не менее, удовольствие, получаемое от работы, напрямую влияет на производительность труда. Из всех перечисленных факторов наиболее существенными для пользователей являются первые два (качество и производительность). Качество программного обеспечения По своей природе Ру(Ьоп имеет простой, удобочитаемый синтаксис и ясную модель программирования. Согласно лозунгу, выдвинутому на недавней конференции по языку Ру$Ьоп, основное его преимущество состоит в том, что Ру1Ьоп «каждому по плечу» — характеристики языка взаимодействуют ограниченным числом непротиворечивых способов и естественно вытекают из небольшого круга базовых концепций.
Это делает язык простым в освоении, понимании и запоминании. Программистам, использующим язык Ру1Ьоп, почти не приходится прибегать к справочным руководствам — это непротиворечивая система, на выходе которой получается профессиональный программный код. Философия Ру(Ьоп диктует использование минималистского подхода. Это означает, что даже при наличии нескольких вариантов решения задачи в этом языке обычно существует всего один очевидный путь, небольшое число менее очевидных альтернатив и несколько взаимосвязанных вариантов организации взаимодействий. Более того, Ру1Ьоп не принимает решения за вас, когда порядок взаимодействий неочевиден— предпочтение отдается явному описанию, а не «волшебству». В терминах Ру1Ьоп явное лучше неявного, а простое лучше сложного.' Чтобы получить более полное представление о философии РутЬоп, введите в командной строке интерпретатора команду 1эрагс тптз (как это сделать, будет рассказано в главе 2).
В результате будет активизировано «пасхальное яйцо», скрытое в недрах Ру1Ьоп, — сборник принципов проектирования, лежащих в основе Ру$Ьоп. Аббревиатура Е1ВТ1, происходящая от фразы «ехр!(са (в Ье1(ег 1Ьап ппр11ск» ( «лвное лучше неявного»), превратилась в модное жаргонное словечко.
Глава 1. Ру1Ьоп в вопросах и ответах Помимо философии РуФЬоп обладает такими возможностями, как модульное и объектно-ориентированное программирование, что естественно упрощает возможность многократного использования программного кода. Поскольку качество находится в центре внимания самого языка Ру1Ьоп, оно также находится в центре внимания программистов. Высокая скорость разработки Во время бума развития Интернета во второй половине 1990-х годов, было сложно найти достаточное число программистов для реализации программных проектов — от разработчиков требовалось писать программы со скоростью развития Интернета. Теперь, в эпоху экономического спада, картина изменилась. Сегодня от программистов требуется умение решать те же задачи меньшим числом сотрудников.
В обоих этих случаях РУФЬоп блистал как инструмент, позволяющий программистам получать большую отдачу при меньших усилиях. Он изначально оптимизирован для достижения высокой скорости разрабоптьи — простой синтаксис, динамическая типизация, отсутствие этапа компиляции и встроенные инструментальные средства позволяют программистам создавать программы за меньшее время, чем при использовании некоторых других инструментов. В результате РУФЬоп увеличивает производительность труда разработчика во много раз по сравнению с традиционными языками программирования.
Это значительное преимущество, которое с успехом может использоваться как во время бума, так и во время спада, а также во время любого промежуточного этапа развития индустрии программного обеспечения. Является ли РуФоп «языком сценариев»? Ру1Ьоп — это многоцелевой язык программирования, который зачастую используется для создания сценариев.
Обычно он определяется как объектно-ориентированный язык сценариев — такое определение смешивает поддержку ООП с общей ориентацией на сценарии. Действительно, для обозначения файлов с программным кодом на языке РуФЬоп программисты часто используют слово «сценарий» вместо слова «программа». В этой книге термины «сценарий» и «программа» рассматриваются как взаимозаменяемые, с некоторым предпочтением термина «сценарий» для обозначения простейших программ, помещающихся в единственный файл, и термина «программа» для обозначения более сложных приложений, программный код которых размещается в нескольких файлах. Термин «язык сценариев» имеет множество различных толкований.
Некоторые предпочитают вообще не применять его к языку РуФЬоп. У большинства термин «язык сценариев» вызывает три разных ассоциации, из которых одни более применимы к языку Ру$Ьоп, чем другие: является ли РусЬоп «языком сценариев»? 39 Командные оболочки Иногда, когда кто-то слышит, что Ру$Ьоп — это язык сценариев, то представляет себе Ру1Ьоп как инструмент для создания системных сценариев. Такие программы часто запускаются из командной строки с консоли и решают такие задачи, как обработка текстовых файлов и запуск других программ.
Программы на языке РуФЬоп способны решать такие задачи, но это лишь одна из десятков прикладных областей, где может применяться РуФЬоп. Это не только язык сценариев командной оболочки. Управляющий язык Другие пользователи под названием «язык сценариев» понимают «связующий» слой, который используется для управления (то есть для описания сценария работы) другими прикладными компонентами. Программы на языке РуФЬоп действительно нередко используются в составе крупных приложений. Например, при проверке аппаратных устройств программы на языке РуФЬоп могут вызывать компоненты, осуществляющие низкоуровневый доступ к устройствам. Точно так же программы могут запускать программный код на языке РуФЬоп для поддержки настройки программного продукта у конечного пользователя, что ликвидирует необходимость поставлять и пересобирать полный объем исходных текстов. Простота языка Ру$Ьоп делает его весьма гибким инструментом управления.
Тем не менее, технически — это лишь одна из многих ролей, которые может играть Ру»Ьоп. Многие программисты пишут на языке Ру«Ьоп автономные сценарии, которые не используют какие- либо интегрированные компоненты. Это не только язык управления. Удобство в использовании Пожалуй, лучше всего представлять себе термин «язык сценариев» как обозначение простого языка, используемого для быстрого решения задач. Это особенно верно, когда термин применяется к языку РуФЬоп, который позволяет вести разработку гораздо быстрее, чем компилирующие языки программирования, такие как С++. Ускоренный цикл разработки способствует применению зондирующего, поэтапного стиля программирования„который следует попробовать, чтобы оценить по достоинству. Не надо заблуждаться, РуФЬоп предназначен не только для решения простых задач.