Конспект интервью twit.tv с DHH
July 28, 2009 in Ruby on Rails25 июля twit.tv провели интервью с DHH.
Я вообще решил не ретранслировать в блог всяких новостей и интервью, но это все-таки David Heinemeier Hansson, вряд ли кто-то переведет его на русский, а интервью довольно интересное.
Советую его послушать самому, если с английским нет проблем, а я законспектировал на русском основные мысли про Ruby и Ruby on Rails.
- Ruby, в отличие от других языков, оптимизирован для удобства программистов. Это его основное преимущество.
- В Ruby можно дополнять даже базовые классы, поэтому нет необходимости в новых версиях языка; все, чего DHH ждет от новых версий Ruby, это оптимизация по использованию памяти и по скорости.
- Принцип DRY должен применяться в глобальных масштабах: программисты по всему миру решают одни и те же типовые задачи снова и снова – было бы замечательно избавиться от этих громадных потерь полезного времени.
- Из Ruby можно без особого труда сделать специализированный язык, на котором удобно работать в нужной модели – например, делать сайты.
- Ruby – динамический, но не скриптовый язык, на нем можно писать полноценные приложения.
- DHH любит monkey patching. Грамотный monkey patching творит чудеса, пример чудес – библиотека ActiveSupport.
- У компаний нет причин переходить на новые технологии вроде Ruby on Rails со старых и проверенных, вроде PHP и Java. Переход всегда происходит «из подполья» – так в большие компании пришел Perl.
- Единственный способ перейти на Rails – сделать это по собственной инициативе, показать начальству работающий проект, доказать, что на Rails можно сделать работающий проект.
- Интернет – всемирный уравнитель, как в плане ведения бизнеса, так и в плане используемых технологий. Команда из программиста, дизайнера, и идеолога способна на такие же достижения, что и крупная корпорация.
- Фреймворки не пишутся сами по себе – они извлекаются из работающих проектов. Ruby on Rails писался для личных нужд, и уже потом был извлечен из кода Basecamp, причесан и задокументирован.
- В PHP нет единообразия, слишком много людей вносят свои различные мнения даже по поводу самых основных вещей. Поэтому В PHP царит хаос.
- Идея convention over configuration в том, незначительные решения нужно принимать всего один раз, глобально. Никому не важно, как называется первичный ключ. Если заранее договориться о таких мелочах, отпадает необходимость в громадных конфигах, а чужой код становится гораздо понятнее.
- «Интеллект можно применять полезнее, чем выбирать название долбаного первичного ключа».
- Модель REST была выбрана потому, что с ней становится понятно, как группировать действия по контроллерам; до REST существовала тенденция сваливать много не связанных между собой действий в какой-нибудь MainController, т.е. в антипаттерн God Object.
- DHH использует OS X и Textmate. Vi (почему-то именно Vi, не Vim) его пугает, а BBEdit уныл.
- Кто-то уже решил большинство твоих повседневных проблем. Этим можно и нужно пользоваться.
- DHH все свои проекты держит на GitHub и вам советует. Он, конечно, пользуется git.
- Сайты на Ruby on Rails – GitHub, Twitter, YellowPages.com, Hulu, 43things.com, urbandictionary.com. Более полный список есть на rubyonrails.org/applications.
- Rails не решает проблемы масштабирования, как и любой другой фреймворк. Масштабирование всегда достигается ручной оптимизацией.
- Ruby не такой уж и сложный в изучении, кроме того, он нагляднее и лаконичнее языков вроде Java.
- Фреймворки, идущие по одному и тому же курсу, в итоге сливаются. (например, Rails и Merb)
- Rails через два года – это все те же Rails, но с кучей нововведений. У команды нет какой-то одной глобальной цели, кроме как улучшение существующего фреймворка.
http://en.wikipedia.org/wiki/Monkey_patch
Понравился пост? Купи мне кофе