Никита Прокопов (tonsky) wrote,
Никита Прокопов
tonsky

Categories:

Легкость вместо простоты (Simple Made Easy)

Что-то все молчат, так что скажу я. Мой кумир Рич Хики, он же по совместительству автор языка Кложа, выступал 17 октября на StrangeLoop с темой, которую я поднимал еще в мае. Но это конечно шуточки, у меня бессвязное мямленье по сравнению с ним.

Видео нужно смотреть: http://www.infoq.com/presentations/Simple-Made-Easy, а чтобы побудить вас потратить час вашего времени (всего лишь час!), вот небольшой конспектик:

Лекция посвящена разнице между Simple (простой в смысле без составных частей, атомарный) и Easy (простой в смысле легкий для освоения, привычный). Первое объективно, второе субъективно, ведь опыт у всех разный; проблема в том, что часто вместо Simple выбирают Easy. Это делают и сами разработчики (это я уже знаю, это выглядит знакомо, см. феномен node.js), и работадатели (программиста на привычной технологии легче заменить). Хотя, по идее, следовало бы фиксироваться не на кайфе, который ловит разработчик, а на долговременных качествах продукта и кода, выходящих из-под его пера:



Кстати, если фиксироваться только на Easy, то никогда не узнаешь ничего нового (по определению привычности).

Далее, абсолютно взятый с потолка график. Привычная технология дает ускорение в начале, потом буксует. Что с этим делать? "Гибкие" программисты каждые две недели начинают все заново и называют это "новым спринтом":



Следующий слайд внезапно показывает, что многие знакомые и привычные нам конструкции являются составными на самом базовом уровне, а в Кложе, хоть и не привычно (not easy), зато все хорошо (simple). Причем, я так понял, он с самого начала эту фишку сёк, потому что когда делал Кложу, фиксил синтаксис лиспа, чтобы избавиться от перегруженности (not simple) скобочек.



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



Резюмируя, Рич завещал дрессировать инстинкты на simple, а не easy, ибо это единственный способ (в силу того, что способности людские ограничены -- про это тоже был хороший слайд) писать надежное ПО (а тесты, системы типов и т.п. -- едва ли скребут по поверхности проблемы).



Это очень коротко и не все, поэтому я прошу: потратьте час времени, послушайте доклад умного человека.

P.S. за курсор на скриншотах и нарушенный aspect ratio извините -- волею случая пишу из горящего танка убунты.
Tags: clojure, важное, девелопмент, очень просто, формула успеха
Subscribe

  • Повышенное чувство собственности

    Бывает, что в интернете кто-то слегка неправ, в какой-то детали, и тогда поправить их будет обычным занудством (90% моих постов, ха-ха), а бывает,…

  • Не Vim-ом единым

    Появился повод высказаться по поводу Vim, а я давно собирался. Мнение такое, что он, крутой для своего времени, сегодня просто морально устарел.…

  • Сколько пользы от программиста?

    В твиттере нарисовался тред про то, маппится ли работа программиста на прибыль компании. Естественно, прибежал сотрудник букинга с…

  • Post a new comment

    Error

    default userpic
    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 17 comments

  • Повышенное чувство собственности

    Бывает, что в интернете кто-то слегка неправ, в какой-то детали, и тогда поправить их будет обычным занудством (90% моих постов, ха-ха), а бывает,…

  • Не Vim-ом единым

    Появился повод высказаться по поводу Vim, а я давно собирался. Мнение такое, что он, крутой для своего времени, сегодня просто морально устарел.…

  • Сколько пользы от программиста?

    В твиттере нарисовался тред про то, маппится ли работа программиста на прибыль компании. Естественно, прибежал сотрудник букинга с…