Social aspects of language design

I found this somewhere in my notes. … where did this come from? it is interesting. probably the quorum project.

WE define readability as a human judgment of howeasy a text is to understand. The readability of aprogram is related to its maintainability, and is thus a keyfactor in overall software quality. Typically, maintenancewill consume over 70% of the total lifecycle cost ofa software product [4]. Aggarwal claims that sourcecode readability and documentation readability are bothcritical to the maintainability of a project [1]. Otherresearchers have noted that the act of reading code isthe most time-consuming component of all maintenanceactivities [8], [33], [35]. Readability is so significant, infact, that Elshoff and Marcotty, after recognizing thatmany commercial programs were much more difficultto read than necessary, proposed adding a developmentphase in which the program is made more readable [10].Knight and Myers suggested that one phase of soft-ware inspection should be a check of the source codefor readability [22] to ensure maintainability, portability,and reusability of the code. Haneef proposed adding adedicated readability and documentation group to thedevelopment team, observing that, “without establishedand consistent guidelines for readability, individual re-viewers may not be able to help much” [16].

The social aspect of programming language design is rarely studied despite having, at times, a significant impact on both the design of the language and its use. Programming languages function as communication tools between programmers, and the lack of study in this area is surprising and has been noted by other researchers. Stefan Hanenberg wrote that “developers, which are the main audience for new language constructs, are hardly considered in the research process”\cite{faith-hope-love}. While in his essay, Hanenberg argues for a reconsideration empirical methods programming language research, this paper takes a different approach and asks instead — “how do we listen to developers”.

Communication and social norms may have a significant impact on community designed languages. One visible effect is the control of communication patterns the form of the development and use of a Code of Conduct. But this extends beyond such texts. In the case of JavaScript, the Technical Committee 39 of Ecma International, this effect underpins the decision making process — the use of social credit in committee discussion is a fundamental tool of technical decision making\cite{mark-miller-social-credit}.

Notes mentioning this note

There are no notes linking to this note.