Еще в 2000 году, когда я был второкурсником в колледже, мне посчастливилось представить свою первую исследовательскую работу в Сиэтле, штат Вашингтон, на симпозиуме IEEE по визуальным языкам. Это был формирующий опыт: я встретил свою будущую докторскую степень. советник, Брэд Майерс; Я связался с сообществом людей, разделяющих мои интересы, и вдохновился на получение докторской степени.

В то время как конференция изначально была сосредоточена на языках программирования с визуальным, а не чисто текстовым синтаксисом, со временем сообщество сосредоточилось более широко на интерактивных и человеческих аспектах создания программного обеспечения, объединив эклектичную смесь исследователей из HCI, Software Engineering, и языки программирования. Теперь исследователи, которые посещают конференцию, много думают о разработке языков, разработке инструментов и психологии программирования и пытаются представить новые, более мощные и выразительные способы создания программного обеспечения (отсюда более широкое название, Симпозиум IEEE по визуальным языкам и человеко-ориентированные вычисления).

«В этом году конференция проходила в Роли, штат Северная Каролина, быстро развивающемся технологическом центре, полном вкусной еды и отличных студентов. Хотя я пропустил большую часть первого дня и заключительного заседания, конференция достаточно мала, чтобы я смог встретиться почти со всеми и наверстать упущенное.

Бен Шапиро выступил с вступительной речью. Один из наиболее убедительных аргументов, которые он приводил, заключается в том, что мы тратим слишком мало времени на устранение барьеров для тестирования, отладки и модификации в таких образовательных средах, как Scratch. Помощь детям в творчестве заключается не только в предоставлении блочной среды, которая позволяет избежать проблем с удобством использования текстовых синтаксических анализаторов, но и в поддержке всего процесса. В конце концов, большая часть кода, который пишут дети, поначалу ошибочна, поэтому тестирование и отладка — неотъемлемая часть творческого процесса.

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

Одним из первых полных докладов, которые я увидел, был Алан Блэквелл, говорящий о своей 20-летней награде за самую влиятельную газету. Первоначальная статья 1996 года представляла собой критику теоретических основ визуальных языков. В большинстве статей просто утверждалось, что визуальные языки лучше и сделают людей более продуктивными, без каких-либо оснований. Некоторые пошли немного глубже, утверждая, что визуальные языки более естественны или конкретны. Некоторые пошли еще дальше, утверждая, что визуальные языки даже не нужно будет изучать. Оглядываясь назад, это кажется очевидной критикой, но статья действительно привела к быстрому упадку превосходных аргументов в пользу визуальных языков. С точки зрения Алана, основная роль конференции и сообщества VL/HCC состоит в том, чтобы противостоять инкрементализму и консерватизму сообщества исследователей языков программирования, но делать это научно обоснованным способом. Тем не менее, Алан предупредил, что если мы приступим к проектированию только посредством контролируемых экспериментов, мы рискуем упустить из виду разработку более глубоких теорий языкового дизайна и более точное измерение того, что, по нашему мнению, действительно важно в программировании.

Вторую по значимости награду за работу (награду за 10 лет) вручил один из моих школьных друзей, Джефф Стайлос, который сейчас работает в IBM Research. Статья Джеффа была о системе под названием Mica, которая упростила поиск информации о функциях API, таких как правила использования и примеры. Джефф рассказал о своей мотивации для работы, связанной с тем, сколько времени он потратил, пытаясь понять, как использовать API. Это привело к Mica и более общей области исследования удобства использования API. Это также предвосхитило целый мир API и задач поиска API. По мнению Джеффа, удобство использования API в основном не решено, и на самом деле оно еще хуже из-за огромного масштаба создаваемых API и быстрого темпа их развития.

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

Мой соавтор и наставник Маргарет Бернетт представила небольшой доклад (Гендерный человеко-компьютерный интеллект и Microsoft: основные моменты лонгитюдного исследования), в котором освещаются лишь некоторые из ее обширных усилий по распространению GenderMag внутри Microsoft, метода проверки для выявления проблем включения в разработку программного обеспечения. . Что мне показалось наиболее интересным в этой работе, так это то, как даже относительно простой метод был быстро деконструирован и адаптирован дизайнерами и инженерами Microsoft. Это говорит о том, что как бы ни старались исследователи создать интегрированные, тщательно обоснованные системы идей, эти идеи все равно будут приниматься по частям, чтобы соответствовать контексту использования. Это говорит не только о том, что идеи в исследованиях программной инженерии должны быть как можно более модульными, но и о том, что доказательства, которые мы производим, также являются модульными, относящимися к каждой части идеи.

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

Джастин Смит и его сотрудники представили интересное исследование того, как электронные таблицы облегчают, но также и разрушают конвейеры данных, распределяя конвейер и данные по организации («Практика работы с электронными таблицами и проблемы в большом многонациональном конгломерате»). Это редкий взгляд на то, как обучаемость почти вездесущих платформ программирования, таких как электронные таблицы, создает организационные трения. Исследование заставило меня задаться вопросом, как мы можем рассуждать о компромиссах между изучаемостью языков программирования и более широкими последствиями того, как они структурируют данные и алгоритмы для людей и команд.

Хорошее исследование Wordpress REST API («Исследование эффективности примеров использования в документации REST API») показало, что его документация ужасна, и что это в основном делает невозможным для разработчиков успешное использование RESTful сервисов. В нем не указаны типы данных для входных и выходных данных, не приведены примеры заголовков, методов и тел запросов, а также предварительные условия. Это расширяет все более разнообразные работы по удобству использования и обучаемости API, показывая, что документация часто является неполной и непригодной для использования.

Также была целая сессия по обучению, поддерживающая тенденцию думать о программировании с точки зрения обучения. Крис Парнин представил работу своего студента магистратуры Яна Дрососа над HappyFace, системой измерения разочарования с помощью шкалы боли, встроенной в PythonTutor, и обнаружил, что около 2% пользователей нажимают на шкалу боли, и это разочарование в основном связано с ошибками. Одна из учениц Кейтлин Келлехер Уинт Йи Хнин представила исследование того, как учащиеся средней школы используют справочные ресурсы для обучения, и обнаружила, что во время выполнения задач по программированию к проактивным справочным рекомендациям обращались гораздо чаще, чем к документации, учебным пособиям или другим формам помощи. (эта статья получила награду за лучшую статью на конференции). Ан Ян, студент UW School, с которым мы с моим бывшим учеником Майклом Ли сотрудничали, представил нашу оценку осуществимости прогнозирования отсева в учебных пособиях по программированию. Мы обнаружили, что характеристики, связанные с приверженностью, наиболее предсказуемо сохраняют вовлеченность.

Несколько статей выходили за рамки технических и инструментальных вопросов программирования, исследуя экономические и социальные вопросы. Ифтехар Ахмед из штата Орегон представил документ Пример мотивации корпоративного вклада в FOSS, в котором обнаружил, что корпорации исправляют множество ошибок, но не сообщают о многих из них. Крис Скаффиди представил экономическое исследование влияния наличия опыта программирования электронных таблиц, обнаружив прочную связь между использованием электронных таблиц и более высоким доходом, программированием и более высоким доходом (в частности, на 10% больше дохода), и что почти все различия в доходах объясняются самоотчетом об этих навыках работы с данными в вычислительном отношении. Еще одним интересным открытием стало то, что количество разработчиков в Соединенных Штатах не сильно изменилось за последние 10 лет и по-прежнему составляет около 13 миллионов человек. Наконец, Денае Форд, восходящая звезда из штата Северная Каролина, использовала идеи социального содействия и равенства сверстников, чтобы исследовать участие женщин в Stack Overflow. Она рассмотрела сигналы пола (в первую очередь имя) и исследовала влияние нескольких женщин, публикующих одни и те же посты, по сравнению с постами смешанного пола. Равенство сверстников не было связано с очками репутации или значками, но оно было связано со значительно более ранними будущими взносами (в среднем почти на год раньше).

Конференц-банкет прошел в классном пространстве для мероприятий The Bridge Club и стал прекрасным светским мероприятием. У меня были замечательные беседы о найме преподавателей, поиске работы, постдокторских должностях и широком спектре вакансий, доступных для доктора философии. студентов, следуя некоторым из моих недавних работ на эту тему. На конференции было много представителей отрасли, включая Google, IBM и Microsoft Research, которые интересовались различными вопросами, связанными с API и средами программирования.

Несмотря на то, что сообщество невелико, его внимание все еще рассеяно и развивается, а строгость работы лишь изредка достигает высот более крупных конференций, таких как ICSE, CHI и ICER, VL/HCC по-прежнему привлекает разнообразную и междисциплинарную группу старших специалистов. исследователей и абитуриентов. Как человеку, который любит наставлять, мне всегда нравятся стимулирующие беседы, которые могут предложить небольшие конференции, такие как VL/HCC, которые не могут предложить более крупные конференции.