RailsClub 2016: интервью со Steve Klabnik
Автор книг «The Rust Programming Language», «Rails 4 in Action» и «Designing Hypermedia APIs». Живет в Бруклине, сам о себе пишет, что «проводит слишком много времени на GitHub».
Стив уже выступал на RailsClub в 2012 году. И мы также публиковали интервью с ним (любопытным можно посмотреть тут). С тех пор Стив плотно занялся Rust, сделал много интересных штук и мы поняли, что нужно обязательно пригласить его снова :)
Думаю, эта наша публикация будет интересна не только рубистам, но и поклонникам Rust, которых в России становится все больше. На последнем митапе к нам подошли ребята из русскоязычного Rust-сообщества rustycrate.ru . Приглашают всех, кто после RailsClub заинтересуется Rust, не стесняться присоединяться и задавать вопросы.
Доклад на нашей конференции — Exploring Ruby through Rust.
Ruby написан на C. Многие классы, которые мы знаем и любим, написаны на Ruby, некоторые нет. Изучая, как работает MRI мы можем узнать о Ruby много интересного. В докладе Стив покажет веселый хак: перепишет куски Ruby-интерпретатора на Rust. В процессе много узнаем о внутреннем устройстве Ruby и о том, как начать хакать код на С.
Под катом приводим наши вопросы, ответы Стива в оригинале и нашем вольном переводе:
Над чем ты сейчас работаешь?
В основном я работаю над Rust. Но язык — это огромный проект, он включает в себя кучу всего: я переписываю официальную книгу про Rust, работаю над пакетом Semver, немного работаю над нашим пакетным менеджером… столько всего надо сделать!
Еще у меня есть сторонний проект intermezzOS. Это «обучающая операционная система», то есть маленькая ОS, а к ней идет обучающая книга для тех, кто никогда не занимался системным программированием.
I am mostly working on the Rust programming language. But something like a language is super huge, so there’s all kinds of things: I’m re-writing the official book, I’m working on our semver package, I’m doing some work on our package manager… so much to do!
I also have a side project, intermezzOS. It’s a «teaching operating system», that is, it’s a little OS, but also a book to go along with it to teach people who have never done OS work how to do it.
Что для тебя Open Source?
В первую очередь, Open Source для меня — это совместная работа в процессе разработки. Вместо того, чтобы каждый занимался чем-то своим, вы работаете вместе над достижением цели. Это не означает, что все работают над всем, но это значит, что вы принимаете ключевые решения по проекту совместно. Всегда есть кто-то, кто проверит ваш код перед тем, как он будет включен в проект. И вы стараетесь по максимуму вовлечь как можно больше людей.
To me, open source is about making collaboration first and foremost in the development process. That is, instead of everyone doing their own thing, you work together towards your goal. That doesn’t mean that everyone always works on everything, but it means that you make major decisions about the project together, you always have someone review your code before it gets merged, and you try as much as possible to include as many people as possible.
Что нового за последнее время привлекло твое внимание в мире web разработки?
Есть три вещи, которые мне интересны:
1. WebAssembly. Этот проект сделает возможными еще более амбициозне веб приложения, чем те, что у нас уже есть.
2. Проект Ember’s FastBoot. Это простой способ позаботиться о проблеме загрузки первой страницы для одностраничных приложений.
3. Glimmer 2. Это деталь реализации Ember, но это напоминает мне появление React: думаю, это большой шаг вперед на пути к тому, чтобы тяжелые Javascript приложения могли стать быстрыми.
There’s three things I’m interested in:
1. WebAssembly. This is going to pave the way for even more ambitious web applications than we had previously.
2. Ember’s FastBoot project. A drop-in way to take care of the initial page load issue for single page applications.
3. Glimmer 2. This is an implementation detail of Ember, but it reminds me of when React hit the scene: I think it’s a huge leap forward in the way that Javascript-heavy web applications can achieve speed.
Любимые ресурсы (блоги/сайты/твиттеры) на темы веб разработки и программирования?
Я не слежу за чем-то одним, в основном я читаю Hacker News и Reddit и статьи из разных других источников.
I don’t follow any one thing: I mostly read Hacker News and Reddit, and read the articles from everywhere.
Последняя прочитанная книга по программированию, которая тебе понравилась?
«Assembly Language step by step: programming with Linux». Сейчас мало кто изучает ассемблер, но мне кажется, эта книга представляет его в очень доступном виде. В первых главах содержится немало интересных метафор, которые действительно помогают понять концепции.
«Assembly Language step by step: programming with Linux». Not many people learn assembly these days, but I think this book presents it in a way that’s very approachable. Its early chapters contain a lot of amusing metaphors that really help you grok the concepts.
Не надоело программировать? Что ты делаешь, когда это случается?
Иногда! Вы можете заметить, что очень многое из того, чем я сейчас занимаюсь, связано с текстами: для меня чистое программирование само по себе уже не так интересно, интересно сочетать программирование с чем-то еще. Вот что я делаю: я переключаюсь на документацию или обучение других. Это все еще имеет отношение к программированию, но не оно.
Sometimes! You’ll notice that a lot of the stuff that I’m doing is also writing: to me, just programming itself isn’t all that interesting, it’s combining programming with something else. So that’s what I do: I switch to documentation, or teaching. It’s still _about_ programming, but it’s not directly programming itself.
Чем бы занялся, если бы у тебя было пару месяцев свободного оплачиваемого времени?
Я бы постарался закончить переписывание книги про Rust, потому что это самая важная работа, которой я занят. Мне повезло, что это уже является частью моей работы :). Во-вторых, я бы весь день работал над intermezzOS: я обожаю это делать, но поскольку это не входит в мои рабочие обязанности, у меня никогда не хватает на нее времени.
I would try to finish re-writing the Rust book, as it’s the most important work that I’m doing. I’m lucky enough that it’s already a part of my job:). Second, I would work on intermezzOS all day: I really love it, but since it’s not my job, I never have enough time.
Кем хотел быть в детстве?
Я очень, очень хотел быть египтологом. Меня всегда восхищала древнеегипетская культура. Но потом я узнал про компьютеры и обрел нечто, что показалось мне еще более интересным :)
I really, really wanted to be an Egyptologist. I’ve always found ancient Egyptian culture fascinating. But then I discovered computers, and found something I thought was even more interesting. :)
Интересно? Откладывать покупку билета уже некуда, остались последние места! Регистрация тут, цена билета — 9000 рублей.
Организатор конференции: Evrone
Спасибо лучшим компаниям, которые нас поддерживают:
Генеральный партнер: Toptal
Золотые партнеры: Rambler&Co, AT-Consulting и Прогресс
Серебряный партнер: JetBrains
Бронзовые партнеры: Gitlab, VoltMobi, Рестрим, InSales и Seendex.
Пивной партнер, поддерживающий традиционное афтепати — CloudCastle
До встречи на RailsClub!