?

Log in

No account? Create an account
усы2

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

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

Previous Entry Поделиться Next Entry
Улькемп 2014
усы2
tonsky

Четвертый Улькемп (twitter.com/ulcamp, ulcamp.ru) у меня выдался самым удачным. Скорее всего, конечно, компания сложилась, но есть вероятность что и Улькемп становится лучше. Это не самая массовая конференция, зато самая уютная и свободная. Организаторы почти ничего не контролируют, только обеспечивают. А дальше, если приехали правильные люди, они организуются сами, причем так, как никто никогда спланировать и реализовать не сможет. Плюс, в секретном арсенале Улькемпа два зайца.

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

Во-вторых, конечно, баркемпы. Это четыре площадки, докладчики на которые записываются самостоятельно по приезду. Выглядит примерно так:

Смысл в том, что главная сцена на конференциях традиционно получается жиденькая: у организаторов какие-то свои мотивы, планы, тематика, взгляды на мир, спонсорам в конце концов надо дать доклады, или евангелист какой просочится. Баркемп лишен этих недостатков: если у тебя есть, что сказать, можно приезжать и говорить. Атмосфера располагает: не так интересно сорок минут вещать со сцены в режиме радиостанции, а в конце ответить на пару заданных из вежливости вопросов, как в тесном кружке совместно перемывать косточки рубям и опенсорсу, иногда матом. Бывает, что нетривиальная реплика из зала интереснее всего доклада. Можно собрать немного людей и объяснить им в подробностях, как работает какая-нибудь маленькая, но интересная штучка. Формат большой сцены располагает к глобальности, или хотя бы к претензии на полноту, что обычно скучно. Если есть минимальный кругозор, интересны уже отклонения и особенности, сочные детали, а не то, как обстоят дела в целом.

Хотелось бы, конечно, чтобы все конференции, и Кодефест в первую очередь, куда-то сюда двигались: меньше хождения строем и поверпоинта, больше диверсификации, маленьких кулуаров и объяснений на пальцах (отсутствие проектора — огромный вин, хотя некоторые все-таки умудрялись притаскивать распечатанные на A1 слайды). Может быть, даже попробовать развернуть в Экспоцентре палатки.

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

Я успокоился по поводу Котлина: было ощущение, что Next Java языки (Kotlin, Xtend, Ceylon, Fantom, Gosu) это что-то хорошее не абсолютно, но в достаточной мере, чтобы обычным, не хипстер-в-жопе разработчикам сидеть на них и никуда не хотеть слазить. Казалось, что уговаривать переходить на Clojure не совсем честно: слишком радикальные вливания требуются, в то время как большую часть бенефитов можно получить на чем-то гораздо более близком к Java, причем все основные pain points у Java снимающем. Оказалось, нет, все хорошо, позиции Clojure непоколебимы, мир Next Java языков живет всеми теми же проблемами, что и сама Java: как генерировать getter-ы, можно ли не писать вот тут скобочки, есть ли поддержка IDE, кто лучше генерирует hashCode, как перегрузить конструкторы или сделать приватные поля, а потом разгребать проблемы вокруг невозможности к ним доступиться. Понятно, что и я сам когда-то над этими проблемами «думал» (даже ««думал»») и, наверное, проводил, хотя бы в уме, сравнительные чарты разных языков, пытаясь ««взвесить»», но блин. Это не имеет никакого отношения ни к задаче, ни к полезному действию, ни к надежности, ни к эксплуатации, ни к удобству, ни к переиспользованию, ни даже к культуре программирования. Это споры ради споров и улучшения в тех местах, которые просто не нужны, совсем. Самое главное, за что я люблю, ценю и так рекламирую Clojure, так это за фокус, возможность сосредоточиться на существенном и выведении нонсенса за рамки картины мира. Спасибо, что живой.

Второй крутой инсайт от Ильи Ключникова, почему ООП в один прекрасный миг завоевало мир, держится и не сдает позиций. Очень глубокая и нетривиальная мысль в том, что в успехе ООП выстрелил не сам подход, а то, что оно предлагало способ познания мира. Ты пишешь:

    String x = "hello world";
    x.

нажимаешь Ctrl+Space и видишь, из чего этот String устроен. Перед тобой, как на витрине, разложены варианты. Ты знаешь, что тут можно сказать, а что нельзя. Аналогичным образом графические меню приложения и контекстные меню вытеснили терминал: в терминале требовалось тренировать память, а в GUI перед тобой открытая для изучения онтология текущего окна.

Третий инсайт исключительно личный, но я рад, что словил его. Я раньше догадывался, что у меня должна быть деформация точек зрения, вызванная тем, чем в мире программирования я занимаюсь и чем не занимаюсь. Сейчас мне более-менее кажется, что я научился ее наблюдать и делать на нее поправку: глядя на всех прекрасных молодых людей, занимающихся вещами, о которых я не слышал или которые мне совершенно неинтересны. Полезно чувствовать, где кончаются границы твоего мирка (прикладного программирования в моем случае) и что, хотя бы теоретически, может лежать за его пределами.

А закруглимся давайте картинкой из Ульяновска:


  • 1
>>Аналогичным образом графические меню приложения и контекстные меню вытеснили терминал

Лолшто?

Проверь на всякий случай, у тебя Мак в терминал загружается или в GUI?

Самое главное, за что я люблю, ценю и так рекламирую Clojure, так это за фокус, возможность сосредоточиться на существенном и выведении нонсенса за рамки картины мира.

Да.

> Очень глубокая и нетривиальная мысль в том, что в успехе ООП выстрелил не сам подход, а то, что оно предлагало способ познания мира.

Этому бояну лет 25 со времён Алана Кея, который написал об этом не один мемо.

мне этот улкамп тоже понравился больше прошлогоднего.

>>> Я успокоился по поводу Котлина

Неужели тебя он волновал?

Ну да, внутренний компас надо было проверить, не слишком ли хипстер я. Вроде нет, Кложа это суровая необходимость.

1. Видеоархив куда в этом году дели?
2. Хотя бы часть баркэмпов снимали?

ложная индукция - как на картинке

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

и вот именно ооп и устроенные в его парадигме инструменты подходят очень хорошо для описания таковых механизмов, ложатся ЕСТЕСТВЕННО

а ваши эти изыки обработки списков - нет, они годятся только для обработки списков, и поэтому вам всем приходится изгаляться адаптируя схоластические горние сущности к реальному миру, выдумывая монады-хренады - вот это все

то же, во что этот ваш докладчик уперся как в краеугольный камень - это всего лишь побочный эффект вышесказанного, как можно было так попутать все возможные рамсы - я, блядь, не понимаю совсем, вы же там все логики-перелогики должны быть

Давайте проверим: вот в Clojure можно писать ООП (не покидая языка, прям Java код можно писать) и можно ФП. По логике, писать ООП было бы естественнее, и этот стиль бы превалировал. Ан нет, наоборот, все ООП стремятся в чистые функции заворачивать.

Список выпадающих членов - это ерунда)) ООП "рулит" потому, что это самый простой способ инверсии управления и осуществления слабой связности. Ну и фреймворкам проще идентифицировать объект абстрактного класса, чем набор функторв в стиле ФП.

Сделал я класс Point { int x,y } и теперь ни одна другая программа/модуль не могут им воспользоваться, не подключив придуманный мной класс. Отличная слабая связность!

  • 1