усы2

Стой под стрелой

Поступки и мысли, о которых могу вспомнить не краснея

Previous Entry Поделиться Next Entry
Легкость вместо простоты (Simple Made Easy)
усы2
tonsky
Что-то все молчат, так что скажу я. Мой кумир Рич Хики, он же по совместительству автор языка Кложа, выступал 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 извините -- волею случая пишу из горящего танка убунты.

  • 1
Я хочу как-нибудь сделать презентацию для условий «как выжить в death march project». Потому что я уже пять лет работаю в среде, где требования меняются каждую неделю, а сдавать всё надо вчера. И для этого нужны совсем другие технологии. Идеально, кстати, подходит лисп. Обычный, с круглыми только скобочками.

В порядке здорового троллинга

А там будет про чувство вкуса?

Re: В порядке здорового троллинга

Нет, это моя личная заморочка. В death march-проектах чувство вкуса нужно только для того, чтобы не блевать через полгода от вида собственного кода. Да и то не всегда получается.

Только назвать надо Überleben den Todesmarsch. Чтобы страшнее было! :)

ABCL? ;-) А чем кложа-то не нравится?

Простое решение найти порой очень сложно. Легкое решение часто несет в себе меньше рисков. Программист по природе ленив и выбирает простые решения. На практике все равно получается нечто промежуточное. Пока проканывают простые решения, то делаем просто, когда код начинает пахнуть - начинаем рефакторить.
Мы один раз спорили с коллегой на такую тему. Закончили на том, что если тесты смотрятся логично и локонично, а их написание в не доставляет проблем, то код хороший.

Если человек может писать простые тесты, то и с кодом проблем не должно быть, по идее. Что усилие надо прилагать -- это да.

Да, поразительный был доклад. Лучше всех на этом стрейнджлупе.

"на этом" - т.е. Вы за ними следите? где это удобнее делать?

Статьи с честными цифрами кончились где-то в восьмидесятых годах. Сейчас мерять программистов слишком дорого и все суют или студентов, или свои ощущения.

вроде MS Research не так давно публиковал серию статей с цифрами... Кажется вот тут

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

(Анонимно)
Simple Made Easy -> Простота вместо легкости =/= Легкость вместо простоты !!!

Ну я так понимаю, в названии отражается тот факт, что Simple потихоньку подменилось словом Easy, а настаивает автор на простоте конечно.

  • 1
?

Log in

No account? Create an account