Jeudi 28 mai de 14h00 à 15h30
Amphi Ircica – 50 avenue Halley – Haute Borne – Villeneuve d’Ascq
Abstract: Programming languages are languages — “unnatural” languages because they are constructed explicitly; “formal” languages because they rely on mathematical notations and are described mathematically; “machine” languages because they are used to communicate with machines. Above all, programming languages are “human” languages. Programs in programming languages are spoken and read and written and designed and debugged and debated by humans, supported by human communities and forming those communities in turn. Language implementations, being programs themselves, are likewise designed and debugged and debated by humans. Programming languages adopt structural elements from natural
language, including syntax, grammar, vocabulary, and even some sentence structure. Other aspects of language have received less attention, including noun declension, verb tense, and situation-appropriate register. Semiotics shows how language use can connote and imply, and will lead to interpretation. Language involves larger level structure too: conversations, stories, and documents of all kinds. Language supports both cognitive and affective processes,
and is involved in building mental models that we use to recall,
reason, and respond.Programming is a complex activity, uncertain yet precise, individual
and social, involving intent and interpretation. Language is not the
accident of programming — it is the essence.
The talk is based on a joint work with Robert Biddle
https://dl.acm.org/doi/10.1145/3622758.3622885
Bio:
James Noble (kjx@acm.org) is an independent creative researcher & programmer often
based in Wellington, New Zealand. After completing honours and doctoral degrees at Victoria University of Wellington (VUW), James worked at the University of Technology, Sydney, the Microsoft Research Institute at Macquarie University, and is recovering from a long stint as professor of computer science & software engineering at VUW.
James is currently Visiting International Chair at INRIA Lille (2024-2029).
James’s research centres around software design. This includes the design of the users’ interface, the parts of software that users have to deal with every day, and the programmers’ interface, the internal structures and organisations of software that programmers see only when they are designing, building, or modifying software.
James’s research in both of these areas is coloured by a longstanding interest in object-oriented approaches to design, and topics he has studied range from aliasing and object ownership, programming languages, design patterns, agile methodology, via usability, visualisation and computer music, to postmodernism and the semiotics of programming.
