Главная / Веб-программирование / Веб-программирование PHP, Ruby, Python – краткая характеристика трёх языков программирования

Веб-программирование PHP, Ruby, Python – краткая характеристика трёх языков программирования

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

В сегодняшней статье мы рассмотрим три наиболее популярных языка, применяемых в веб-разработке: PHP, Ruby и Python. Мы узнаем, как они выглядят, чем отличаются друг от друга, насколько и среди какой аудитории они популярны.

В итоге вы поймёте, какой язык более подходит для решения ваших задач, какой из них стоит учить:

PHP, Ruby, Python – краткая характеристика трёх языков программирования

PHP: самый популярный язык для Интернета

PHP (Hypertext PreProcessor, препроцессор гипертекста) – язык программирования, исполняемый на стороне веб-сервера, спроектированный Расмусом Лердорфом (Rasmus Lerdorf) в качестве инструмента создания динамических и интерактивных веб-сайтов.

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

PHP, Ruby, Python – краткая характеристика трёх языков программирования

Преимущества PHP:

  • является свободным программным обеспечением, распространяемым под особой лицензией (PHP license);
  • легок в освоении на всех этапах;
  • поддерживается большим сообществом пользователей и разработчиков;
  • имеет развитую поддержку баз данных;
  • имеется огромное количество библиотек и расширений языка;
  • может использоваться в изолированной среде;
  • предлагает нативные средства организации веб-сессий, программный интерфейс расширений;
  • является довольно полной заменой проприетарной среды ASP (Active Server Pages) от Microsoft;
  • может быть развёрнут почти на любом сервере;
  • портирован под большое количество аппаратных платформ и операционных систем.

Недостатки PHP:

  • не подходит для создания десктопных приложений или системных компонентов;
  • имеет слабые средства для работы с исключениями;
  • глобальные параметры конфигурации влияют на базовый синтаксис языка, что затрудняет настройку сервера и разворачивание приложений;
  • объекты передаются по значению, что смущает многих программистов, привыкших к передаче объектов по ссылке, как это делается в большинстве других языков;
  • веб-приложения, написанные на PHP, зачастую имеют проблемы с безопасностью.

Проекты, использующие PHP:

  • Zend;
  • Yahoo;
  • Facebook;
  • Google
  • NASA;
  • W3C.

Популярность:

Согласно Википедии, на 1 января 2013 года PHP был установлен на более чем 240 миллионах веб-сайтов (39% от всего объёма исследованных) или на 2,1 миллионах веб-серверов.

Использование

Скрипты, написанные на языке PHP, обычно хранятся в файлах с расширением .php, которые содержат в себе смесь обычных HTML-тэгов со специальной разметкой: открывающим тэгом <?php и закрывающим ?>:

<?php
// PHP code goes here
?>

Ruby: интерпретируемый, чистый ООП-язык

Ruby – динамический императивный объектно-ориентированный язык программирования, разработанный Юкихиро Матсумото. Ruby был создан под влиянием таких языков, как Perl, Eiffel и Smalltalk.

Он характеризуется динамической типизацией и автоматическим управлением памятью. Язык Ruby используется в веб-разработке в составе открытого веб-фреймворка Rails, чаще называемого Ruby on Rails (RoR):

PHP, Ruby, Python – краткая характеристика трёх языков программирования

Преимущества Ruby:

  • открытая разработка;
  • работает на многих платформах;
  • может внедряться в HTML-разметку;
  • относится к языкам программирования сверхвысокого уровня (VHLL), то есть обладает высоким уровнем абстракции и предметным подходом в реализации алгоритмов;
  • реализует концептуально чистую объектно-ориентированную парадигму;
  • предоставляет продвинутые методы манипуляции строками и текстом;
  • легко интегрирует в свои программы высокопроизводительные серверы баз данных (DB2, MySQL, Oracle и Sybase);
  • благодаря VHLL программы на Ruby хорошо масштабируются и легко сопровождаются;
  • простой и чистый синтаксис значительно облегчает программистам первые шаги в обучении этому языку;
  • имеется простой программный интерфейс для создания многопоточных приложений;
  • имеет продвинутые средства для работы с массивами;
  • возможности языка можно расширить при помощи библиотек, написанных на C или Ruby;
  • зарезервированные слова могут являться идентификаторами, если это не создаёт неоднозначности для парсера;
  • дополнительные возможности для обеспечения безопасности;
  • встроенный отладчик.

Недостатки Ruby:

  • обучение языку выше начального уровня может оказаться непростым;
  • информационных ресурсов, посвящённых Ruby, явно недостаточно;
  • Ruby менее производителен по сравнению со многими другими языками, применяемыми в веб-разработке;
  • Ruby относительно медленно разрабатывается и развивается.

Проекты, использующие Ruby:

  • Google SketchUp;
  • 37signals;
  • GitHub;
  • Shopify;
  • Indiegogo;
  • Basecamp.

Популярность

Согласно официальному сайту Ruby, этот язык входит в десятку наиболее популярных языков программирования. Рост популярности самого языка обусловлен популярностью программных продуктов, написанных на Ruby, в особенности RoR.

Использование

Файлы программ, написанных на Ruby, имеют расширение .rb. Эти файлы можно запустить как скрипты командной оболочки при помощи интерпретатора. Например, учитывая, что интерпретатор Ruby находится в /usr/bin:

#!/usr/bin/ruby -w
puts "Put something here";

Python: язык программирования общего назначения

Python широко применяется как интерпретируемый язык для скриптов различного назначения (хотя существуют и трансляторы языка Python).

Как и Ruby, Python имеет целью приблизить синтаксис реальной программы, написанной на нём, к описывающему задачу псевдокоду, что позволяет программисту уменьшить объём программы. Идея создания данного языка возникла в конце 1980-х и была реализована Гвидо ван Россумом.

Элегантный дизайн и эффективный, дисциплинирующий синтаксис этого языка облегчают программистам совместную работу над кодом. Python – мультипарадигмальный язык программирования: он позволяет совмещать процедурный подход к написанию кода с объектно-ориентированным и функциональным:

PHP, Ruby, Python – краткая характеристика трёх языков программирования

Преимущества Python:

  • открытая разработка;
  • довольно прост в изучении, особенно на начальном этапе;
  • особенности синтаксиса стимулируют программиста писать хорошо читаемый код;
  • предоставляет средства быстрого прототипирования и динамической семантики;
  • имеет большое сообщество, позитивно настроенное по отношению к новичкам;
  • множество полезных библиотек и расширений языка можно легко использовать в своих проектах благодаря предельно унифицированному механизму импорта и программным интерфейсам;
  • механизмы модульности хорошо продуманы и могут быть легко использованы;
  • абсолютно всё в Python является объектами в смысле ООП, но при этом объектный подход не навязывается программисту.

Недостатки Python:

  • не слишком удачная поддержка многопоточности;
  • на Python создано не так уж много качественных программных проектов по сравнению с другими универсальными языками программирования, например, с Java;
  • отсутствие коммерческой поддержки средств разработки (хотя эта ситуация со временем меняется);
  • изначальная ограниченность средств для работы с базами данных;
  • бенчмарки показывают меньшую производительность Python по сравнению с основными Java VM, что создаёт этому языку репутацию медленного.

Проекты с использованием Python:

  • Yahoo Maps;
  • Zope Corporation;
  • Linux Weekly News;
  • Shopzilla;
  • Ultraseek.

Популярность

Согласно Wikipedia, Python прочно вошёл в 8 наиболее популярных языков программирования по версии TIOBE Programming Community Index. А если не считать отдельно языки с C-подобным синтаксисом (C++, C#, ObjectiveC, Java и т. д.), то Python является третьим по популярности языком.

Использование

Интерпретатор python можно использовать как для запуска скриптов, так и в режиме интерактивной оболочки.

Наберите в командной строке:

$ python

чтобы получить приглашение интерпретатора:

Python 2.4.3 (#1, Nov 11 2010, 13:34:43)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

Теперь можно набрать строку на языке Python и нажать Enter, чтобы выполнить её:

>>> print "Put some text here"
Put some text here

Потребность в специалистах

Основываясь на анализе Jobs Tractor, учитывающем более 45000 вакансий разработчиков, опубликованных в Twitter за последний год, потребность в программистах такова:

  • PHP – требуется 8238 человек;
  • Ruby – 2937 человек;
  • Python – 1587 человек.

Разумеется, статистика – не единственный фактор, который стоит принимать во внимание при изучении языка программирования.

Какой же язык программирования стоит изучать?

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

Если вы только начинаете изучать веб-программирование, то после освоения основ языка вы рано или поздно столкнётесь с необходимостью изучения какого-либо фреймворка на его основе. Веб-фреймворки значительно облегчают создание приложений.

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

Развитые фреймворки, включающие в себя функции для работы с пользовательскими данными (статьями, темами, постами, фотографиями и т. д.) называются фреймворками управления контентом (Content Management Framework – CMF).

Если добавить к этому элементы интерфейса для конечного пользователя сайта, получается так называемая система управления контентом или CMS (Content Management System). CMS позволяет получить сайт с прототипом интерфейса и минимальной функциональностью сразу после установки или после определённой настройки, то есть вообще без программирования.

При этом большинство CMS предоставляют программисту как программный интерфейс CMF, так и интерфейс для расширения своей функциональности.

Для PHP разработано много фреймворков и CMS. Вы вполне можете начать работать с какими-то CMS, даже не имея понятия о веб-программировании. Наиболее популярными CMS являются WordPress, Joomla и Drupal.

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

Разумеется, можно заняться изучением менее популярного фреймворка или CMS, но в этом случае ваши шансы найти готовый пример кода или плагин для реализации какой-либо идеи будут существенно ниже.

В случае с Python, из множества фреймворков наиболее популярными являются Django и CherryPy. Они дают наиболее полный набор средств для веб-разработки «из коробки».

Если вы решили заняться Ruby, то ваш выбор более очевиден: Rails является основным средством веб-разработки на этом языке, хотя существуют и другие, существенно менее популярные фреймворки.

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

Резюмируя сказанное:

  • PHP – лучший язык для создания динамических веб-страниц;
  • Python – универсальный язык программирования, при помощи которого можно делать любые приложения в диапазоне от интернет-сайтов и десктопных приложений до роботов и системных сервисов;
  • Ruby – наиболее высокоуровневый язык, позволяющий вам уделять меньше внимания деталям интерфейса и организации хранения данных, чтобы сосредоточиться на прикладной задаче.

Наш краткий обзор закончен. Надеюсь, он поможет вам сделать свой выбор. Наверняка вы имеете свою, особую точку зрения, с которой мы с удовольствием ознакомимся, если вы оставите здесь свой комментарий.

Перевод статьи «PHP vs Ruby vs Python: Three Programming Languages in a Nutshell» был подготовлен дружной командой проекта Сайтостроение от А до Я.

О нас seoexpert

продвижение сайта,seo оптимизация,поисковое продвижение,раскрутка сайтов,поисковая оптимизация,продвижение сайта в гугл,seo раскрутка,продвижение сайтов в яндексе,продвижение сайта в google,продвижение сайтов в топ 10,Оптимизация и продвижение сайтов,услуги продвижения сайта,заказать продвижение,продвижение сайтов в топ,сео раскрутка сайта

Смотрите также

Определение типа данных double в C, C++ и C#

Double – 64-разрядная переменная с плавающей запятой Тип double — это основной тип данных, который ...