Мне посчастливилось побывать на конференции под названием Curry-On в Праге в июле этого года. Тема конференции была:

«Академия и промышленность должны поговорить. Вернее, им просто нужно поговорить в целом».

С таким названием я не знал, что и думать. Звучит так, как будто нас всех ругают за наше общее отсутствие коммуникативных навыков, что справедливо, но все же ;) Однако, один взгляд на список выступающих, и я понял, что должен идти. Мой работодатель Jimdo довольно хорошо покрывает расходы на такие конференции, как эта, которые вдохновляют, но не сразу на 100% связаны с навыками. (Я iOS-разработчик).

Доклады можно найти здесь, и многие из них уже прошлись по HN, так что вместо этого я расскажу вам о том, что вы упустили из-за того, что вас там не было. Curry-On был просто небольшой совместной конференцией внутри/рядом с некоторыми более серьезными исследовательскими направлениями/конференциями, общее название которых ECOOP (Европейская конференция по объектно-ориентированному программированию), которая, что характерно, в основном больше не посвящена объектно-ориентированному программированию. . Я упоминаю об этом, потому что кое-что из того, что мне понравилось, на самом деле не входило в меню Curry-On. Я пробрался на несколько докладов и дебатов, не уверен, что должен был, особенно на Постепенную печать. Я заметил это в первые пару часов конференции и решил проникнуть во все, что мне покажется интересным, если меня никто не остановит.

Некоторые фавориты были:

Основной доклад:

Programs Wants: Dead or Alive

Спикер: Гилад Браха

Описание: Браха выразил тревогу по поводу того, что мы пишем мертвые программы. Это очень напомнило мне другое выступление Брета Виктора под названием Хватит рисовать дохлую рыбу. По мнению Виктора, компьютеры могут помочь художнику, создавая реактивное поведение, которое художник может сочинить или переопределить/усовершенствовать для драматического эффекта. Таким образом, мы относимся к компьютеру как к инструменту нового типа, а не как к цифровому аналогу бумаги для анимации.

Точно так же Браха подчеркивает довольно огромное неравенство в академическом финансировании, исследованиях и зрелости инструментов для статического и динамического анализа программ. Он также говорит о творческом процессе написания программ и о том, насколько важна для этого процесса немедленная визуальная обратная связь. Это не новая идея. Метациклическая оценка LISP и среды REPL завоевали преданных и страстных, хотя и немногочисленных поклонников. Но это все еще текст.

В своей работе с IDE Smalltalk он процитировал интересный исторический анализ, показывающий расширенное динамическое создание графических интерфейсов/модификацию значений программы во время выполнения, а также своего рода прототип гибридного преобразования между текстовой и математической нотацией, модальный подход к просмотру/редактированию символической нотации. В целом я понимаю, что это трудно продать, даже для такой красноречивой, опытной и уважаемой фигуры. Это маргинальное мнение в мире теоретиков статики, которым нравится чистота и доказуемость формальных математических моделей. Браха прекрасно это осознает и указывает на необходимость финансирования исследований динамических языковых инструментов, которые помогут сократить разрыв.

Типы для нетипизированного мира:

Спикеры: Браха, Феллейзен

Видео: Шрифты для нетипизированного мира

Braha и Felleisen — гиганты на этой маленькой сцене, и это было просто развлечением. Удивительно, но, не будучи академиком, я мог следовать 99% их аргументов или, по крайней мере, у меня было такое чувство :) Для меня это демонстрирует их соответствующие навыки общения, поскольку мне не хватает фундаментальных знаний, чтобы иметь обоснованное мнение по поводу дебатов.

Чего видео не показывает (кажется), так это того, что Джереми Сик, который изобрел постепенный набор текста, сидел во втором ряду и все время улыбался. Сэм Тобин Хохштадт (Typed Racket, Pycket и т. д.), который является наставником Амброуза Боннера-Сержанта (Typed Clojure) в Индиане, сидел в ряду позади него, тоже широко улыбаясь. Никто, казалось, не хотел прерывать или хвастаться, они просто были счастливы, наслаждаясь дебатами, и так же стремились внести ясность, если их попросили, поиграть с идеями, манипулировать ими, просто ради удовольствия.

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

Обработка данных с помощью программирования на примерах

Сумит Гулвани

Видео: https://www.youtube.com/watch?v=uqV9BlxEG5s

Его реферат объясняет это гораздо лучше, но я попробую. Он продемонстрировал довольно удивительную функцию, которую они тестируют в Excel, которая может дать миллионам пользователей электронных таблиц возможность преобразовывать данные способом, сравнимым с регулярными выражениями. Система берет очень небольшой набор примеров, выделенных пользователем, и пытается выяснить закономерность, размышляет в течение 2–5 секунд и выводит правила, которые, по ее мнению, имеет в виду пользователь. Затем он применяет его ко всему набору данных в качестве предварительного просмотра и говорит: «Я правильно понял?». Если нет, то он показывает контекстное меню применяемых правил синтаксического анализа на простом английском языке, а также позволяет пользователю выбрать другой, похожий набор правил, который он/она мог иметь в виду, или настроить правила.

Я был поражен возможными последствиями этого разговора. Не потому, что система такого рода может изгнать бородатые perl-скрипты, написанные и поддерживаемые каким-то сварливым программистом, из рабочего процесса отделов бизнес-аналитики по всему миру. Нет, это мелкая картошка. Это могло бы устранить необходимость в написании вручную модульных тестов (система обучения может сделать вывод о правильном поведении, просто наблюдая за потоками данных и тестируя регрессии). Хорошо, если вы генеральный директор, первый пример может показаться более важным, но с точки зрения часов, потраченных на выполнение задач, во многих компаниях выигрывает второй. Представьте себе программные иммунные системы, которые интеллектуально исправляют простые ошибки, подсчитывая мутации, упс, уже есть статья на эту тему, машины могут исправлять программы за 8 долларов в час. Мне нравится этот документ, потому что он такой практичный, но ожидаю, что он значительно сократится, как только крупные компании начнут разрабатывать такие системы. Роль программиста сужается, машинный интеллект пьет наши коллективные молочные коктейли.