Коротко

Borland Delphi 2005. Компания Borland Software сообщила о выходе Borland Delphi 2005 (проект Diamondback), инструментария, обеспечивающего разработку приложений на языках Delphi (ранее — Object Pascal) и C# для операционных платформ Win32 и .NET. Продукт поставляется в трех вариантах: Architect, Enterprise и Professional. Первое знакомство с особенностями продукта см. http://www. delphikingdom.ru/asp/viewitem.asp? catalogid=1091.

EPL. Компания iSpheres, образованная выпускниками Калифорнийского технологического института (California Institute of Technology), объявила о создании нового языка обработки событий — EPL (Event Programming Language), родственного языку SQL. Он ориентирован на решение таких задач, как обработка финансовых транзакций. Язык стал результатом исследовательской работы, проводимой по заказу Министерства обороны США. См. http://www.ispheres.com/.

Xamlon Pro 1.0. Появился коммерческий продукт, ускоряющий разработку пользовательского интерфейса для веб-приложений и ориентированный на Avalon — готовящийся к выпуску в 2006 г. инструментарий Microsoft для Longhorn. Основная идея Avalon — упрощение и ускорение разработки веб-интерфейсов за счет кодирования страниц с помощью языка XAML (eXtensible Application Markup Language). Xamlon Pro, рассчитанный на работу в .NET (включая проект Mono), содержит подключаемый модуль для Microsoft Visual Studio.NET 2003 и позволяет, в частности, конвертировать SVG-графику, а также Windows-формы на C# в XAML. См. http:// www.xamlon.com/.

Laszlo. В рамках проекта IBM alphaWorks в виде открытых исходных текстов выпущен инструментарий Integrated Development Environment for Laszlo. Он ориентирован на разработку пользовательского интерфейса (Laszlo-приложений). Реализован в виде набора подключаемых модулей для инструментальной платформы Eclipse. Опирается на XML-язык LZX, родственный языкам XUL (XML User interface Language) and XAML. См. http://www.openlaszlo.org/ и http://alphaworks.ibm.com/ tech/ide4laszlo.

Oberon. Профессор Никлаус Вирт, автор языков Паскаль, Modula-2 и Oberon, завершил работу над своей новой книгой «Programming in Oberon». Это переработка для Oberon его бестселлера «Programming in Modula-2» (1982). Новая книга в формате PDF доступна на сайтах Швейцарского федерального технологического института (ETH, http://www.oberon.ethz.ch/wirthPiO/) и научно-образовательного проекта «Информатика-21» (http://www.inr.ac.ru/~info21/).

Популярность языков

При выборе языка программирования в наши дни редко опираются на его продуманность, зрелость, технологическое совершенство инструментария, который обеспечивает поддержку языка. Это путь непростой, требующий опыта, анализа и порой немалого времени. Куда проще исходить из того, что уже на слуху: как правило, рынок отбирает самые удобные для себя языки, которые позволяют производителям ПО извлекать прибыль, а потребителям — не расслабляться и подпитывать все растущие аппетиты ИТ-индустрии. Разумеется, в стороне от этих финансовых потоков не могут оставаться издательства, выпускающие тонны справочников, руководств, больших и малых книг. Равно как и сервисные компании, ориентированные на обучение и консалтинг.

Рейтинг популярности языков сродни рейтингу телепрограмм, служащему индикатором интереса аудитории, прежде всего с точки зрения извлечения коммерческой выгоды (размещения рекламы). Именно под таким углом и стоит на него смотреть. Тем не менее определенная практическая польза от подобного рейтингования есть. Он показывает (разумеется, с учетом многих допущений) степень внимания аудитории к тому или иному языку и позволяет отслеживать складывающиеся тенденции глобального рынка ИТ.

Так какой же язык программирования сегодня самый популярный? Существуют различные подходы к построению рейтинга языков. Один из наиболее простых с точки зрения самостоятельной проверки — статистический, который опирается на частоту упоминания языков в Интернете. Именно такой подход, исповедуемый компанией Tiobe Software, был взят нами за основу построения пробного рейтинга «Мира ПК». При этом мы значительно расширили перечень показателей, дабы учесть тенденции книжного рынка и отразить особенности российской аудитории.

Наш рейтинг использует данные четырех поисковых сервисов: Google, Yahoo (как наиболее популярных в мире), а также «Яндекса» и «Рамблера» (как наиболее популярных в России). Эти параметры показывают интерес к языкам в срезе Интернета. Кроме того, учитываются данные двух новых сервисов Google, работающих в бета-режиме: Groups (http://groups-beta.google.com/) и Scholar (http://scholar.google.com/). Groups высвечивает динамику обсуждения «горячих» тем в так называемых новостных группах, Scholar —цитирования в технической литературе. Следующие три параметра (BN, Amazon и Chamber) отвечают за количество книг, посвященных конкретному языку. В качестве источников здесь выбраны два ведущих в мире книжных дома Barnes & Noble (http://www.bn.com) и Amazon (http://www.amazon.com), а также Российская книжная палата (Chamber, http://rbip.bookc hamber.ru/searchForm.htm), предоставляющая доступ к данным по отечественным книгам с 2000 г.

Специфика запросов, учитывающая компромиссы: для Google использовался поиск вида «Pascal language ~software», где ~software обозначает синонимы слова software, а вместо Pascal подставляется название языка программирования. Для Yahoo из-за его специфики синонимы не учитывались: «Pascal language software». Для Groups использовался запрос вида «Pascal language». Для русского языка применялся запрос вида «язык Pascal», где при распространенной форме перевода названия языка осуществлялся повторный запрос, например «язык Паскаль». В одном случае (для C# в «Яндексе») поисковые средства не могли дать корректные ответы из-за особенности трактовки названий. В этой модели подставлялись данные конкурирующей поисковой машины с учетом того, что соотношение для других языков приближалось к пропорции 1:1.

Очевидно, что подобный подход имеет немало уязвимых технических моментов: прежде всего, очень трудно корректно выделить веб-страницы (документы) из-за специфических названий языков, «накладывающихся» на другие слова. Тем не менее результаты его весьма интересны. Судите сами (см. таблицу). Сумма мест служит вспомогательным критерием. Сумма мест, занимаемых языком в каждой из девяти групп показателей, служит вспомогательным критерием.

Как вычисляется итоговый рейтинг? Сначала в таблицу заносятся результаты работы поисковых сервисов (по состоянию на конкретный месяц, в данном случае — на начало декабря 2004 г.), затем они нормируются (т. е. определяется доля/процент в рамках данной группы). Затем нормированные значения параметров подставляются в формулу с весовыми коэффициентами:

PCW = 100.(0,15.Google + 0,15.Yahoo + 0,05.Groups + 0,05.Scholar + 0,15.Yandex + 0,15.Rambler + 0,1.BN + 0,1.Amazon + 0,1.Chamber)

Итоговый рейтинг отражает долю языков внутри двадцатки самых популярных, выделенных по максимальным значениям Google и Yahoo. Весовые коэффициенты задавались исходя из роли (важности) соответствующего показателя (с нашей точки зрения). Сравните теперь с данными рейтинга Tiobe: http://www.developer. com/lang/other/ article.php/3433891.

Коротко о полученных результатах. Тройка самых популярных языков в обоих рейтингах совпадает: C (Си), Java и C++. Далее начинаются заметные расхождения. Стоит обратить внимание на большую популярность сценарных языков (в частности, PHP, Perl, JavaScript). Относительно низкое место Delphi (10-е) можно объяснить тем, что язык Паскаль давно уже стал ассоциироваться именно с этим инструментом. Поэтому разумно суммировать данные Delphi и Pascal, что дает 4-е место (следом за C++). Обратите внимание и на предпочтения аудитории у нас в стране и за рубежом, например в отношении ассемблера (Assembler). Ряд старых языков, создававшихся до 1980 г. (Fortran, Ada, COBOL, Lisp, Prolog, Smalltalk), расположились в нижней части таблицы, но при этом имеют вполне достойный рейтинг. Assembler и ASP.NET, строго говоря, не являются языками программирования, тем не менее, они включены в рейтинг в силу соответствующего характера их применения и восприятия их таковыми массовой аудиторией. Мы планируем в дальнейшем регулярно обновлять и публиковать данные рейтинга, поэтому ждем вашего мнения о целесообразности выбранной методики и предложения по ее совершенствованию. Пиcьма присылайте на адрес редакции: pcworld@pcworld.ru.

Чемпионы мира подтверждают свой класс

С 30 ноября по 1 декабря 2004 г. в С.-Петербурге проходил полуфинал чемпионата мира ACM по программированию 2005 г. среди студенческих команд (ACM International Collegiate Programming Contest) в Северо-Восточной Европейской группе, делегирующей в финал команды из России, Белоруссии, стран Балтии, Закавказья и Средней Азии. По сути это малый чемпионат мира и открытый чемпионат России, который в этом году вновь выиграли чемпионы мира 2004 г. — команда С.-Петербургского государственного университета информационных технологий, механики и оптики (ИТМО), сохранившая победный состав: Дмитрий Павлов, Павел Маврин, Сергей Оршанский. Острейшую конкуренцию им составила команда мехмата МГУ (Петр Митричев, Павел Наливайко, Владимир Рычев), также решившая все 12 задач, но за худшее время. На одну задачу меньше смогла одолеть вторая команда ИТМО, но в финал она, к сожалению, не попадает (от одного вуза может быть представлено там не более одной команды). По той же причине за бортом останется и вторая команда МГУ, решившая 10 задач.

Квота для финала на Северо-Восточную Европейскую группу составляет 12 команд. Помимо ИТМО и МГУ путевки достались (в порядке занятых мест) государственным университетам Уфы, С.-Петербурга (СПбГУ, третья команда), Новосибирска — по 10 решенных задач, а также Нижнего Новгорода, Саратова (третья команда), Уральского ГУ, Белорусского ГУ, Ижевска, Алтайского ГУ, Перми — по 9 задач.

По правилам чемпионатов мира ACM один и тот же студент не может принимать участие более чем в двух финалах. Именно поэтому звезда и надежда москвичей Петр Митричев после относительной неудачи команды МГУ в финале чемпионата 2003 г. в Лос-Анджелесе (вице-чемпионы, золотая медаль) пропустил финал 2004 г. и целенаправленно готовился в составе новой команды к финалу 2005 г., который пройдет в апреле в Шанхае (Китай). Команды ИТМО и МГУ в прекрасной форме, и шанхайский финал обещает очень интересную и захватывающую борьбу. См. http://neerc.ifmo.ru/ information/home.html и http://www.osp.ru/pcworld/ 2004/07/048.htm.

Все «золото» Греции

В Афинах (Греция) с 11 по 18 сентября 2004 г. прошла XVI Международная Олимпиада школьников по информатике (IOI, 16th International Olympiad in Informatics, http://www.ioi2004.org/). Идея проведения подобных соревнований была выдвинута ЮНЕСКО в 1987 г. От каждой страны могут участвовать четыре школьника средних и старших классов. В Афинах борьбу за победу вели команды из 81 страны.

Соревнования проводились в просторных аудиториях Афинского универститета. Регламент: два дня из расчета три задачи за 5 часов в день. Это задачи из области оптимизации, вычислительной геометрии, теории графов. Максимальное число баллов за каждую задачу — 100. По выбору участников можно было работать в среде Windows XP или RedHat Linux. Основными языками программирования были Си, C++ (компиляторы gcc) и Паскаль (Free Pascal). Жюри по сути нет, его заменяет научный комитет, который готовит задачи и тестовые данные. Проверку правильности результатов осуществляет автоматическая система, которая запускает программы участников на этих данных. Она же и формирует протоколы с баллами.

Победителем в личном зачете стал англичанин Пол Джефферис (565 баллов). Вслед за ним расположилось трио из Китая. Правила IOI весьма демократичны: золотые медали в этом году получили участники, занявшие первые 26 мест. «Серебро» — с 27 по 75 места, а «бронза» — с 76 по 146 места. Только две команды — Китая и России — смогли полным составом попасть в число золотых медалистов. Они заметно оторвались от конкурентов, из которых даже по три золотых медали не удалось получить никому. В нашей команде «золото» завоевали: Кирилл Батузов из Саратова (10-е место, 495 баллов), Евгений Шавлюгин из Владивостока (11-е, 485), Александра Зыкова из С.-Петербурга (17—20-е, 460) и Виталий Гольдштейн из Саратова (24—26-е, 445). Тренеры: Владимир Кирюхин и Виктор Матюхин. Особо стоит выделить успех Александры Зыковой. Среди девушек ей не было равных! Успех наших школьников не случаен: свой опыт на специальных учебно-тренировочных сборах ребятам передавали бывшие чемпионы мира и Европы по программированию. Очередная, XVII Международная Олимпиада пройдет в августе 2005 г. в Польше (см. http://olympiads.win .tue.nl/ioi/).