How to do things with code: An analytical framework for linguistic inquiry into programming environments

Research on programming practice gives sustained analytical attention to source code and the written materials that accompany it, including comments, documentation, issue reports, and discussion threads. In these accounts, terms such as text, communication, discourse, genre, and sublanguage are recurrently invoked in addressing code and developer activity from a range of perspectives. Their repeated use points to a convergence with linguistic inquiry and invites consideration of code and developer activity in linguistic terms. The present study proceeds from a principle of a division of labour between fields and, to that end, identifies a baseline set of linguistic constructs appealed to in programming research to suggest directions for their investigation in line with linguistic tradition. The procedure combines systematic mapping of studies on programming practice with analytical classification grounded in distinctions established in the study of language. Following the identification of a stable set of constructs, the study clarifies the analytical capacity in which they are mobilised in programming research and advances a set of analytically grounded lines of inquiry in which these constructs may be examined in relation to textual cohesion, lexical organisation, syntactic relations, speech acts, discourse continuity, and indexical marking. The study has implications for recognising programming environments as a distinctive empirical setting for linguistic research, in which text, discourse, and communication practices are available for systematic analysis in established approaches to language study. The directions proposed here are not exhaustive and remain open to further empirical work.

Как исследовать код: аналитическая модель для лингвистического анализа сред программирования

В исследованиях практик программирования устойчивое аналитическое внимание уделяется исходному коду и сопутствующим письменным материалам, включая комментарии, документацию, отчёты об ошибках и дискуссионные треды. В данных работах при рассмотрении кода и деятельности разработчиков с различных позиций регулярно используются такие понятия, как текст, коммуникация, дискурс, жанр и подъязык. Регулярное обращение к данным понятиям указывает на сближение соответствующих исследований с лингвистической областью знания и создаёт основания для рассмотрения кода и деятельности разработчиков в лингвистических терминах. Настоящее исследование опирается на принцип разграничения исследовательских задач между научными дисциплинами и выделяет базовый набор лингвистических конструктов, используемых в работах по программированию, с целью определения направлений их изучения в рамках лингвистической традиции. Методика исследования сочетает систематическое картирование работ по практикам программирования с аналитической классификацией, опирающейся на различия, установленные в теории языка. Результатом исследования является выявление устойчивого набора лингвистических конструктов, используемых в исследованиях программирования, уточнение их аналитических функций, а также формулирование направлений их анализа, основанных на лингвистических подходах. В данных направлениях указанные конструкты рассматриваются применительно к текстовой связности, лексической организации, синтаксическим отношениям, речевым актам, дискурсу и индексикальному маркированию. Исследование обосновывает рассмотрение сред программирования как самостоятельного эмпирического пространства лингвистического анализа, в котором текст, дискурс и коммуникативные практики могут систематически изучаться с применением апробированных лингвистических методов. Предложенные направления не исчерпывают возможных перспектив исследования и остаются открытыми для дальнейшей эмпирической разработки.




TRAINING, LANGUAGE AND CULTURE

More articles in this issue

Volume 10 Issue 1