Slides at: https://gciatto.github.io/mpp4rs-slides
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.