Multi-platform Programming for Research-Oriented Software

PhD Course for the Computer Science and Engineering PhD Programme

Abstract

  • Programming is becoming a central activity in research, far beyond the realm of computer science.

  • Mainstream programming languages are flourishing around well-identifiable communities and well-established programming platform.

  • For instance,

    • Python is the language of Data Science,
    • JavaScript targets the Web, and
    • the JVM is often the primary choice among multi-agent systems, logic-based technologies, as well as backend and mobile development.
  • Along this line, in order to maximize the reach of research-oriented software, it is of paramount importance to write code supporting as much platforms (and languages) as possible.

  • Of course, maintaining multiple codebases is a no-go, and this is why researchers often focus on particular platforms—hence limiting their potential audience.

  • Accordingly, in this course we present approaches and best-practices for multi-platform programming, where the same codebase is made available on multiple platforms, minimizing rewriting of code while maximizing portability.

Table of contents

  1. About the course
  2. Preliminaries
  3. Write once, build anywhere
  4. Write first, wrap elsewhere