programming languages


in this part, the set of aesthetic features, composed from both empirical observations and theoretical constructions, is re-examined in the light of the linguistic environments as provided by programming languages. after having elaborated a concept of clarity, I will see if and how programming languages modulate this concept. programming languages will be investigated both as semantic systems, but also as socio-economic systems. by seeing how discourses on clarity vary between programming languages communities, it will be possible to identify such a structural influence and integrate it within our concept of clarity.

the (programming) language object

[[scott_programming_language_pragmatics]] [[sethi_programming_languages_constructs_concepts]]

this section explores the conceptual definition of a programming language (from a CS and philosophy standpoint), but also the role of language in aesthetics (comparison french vs. german, thomas mann avec ses verbes a la fin)

the question of operational meaning vs. denotational meaning should be explored. what means what to the computer?

[[crozat_theorie_operationelle_ecriture_numerique]] -> a bit too high-level, but nice concepts about digital writing/layerings of digital writing (binary-theoretical / technical-applicable/semiotical-rhetorical)

the fact that it’s abstract as hell can also be seen as a cultural influence/related to chomsly [[golumbia_cultural_logic_computation]]

[[milner_semantic_ideas_programming_languages]] [[stansifer_study_of_programming_languages]] [[homem_topics_in_programming_languages]] [[sustrik_linguistics_programming_languages]] [[turner_programming_languages_technical_artefacts]]

the programming language ecosystems

each of these sections will highlight both the paradigms as well as the syntactic features of the main categories of programming languages. the point will be to highlight what they share, and how they differ, and that what they share is a very core concept. how that concept is implemented however differs, which is inherently an aesthetic decision (as we will see with Ruby or Go for instance). this categorical approach will also necessarily include a historical dimension, as well as a discussion of which programming communities gravitate around which languages

[[vee_coding_literacy]], [[coding_literacies_annette_vee]]

meaning in programming languages

this section looks at how language-dependent the previously exhibited features of aesthetics might be affected by it. however, we’ll see that this isn’t so much a clear distinction as it is a gradient between fully language dependent (and the extreme: hardware dependent—hallo kittler).

procedural rhetoric is just a very high level of programming semantics. processes with meaning assigned to it. <- this further extends the gradient.

[[winograd_language_as_cognitive_process]], [[winograd_flores_understanding_computers_and_cognition]], [[eijick_computational_semantics_functional_programming]]

syntax vs. semantics?

There’s a lot of attention to COMPRESSION, using the underlying programming language in a way that’s easy to penetrate - richard gabriel src

computer beauty

whether or not the computer understands is not an aesthetic problem, but an engineering problem. BUT there are beauties in engineering

a discussion of “idiomatic”

TODO how does it relate to “understanding”? programming idioms - c2 - so

language-dependent features

language dependent features will be:

language-independent features

there could be different beauties in writing and in reading (case of Mike’s APL) - easier to read vs. easier to type

what is the aesthetic of a semantic system that is supposed to be understood by both humans and machines? if there is a collapse of both those systems, it hints at the fact that the human becomes machine

language as material

from hardware to tokens

when i talk about materiality, i should also contextualize it with other materialities (build processes, hardware, etc)

markers of spatialization: - GOTO - the trace (stack trace, execution trace) (like ariadne’s thread) - localness [[allamanis_survey_for_big_code_naturalness_language#patterns]] - localness is syntactic, non-localness is semantics - dangling else