12 нояб. 2009 г.

Интервью. Со-создатель ColdFusion Джереми Эллером (Jeremy Allaire)


Джереми Эллером дал интервью Computerworld Magazine.

В очередной части из серии, посвященной исследованию языков программирования, Computerworld берет интервью у одного из создателей ColdFusion, платформы для веб-программирования - Джереми Эллера (Jeremy Allaire).

Мы уже разговаривали с Ларри Уоллом (Larry Wall), создателем языка программирования Perl, Доном Саймом (Don Syme), старшим исследователем в Microsoft Research в Кембридже, который разработал F#, Саймоном Пайтоном-Джонсом (Simon Peyton-Jones) о разработке Haskell, Альфредом В. Ахо (Alfred v. Aho) о популярности AWK, С. Такером Тафтом (S. Tucker Taft) о версиях Ada 1995 и 2005 гг., с представителями Microsoft об их серверном движке сценариев ASP, Четом Рэми (Chet Ramey) о его опыте в поддержке Bash, Бьёрном Страуструпом (Bjarne Stroustrup) об известности C++ и Чарльзом Х. Муром (Charles H. Moore) о проектировании и разработке Forth.

Мы также общались с Доном Вудсом (Don Woods) о разработке и использовании INTERCAL, а также Стивеном С. Джонсоном (Stephen C. Johnson) о YACC, Стивом Борном (Steve Bourne) о его Bourne shell, создателем Falcon – Джанкарло Николлаи (Giancarlo Niccolai), Лукой Карделли (Luca Cardelli) о Modula-3, Уолтером Брайтом (Walter Bright) о D, Бренданом Айхом (Brendan Eich) о JavaScript, Андерсом Хейлсбергом (Anders Hejlsberg) о C#, Гвидо ван Россум (Guido van Rossum) о Python, профессором Роберто Иерусалимски (Roberto Ierusalimschy) о Lua, Джоном Остерхаутом (John Ousterhout) о Tcl, Джо Армстронгом (Joe Armstrong) о Erlang и Ричем Хики (Rich Hickey) о Clojure. Недавно мы разговаривали с Мартином Одерски (Martin Odersky) о его новых драгоценных Web 2.0 и крупных корпоративных проектах, например, Scala.

Совсем недавно, мы встречались с руководителем проекта Groovy – Гийомом Лафоржем (Guillaume Laforge). Он рассказал нам историю создания этого языка и поделился своим мнением, почему он набирает популярность среди компаний по всему миру.

Также мы обсудили с Брайаном Керниганом (Brian Kernighan), который способствовал популяризации C посредством своей книги «Язык программирования С», написанной совместно с Деннисом Ритчи (Dennis Ritchie) и посвященной разработке AWK и AMPL. После этого было интервью с Томом Иго (Tom Igoe) из команды разработчиков Arduino.

Ну а сейчас пришло время для Джереми Эллера (Jeremy Allaire), одного из создателей ColdFusion, исполнительного директора (CEO) компании Brightcove и главного технического директора Macromedia.

Что способствовало разработке ColdFusion?

В далеком 1994 году я занимался консультациями в области веб-программирования и сконцентрировался на изучении вопроса, как можно использовать Интернет для создания интерактивных социальных и мультимедийных онлайн сервисов. Я думал, что Интернет – это платформа для разработки прикладных программ и его можно использовать для создания открытых и бесплатных сервисов при помощи подобных открытых технологий. У меня было много идей, как создавать онлайн сервисы, но я не был инженером и выяснил, что существующие технологии (Perl/CGI) были действительно сложными и ужасными. В то же время, мой брат становился все более продвинутым инженером-программистом и также заинтересовался Интернетом, к тому же он завершил разработку первой версии ColdFusion, исходя из ключевых требований, которые я предъявлял к онлайн сервисам, разработкой которых я занимался.

Какие роли исполняли вы и ваш брат J.J.?

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

Были ли какие-нибудь конкретные проблемы, которые вы пытались решить?

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

Откуда взялось название ColdFusion?

Это длинная история, но по правде говоря, один наш хороший друг - весьма креативная личность - придумал это название, отчасти потому, что оно отражало существующий логотип, который был создан для предыдущего названия ColdFusion (ранее он назывался Horizon и Prometheus, и даже WebDB). Логотип «Прометей» (рука с молнией) хорошо сочетался с названием. Нам нравилась торговая марка – она отражала «не требующую усилий мощь», т.е. то, что должны были чувствовать люди во время работы с нашим продуктом. К тому же это звучит совершенно по-новому, принимая во внимание научную концепцию. Да и речь шла о «соединении» Интернета и данных.

Были какие-то определенные трудности или неприятные проблемы, с которыми вам нужно было справиться в процессе разработки ColdFusion?

На мой взгляд, самой распространенной и удручающей проблемой, с которой мы столкнулись, было восприятие ColdFusion как «миниатюрной» среды и языка программирования. Поскольку мы начали с довольно простой утилиты и простого языка, и поначалу не нацеливались на сложные корпоративные приложения, но существовало «мнение», что ColdFusion не является масштабируемой или устойчивой средой. Я полагаю, так было до ColdFusion 4.0, когда мы действительно совершили прорыв, и у нас появился мощный устойчивый к ошибкам сервер, поистине продвинутые средства, и мы доказали его способность к значительному расширению.

Вы бы изменили что-нибудь в процессе разработки ColdFusion, если бы у вас была такая возможность?

Мне кажется, мы слишком поздно воспользовались Java, как рабочей платформой для ColdFusion. Мы приобрели JRun и собирались перейти на архитектуру на базе J2EE, но мы замешкались, и нам потребовалось больше времени, чем планировалось. Я думаю, это поспособствовало бы продвижению ColdFusion на рынке в ответственный момент.

Существует ли много сторонних библиотек?

Фактически я не слежу за тем, как дела обстоят сейчас, но оглядываясь на 2002 год, я могу сказать, что тогда было огромное множество библиотек третьих сторон и общих дополнений для ColdFusion, а быстрый рост на Adobe Developer's Exchange показывает, что доступно все еще впечатляющая база библиотек.

Кто-нибудь уже повторно внедрял части языка в другие интегрированные среды?

Конечно, существуют прямые порты CFML в другие среды, как, например, BlueDragon для ASP.NET, и разумеется, большая часть серверных сред сценариев переняли условные обозначения, которые мы придумали для CFML.

Почему предпочтение было отдано HTML-подобным тегам для языка, а не чему-то, что выглядит совсем не как PHP или ASP?

Мы считали, что новое поколение разработчиков было заинтересовано в Интернете, а они были первыми пользователями HTML, и что было важно иметь язык, который соответствует архитектуре и синтаксису Интернета, которые базировались на тегах. В этом и состояло неотъемлемое преимущество человека читающего и пишущего, с более описательным стилем и синтаксисом. Это позволило CF стать самым простым в плане изучения языком программирования для веб-приложений. Действительно приятно осознавать преимущество XML в качестве интегрированной среды для языков и метаинформации, это фактическая проверка базовой идеи теговых языков.

Многие склонны думать, что дни ColdFusion сочтены. Что вы можете сказать по этому поводу? Много ли новых проектов теперь создается на ColdFusion?

Это утверждение очень далеко от реальности. Мне посчастливилось побывать на некоторых мероприятиях в рамках конференции Adobe MAX в этом году, и из разговора с организаторами я узнал, что ColdFusion переживает период очень большого роста объема продаж и распространения, начиная с 2001-2002, при этом за последние два года общество разработчиков на ColdFusion значительно выросло. Он по-прежнему является самым быстрым и простым средством разработки крупных веб-приложений.
На мой взгляд, самой распространенной и удручающей проблемой, с которой мы столкнулись, было восприятие ColdFusion как «миниатюрной» среды и языка программирования.
Джереми Эллер

Macromedia купила Allaire в 2001 году – у вас были какие-либо сомнения по поводу сделки?

Первоначально я был ответственным за это слияние со стороны Allaire и очень сильно переживал по этому поводу. Мы увидели действительно уникальную концепцию развития, объединяющую мир информации, разработки и мультимедиа с миром приложений, программирования и инструментов разработки. Это был великий замысел, и мы воплотили его в жизнь, и он оказался чрезвычайно успешным.

Как тот факт, что вы стали частью большой корпорации, способствовал развитию?

Ну, в качестве главного технического директора Macromedia я сконцентрировался на намного большем, чем просто ColdFusion, и фактически я в первую очередь уделял внимание разработке нашей еще больше интегрированной платформе (Macromedia MX) и преобразованию Flash в реальную платформу для приложений в Интернете.

Вы также были одним из команды разработчиков Macromedia Flash MX - насколько легко было для вас перейти от ColdFusion к этому проекту?

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

В 2004 году вы основали компанию Brightcove – как бы вы сравнили ее с вашим опытом работы в Allaire и Macromedia?

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

Какой следующий этап в вашей жизни и в развитии Brightcove?

Ну, мы находимся как раз в самом разгаре трансформации Интернета. Видео становится все более распространенным, и почти каждый профессиональный сайт стремится к опубликованию видеоматериалов. Поэтому мы видим огромную глобальную возможность представить Brightcove в качестве доминантной платформы для профессиональной публикации видео онлайн. Это значит, что мы хотим сделать свою технологию доступной всем, заставив ее действительно хорошо работать в средах, предпочтение которым отдают веб-дизайнеры и разработчики. OVP (Онлайн Видео Платформа) представляет собой комплект веб-сервисов и пакетов инструментальных средств для разработчиков, который поможет легко интегрировать видео на сайты и в приложения. Поэтому, исходя из моего личного пристрастия и опыта веб-разработки, большое внимание уделяется переходу Brightcove на новый уровень в качестве платформы.

Что бы вы посоветовали перспективным программистам?

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

И да, еще, учитесь программировать и интегрировать видео на сайты и в приложения! http://developer.brightcove.com

Ну и напоследок, вам есть еще что добавить?

Нет. Спасибо за возможность побеседовать.

Комментариев нет:

Отправить комментарий