2013-08-09
Мы запускаем цикл переводных интервью с известными разработчиками, программистами, евангелистами — с теми людьми, кто многое сделал для современного программного пространства.
Это он дал нам jQuery, самую распространенную библиотеку JavaScript на планете. Это он дал нам Processing.js, открытый язык программирования для визуализации в вебе. Одна из последних миссий Джона Резига — KhanAcademy, крупнейшее онлайн-сообщество для изучающих программирование. Этот человек постоянно на связи с сообществом (он вообще спит когда-нибудь?), но всё же нашел время на небольшое интервью.
В: Ты как-то исчез из поля зрения в последнее время. Где ты был?
О: Везде 🙂 На самом деле я решил посвятить время разработке приложений и серверной стороне вопроса — тому, на что у меня никак не хватало времени, пока я работал над jQuery.
В: Ты всё еще занят в проекте jQuery, но ежедневное управление передал Дэйву Метвину (Dave Methvin). Что послужило причиной?
О: У меня оставалось всё меньше времени на повседневный баг-фиксинг jQuery, и мне нужно было удостовериться, что проект останется в надежных руках, пока я буду занят в других сферах. Эти ребята проделали огромную работу над библиотекой. Так что она действительно в хороших руках!
В: Кажется, ты всерьез увлекся KhanAcademy. Какова твоя роль в этом проекте?
О: Да чем только я там не занимался. Создал фреймворк, который используется для построения упражнений, помогал с разработкой приложения Khan Academy для iPad, запустил платформу Computer Science, а сейчас работаю над тем, чтобы сервис стал многонациональным.
В: В чем заключается отличие KhanAcademy от других учебных ресурсов по программированию? Какова целевая аудитория, и как вы к ней обращаетесь?
О: Я очень вдохновлен тем, что мы делаем в KhanAcademy. Мы много работали над методами преподавания основ программирования тем, кто никогда прежде этим не занимался. Также мы ищем пути интегрирования системы начального обучения в существующую программу математических наук.
Это очень осмысленный подход и предоставляет возможности обучения в целостной системе, чего не было до этого ни в одной из обучающих платформ. Понимание алгебраических действий, например, — это ключевой момент для понимания переменных. Знание тригонометрии — ключ к успешной работе с графикой. Совмещение этих навыков даёт поистине превосходные результаты.
Что касается аудитории, наш ресурс рассчитан на старшеклассников и студентов первых курсов. На данный момент на ресурсе зарегистрировано 2,9 млн пользователей.
В: Каким ты видишь баланс между традиционной образовательной системой и Khan Academy? Как они могут взаимодействовать?
О: На настоящий момент KhanAcademy предоставляет доступ к материалам, рассчитанным на достаточно молодую аудиторию. Многие студенты используют эти материалы в качестве вспомогательных при выполнении домашней работы, или даже при подготовке к лабораторным работам. Мы уже видим превосходные результаты, которых достигли учебные заведения, использующие KhanAcademy в своей учебной программе, мотивирующие студентов использовать наши материалы в аудитории или дома. В этом смысле KhanAcademy разительно отличается от любых других существующих образовательных решений и занимает крайне ценную, пока почти пустующую нишу.
В: Начальный курс программирования, над которым вы работаете, основан на принципах программирования на JavaScript (что неудивительно). Каковы планы на будущее?
О: Мы используем JavaScript и Processing.js для программирования в режиме реального времени, что дает студентам возможность начать работу и взаимодействие с кодом. Сейчас мы ищем способы, которые смогут обеспечить взаимодействие студентов в процессе работы. Когда мы запустили проект, мы включили в функционал возможность «поковыряться» в кодах друг друга. Мы сделали так, чтобы изменения в коде было легко отслеживать, и в итоге студенты помогают друг другу строить свои коды. Наблюдать за этим процессом — одно удовольствие!
В: Ты упоминал о том, что много работаешь над интернационализацией проекта. Как обстоят дела? Насколько это сложно? Какие препятствия возникли на твоём пути?
О: Я занимаюсь интернационализацией двух проектов, один из которых — как раз сайт KhanAcademy. Это настоящее испытание; у нас на руках крупный ресурс с большим количеством оригинального контента, который нужно перевести. Организовать подвижные элементы сайта и придать им некоторое подобие порядка оказалось очень сложно. К счастью, есть множество инструментов, которые способны помочь в этом деле (к примеру, мы используем библиотеку Jed.js для проведения изменений с клиентской стороны).
В: jQuery — самая распространенная JavaScript-библиотека в мире. Как тебе живется с этим знанием?
О: Круто живется! Очень приятно видеть, как она приносит пользу стольким людям. Потрясающе, что даже в новых браузерах и API нам не приходится сталкиваться с нерешаемыми проблемами кроссбраузерности. Момент полной идентичности всё ближе, и jQuery способствует этому. Я жду того дня, когда мы получим по настоящему унифицированный, простой в использовании API.
В: В последнее время сообщество jQuery отличается снисходительным отношением к тем, кто часто использует эту библиотеку. В этом есть некая доля иронии. Каково твоё мнение?
О: Да уж, это на самом деле парадокс. Я думаю, это проблема большинства людей — воспринимать плохо написанный код с использованием библиотеки как признак того, что любой код, написанный с её помощью — плохой. Конечно, это не так.
Поскольку библиотека jQuery очень популярна, почти каждый может использовать её. Даже те, кто не имеет представления о программировании и занимаются лишь копипастой кусков кода, не задумываясь о дальнейшей работе. Лучшее, что мы можем сделать в таком случае — это предоставить обучающие материалы для тех, кто хочет совершенствоваться в качестве программиста (например, материалы из Учебного центра jQuery).
В: JavaScript очень изменился с момента первого релиза jQuery. Было бы гораздо легче, если бы в то время у тебя были какие-нибудь современные инструменты?
О: О, да! Мне бы очень пригодился тогда Selectors API. Забавно, но jQuery популяризировала использование CSS-селекторов для поиска DOM-узлов, и именно это положило начало стандартизации. Это ситуация из серии «что было раньше — курица или яйцо?» 🙂
В: Если говорить в целом, какие ты видишь тренды фронт-енд разработки, и на что бы порекомендовал обратить внимание разработчикам?
О: Как человек, много пишущий на JavaScript, я провожу много времени с Node.js и PhantomJS. Их пространство дает возможность писать на JavaScript на серверной стороне и выполнять все виды скриптинга и разработки приложений. Действительно классно писать на JavaScript и знать, что код будет работать и со стороны клиента, и со стороны сервера.
В: Ты много говорил о переменах в браузерном пространстве. Что скажешь о текущем состоянии браузеров и конкуренции между ними?
О: Думаю, что основное изменение, которое коснется браузеров в ближайшие годы — это акцент на короткий срок новых релизов. Лидером будет Chrome, за ним последует Firefox. Релизы, выходящие каждые три месяца, взамен прежних ежегодных релизов, полностью меняют схему внедрения новых функций и их использования разработчиками. Любой браузер, который хочет остаться конкурентноспособным, должен успевать за этой стремительной гонкой.
В: Карен МакГрэйн (специалист по контентной стратегии, информационной архитектуре и интерфейса, основатель и управляющий партнер консалтинговой компании Bond Art+Science — прим.переводчика) на одной из конференций упомянула о том, что 31% американских пользователей Интернета выходят в сеть через мобильные браузеры. Каковы твои мысли о текущем состоянии мобильных браузеров, особенно в отношении доступности образовательных материалов Khan Academy?
О: Чем больше людей имеют доступ к мобильной версии сайта или ресурса – тем лучше. Khan Academy не рассчитан для этих целей, но у нас есть проект KA Lite, который предоставляет такую возможность.
В: Несколько лет назад много говорилось о концепте прямого включения библиотек JavaScript в браузер для улучшения производительности. Как думаешь, об этом ещё есть смысл рассуждать?
О: Я всё ещё считаю это возможным, но сложно оценить, какие это принесёт преимущества. Если бы код был предварительно скомпилирован и просто лежал в памяти, это привело бы к повышению скорости. Но, зуб даю, увеличение производительности в таком случае было бы гораздо меньше, чем общие улучшения DOM.
В: Наконец издана твоя книга «Секреты от ниндзя JavaScript» (Secrets of the JavaScript Ninja). Расскажи о пути, который прошла книга.
О: Да уж, это было долгое путешествие! Большую часть содержимого я написал в 2008–2010 гг., а мой соавтор, Бир Бибо, работал над ней в 2011-2012 гг. И я считаю, что всё в ней изложенное полностью соответствует современным принципам разработки.
Первая часть книги посвящена практике программирования на JavaScript и тонким нюансам. Во второй части читатели узнают о DOM и о написании кроссбраузерного кода. Эти две темы до сих пор являются основными в программировании на JavaScript и полезны всем — и программистам среднего уровня, и опытным.
В: Готов написать ещё одну книгу?
О: Ну уж нет! По крайней мере, не печатное издание точно. Гораздо больше мне нравится писать заметки в блоге или статьи. Даже если когда-нибудь созрею до новой книги, скорее всего, буду издаваться сам и выпущу её только в электронной форме.
В: Ты сейчас живешь в Нью-Йорке. Есть различия в сообществе программистов Бостона и Нью-Йорка?
О: Нью-Йорк я люблю. Я повстречался тут со множеством разработчиков, и их жизнь здесь просто кипит: тонны встреч, лекций, хакатонов и прочих мероприятий. Я здесь пока не так давно, но складывается ощущение, что сообщество всё растёт.
В: Под конец поговорим о повседневной жизни. У тебя, кажется, появилось новое хобби. Расскажешь?
О: Конечно! В последнее время я уделял много времени искусству и открыл для себя одно интересное направление: японская ксилография. Этот вид искусства был популярен в XVIII-XIX веках. Изображались обычно самураи, воины, божества, красивые женщины и пейзажи. Изображения тех времён удивительно живы и близки современному человеку. Я настолько увлёкся, что задействовал свои навыки программирования и создал веб-агрегатор для поиска принтов по архивам музеев со всего мира. За это я получил множество благодарных отзывов от культурологов из разных стран, и это — самое приятное.
Перевод: Люся Ширшова. По материалам Net.Tuts.
Комментарий редакции:
Dave Methvin, президент jQuery Foundation, принявший в свои руки управление проектом, 15 октября выступит в Москве на международной конференции jQuery Russia.
Смотрите также:
Первая работа: как стать java-стажером?
Новое в JDK8, Maven – от новичка до мастера и другие доклады по Java
jQuery Russia: мировая конференция приходит в Россию!
Вакансии разработчиков JavaScript можно посмотреть здесь.