Платформы, кругом одни платформы...

Язык программирования - это, можно сказать, устаревшее понятие. В наши дни одним только языком не обойдёшься. Всё, что его окружает, принято называть платформой. Платформа Java, платформа .NET... Сколько их всего, этих платформ? Какие ещё могут появиться? Куда двигаются существующие? Вопросов, похоже, больше, чем ответов на них...

Во-первых, что можно назвать платформой? Именно этот вопрос, в конечном итоге, позволяет определить, какое количество платформ вообще существует в мире. Вообще говоря, платформой сейчас называют всё, что имеет сколько-нибудь крупные размеры. Потому что наряду с "платформой Java" приходилось слышать и "платформа WebSphere". В принципе, отталкиваясь от общих черт всего того, что сейчас называют платформами, можно сказать, что это среды разработки и выполнения приложений. Среды разработки не в классическом смысле (IDE), а набор компонентов, необходимых для разработки приложений, выполняющихся именно на этой платформе. Именно поэтому нет устоявшегося термина "платформа C++", но, например, PHP вполне можно назвать платформой.

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

Почему платформы стали востребованы как класс? Ведь раньше вполне достаточно было языка программирования и компилятора. Почему сейчас необходимы другие элементы платформ - например, те же библиотеки или среда выполнения? В общем-то, это просто требование времени, когда нужно не столько обеспечивать быстроту выполнения программы, сколько быстроту её разработки. Мощность компьютеров существенно возросла с тех пор, как проектировались C++ или даже Visual Basic, и, кроме того, значительная часть приложений переместилась в Web. Кстати, WWW тоже часто называют платформой, но мне кажется, что даже если смотреть с позиции разработки приложений, это всё равно существенно сужает взгляд на WWW. Это, всё-таки, что-то большее, чем просто платформа, даже с технологической точки зрения. Но дело здесь не в определении WWW, а в том, что, разрабатывая программы как сервисы, нужно вдвойне внимательно следить за тем, насколько быстро идёт разработка, поскольку требования к web-приложениям меняются вдвое чаще, чем к настольным приложениям или серверам, и разработчик просто обязан оперативно реагировать на изменения этих самых требований - иначе он рискует не только утратить финансовое благополучие, но и вовсе потерять свой кусок хлеба. Наличие всех инструментов, изначально интегрированных в некое единое целое, а также наличие отработанной или хотя бы многообещающей технологии разработки приложений с помощью этих инструментов - вот каковы требования к современным платформам со стороны индустрии. И, надо сказать, те платформы, которые сейчас являются успешными и популярными, безусловно, соответствуют этим требованиям на все сто процентов.

В общем-то, рынок во многом переориентировался на платформы под давлением самих поставщиков этих платформ. Если раньше первую скрипку в оркестре разработки программного обеспечения играли поставщики средств разработки под конкретную платформу, то теперь эта роль прочно и надолго завоёвана создателями самих платформ. Хотя, безусловно, существуют примеры удачных симбиозов инструментов, до уровня цельной платформы ещё не вполне доросших. Самый яркий представитель - это, пожалуй, Ruby + Ruby On Rails. Впрочем, тенденция такова, что этот тандем станет ещё одной полноценной платформой для web-приложений. Хотя, конечно же, загадывать не стоит, ведь в бурном море программного обеспечения даже самые очевидные тенденции иногда становятся жертвами случайностей и обстоятельств.

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

Вадим СТАНКЕВИЧ,
dreamdruch@tut.by

Версия для печатиВерсия для печати

Номер: 

29 за 2008 год

Рубрика: 

Размышлизмы
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!