Russian Chicago - Русский Чикаго
Руссике артисты на Американской сцене
Russian Chicago. Russian speaking community in Chicago, IL
Russian Chicago News. Новости на Русском ЧикагоNews Russian Chicago - Events. События и Афиша на Русском ЧикагоEvents Russian Chicago Yellow Pages. Жёлтые страницы Русского ЧикагоYellow Pages Russian Chicago Classfieds. Объявления на Русском ЧикагоClassifieds Russian Chicago Forum. Дискуссионный клуб Русского ЧикагоForum Russian Chicago Dating. Знакомства на Русском ЧикагоDating Russian Chicago Chat. Чат на Русском ЧикагоChat
 News Central
В мире
  Политика
  Разное
Бизнес
  Деньги
Общество
  Мода
  Религия
  Светская жизнь
  Шоу Бизнес
  Пикантные новости
  Животные
  Криминал
Спорт
Искусство
  Кино
  Музыка
Авто
Hi-Tech
  Интернет
  Hardware
  SoftNews
Здоровье
Путешествия
Вокруг света
USA
Россия
  
Ресурсы
  Самые последние
  Самые читаемые
Архив
 Другие ресурсы
Все Ресурсы

Рассылки
Газеты
Журналы
ТВ - Online
Радио

Юмор
  Анекдоты
  Игры
  Этикетки
  
Открытки
  Поздравь друга
  
Программа TV
Кино
  Новости кино
  Кинообзоры
  
Музыка
  Радио в internet
  Russian Top
  
Спорт
Web Обзоры Exler.ru
  
Читальный зал
ЭКСпромт - статьи для чайников
Компьютерные игры
Finance News
Автообзоры
Russian America Journal Digest
 Смотрите также
Yellow Pages
Объявления
Чат
Форум
  последнее

Читальный зал
  Стихи
  Проза
  Кулинария

Едем в Америку!
  Иммиграция
  Визы
  Советы

Знакомства
Фотоальбомы
Top Rating
  America TOP
  
 
NEWS CENTRAL >> Hi-Tech >> Интернет

Интернет

Программирование наперегонки
4:19PM Friday, Mar 17, 2006
17.03.2006, 16:19:21  |   
Cкриншот популярного MUD'а
Cкриншот популярного MUD'а

Программирование наперегонки

Британский программист создал игру для отладки кода

В начале марта 2006 года в программистском сообществе произошла тихая революция. Ее совершил британский программист Мэтт Уэбб (Matt Webb), который при помощи своей программы playsh (Playful Shell), написанной на популярном языке Python, впервые создал игровую вселенную, предназначенную для проведения сеансов совместного программирования. Когда же о программе написали сайты Slashdot и Wired, тихая революция превратилась в громкую.

До начала описываемой истории Мэтт Уэбб был известен в основном в двух ипостасях – в качестве партнера консалтинговой компании Schulze & Webb Ltd и в качестве соавтора книги Mind Hacks, где в популярной форме рассказывается о принципах работы человеческого мозга.

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

Вы стоите на дороге...

В семидесятых годах прошлого века, когда вычислительные мощности стоили дорого, программисты в университетах США и Европы использовали ночное машинное время для многопользовательских текстовых игр. Этот вид развлечений получил название MUD (Multi User Dungeon, "многопользовательские подземелья") и оказался чрезвычайно популярен.

Десятки программистов и лаборантов собирались в группы, которые шли походом на драконов, орков, кобольдов и гоблинов, или блуждали по подземным лабиринтам. В однопользовательском варианте это выглядело примерно так:

«Вы стоите на дороге перед небольшим кирпичным зданием.
> войти в здание
Вы находитесь в здании. Перед вами лежит рюкзак. Выходы: юг.
> взять рюкзак
Взят.
> юг
Вы стоите на дороге перед небольшим кирпичным зданием».

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

Войти в здание

Университетские программисты использовали MUD для развлечения. Новизна идеи британца Мэтта Уэбба заключалась в том, чтобы использовать текстовые игры для работы.

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

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

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

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

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

В-третьих, playsh позволяет проводить обучение программистов прямо «на поле боя», выгодно отличаясь от традиционных методов тем, что ученики постоянно работают с текстом программы, не отвлекаясь на то, чтобы превратить схемы и диаграммы в реальный код.

Убить ошибку

Похоже, пока филологи рассуждали о тексте как лабиринте, программисты создали такой лабиринт. Мир в представлении playsh схож с нашим – вы можете идти на север, запад, юг, восток. Предметы, с которыми вы работаете, имеют свою структуру и свойства.

За основу для перемещений и работы с объектами в playsh был взят стоящий особняком среди MUD проект LambdaMOO. В «лямбде» нет фантастического мира как такового – скорее она представляет собой набор комнат, где встречаются игроки, пришедшие просто пообщаться. Социальная направленность LambdaMOO и является тем стержнем, на котором держится весь проект, состоящий из более чем 15 тысяч комнат.

Создаваемая playsh-вселенная полностью динамична – по утверждению автора, игрок А может наблюдать за тем, как игрок Б меняет одну из функций препарируемой программы и тут же использовать эту функцию.

Кроме того, программа позволяет то, о чем и не мечтали вышеупомянутые филологи – управлять компьютером игрока из виртуального мира. Таким образом, созданный ради удобства представления текстовый лабиринт становится мощным средством управления реальным миром.

Но самое интересное даже не в этом. По словам Мэтта Уэбба, каждый игрок может видеть мир по-своему благодаря набору "актуализаторов". Это неуклюжее слово означает очень простую вещь – к примеру, один программист может видеть только двери, а другой – только окна в комнатах. Таким образом, они смогут настроить систему под себя и не будут мешать друг другу в процессе блуждания по свежесозданному подземелью. Естественно, что и набор действий с объектами у них будет различным.

Открыть браузер

Мэтт говорит, что на этом концепция playsh себя не исчерпывает. По его словам, ничто не мешает заставить эту программу работать с веб, связывая при помощи уже знакомого нам лабиринта различные источники данных.

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

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

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

Just for fun

Не стоит думать, что это первая попытка превратить программирование в развлечение. Например, книга Линуса Торвальдса, отца ядра операционной системы Linux, так и называлась – Just for fun ("По приколу").

Программисты вообще часто занимают тем, что придумывают различного рода лингвистические забавы. Достаточно, например, упомянуть о существовании понятия literate programming, которое подразумевает написание программы таким образом, чтобы ее исходный текст можно было читать как литературное произведение. Есть и противоположное течение – на сайте ioccc.org уже не первый год проводится конкурс на написание самой непонятной программы. Если же говорить об играх, то для понимания духа вольного программистского сообщества достаточно упомянуть Progress Quest – программу, которая проходит ролевую игру за пользователя.

Если же говорить серьезно, то модная среди интернет-программистов концепция Semantic web подразумевает создание некоторого языка, который могли бы читать как машины, так и пользователи. Таким образом, закладывается почва для создания социально-ориентированных систем, стимулирующих пользователей к добавлению новых возможностей.

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

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

Например, чтобы найти фотографии кошек, достаточно написать "gim cat", чтобы открылось окно Google Images с результатами поиска по запросу "cat". Playsh – это просто следующий шаг, позволяющий оформить каждую команду в виде отдельной программы на Python, который активно используют веб-разработчики, и получить результаты в заданной пользователем форме.

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

Похоже, в лабиринте Мэтта скоро заведутся монстры.

Александр Амзин
По материалам lenta.ru
Смотрите также: Hi-Tech, Hardware, SoftNews
 
Читайте также:

Windows Media Center продается лучше стандартных версий XP

Time Warner превратит свернутый проект Netscape в коллективный блог

Британских инвалидов привлекли к оценке удобства навигации по сайтам

Федеральный судья обязал Google поделиться информацией с правительством

Появилась первая неофициальная альфа-версия Firefox 2.0

В списке лотов eBay появился калифорнийский городок


Во всемирном игровом рейтинге впервые появилась девушка

Microsoft планирует захватить бизнес IBM

В Китае на 10 лет посадили кибердиссидента

RU-CENTER подсчитал российские сайты

Google признан лучшим интернет-брендом Великобритании

Построен самый быстрый в мире канал передачи данных

Новый сервис Google поможет розничным продавцам

Программирование превратили в многопользовательскую игру

Москвичи найдут провайдера по номеру своего дома

Windows XP удалось запустить на компьютере Apple

В США запретили играть на деньги в Интернете

ICANN начинает тестировать домены на национальных языках

Интернету угрожает сетевая "Катрина"

Спецслужбы США и Канады взломали интернет-сеть порноторговцев

Тони Блэр ответит на вопросы всех желающих через Интернет



Рассылки:
  Новости-почтой
  TV-Программа
  Гороскопы
  Job Offers
  Концерты
  Coupons
  Discounts
  Иммиграция
  Business News
  Анекдоты
Многое другое...

News Central Home | News Central Resources | Portal News Resources | Help | Login
 
Russian America Top Russian Boston Russian LA Holostyak.com Рейтинг@Mail.ru © 2025 RussianAMERICA Holding
All Rights Reserved • Contact