Effective API Design in Go

This session is about the fundamentals of API design, both on
and off the Web. It will try to identify strategies and rules
that can help us create code libraries that are safe, effective,
and easy to use.
Most examples will be in Go, the language itself being a case study
of good API design, with clean and simple interfaces on top of a huge
complex implementation. There may also be a few examples in Java,
a language that has had more time to accumulate crud in the form of
superfluous and dysfunctional elements.

We will use the text as a starting
point and we will look at the API design of some of these example libraries:

– is a tiny example
intended to illustrate the very basics of API design.

– is a more intricate example,
with tricky semantics, performance and compatibility issues.

– is a full-scale library
with challenging design decisions leading to new interfaces,
complementary and auxiliary data structures, and subpackages.


The 2017 Platform Summit


October 11, 2017 13:00


Stora Stjärnrummet (11th floor)