University of Cambridge > Talks.cam > Wednesday Seminars - Department of Computer Science and Technology  > Programming languages for humans

Programming languages for humans

Add to your list(s) Download to your calendar using vCal

  • UserDr Jeremy Yallop - Department of Computer Science and Technology, University of Cambridge
  • ClockWednesday 05 May 2021, 15:00-16:00
  • HouseOnline.

If you have a question about this talk, please contact Ben Karniely.

The history of programming languages is a history of increasing automation. Tasks such as invariant checking, optimisation and memory management were once the responsibility of programmers, but many language implementations now handle them automatically. This increased convenience has not come for free: in handing over responsibility to compilers, programmers have also given up control. Writing efficient programs or programs that pass type-checking is often now a matter of writing programs that conform to a compiler’s limited view of the world. This is unfortunate, since programmers often have useful information to share with compilers, but no way of communicating it.

I’ll describe a few strands of work on more extensible languages, in which programmers can use the properties they have proved about their programs to extend the compiler’s general purpose algorithms. Most programming languages force programmers to adapt their reasoning to the compiler’s low-level worldview. Language extensibility offers a way out of these constraints, extending the compiler’s worldview for each domain and so allowing programmers to work at a higher level without any loss of convenience or efficiency.

Link to join: https://cl-cam-ac-uk.zoom.us/j/91253900399?pwd=SU5TNnpYdDlQbzQ4SEVPVWVWa0Nldz09

This talk is part of the Wednesday Seminars - Department of Computer Science and Technology series.

Tell a friend about this talk:

This talk is included in these lists:

Note that ex-directory lists are not shown.

 

© 2006-2024 Talks.cam, University of Cambridge. Contact Us | Help and Documentation | Privacy and Publicity