If you create a piece of software, you need to worry about the users. But if you create an API, then your users are people you’ve never met, who will be using your software on a regular basis — and who will create applications and services based on the API you created. This means that if you make mistakes when creating the API, you’ll be forced to live with those mistakes, and support them, for some time. How can you create, and then maintain, an API with a minimum of of fuss, and in a way that you can fix mistakes? In this talk, Philipp Meier describes the mistakes that he has made when writing APIs in Clojure. His lessons are appropriate not only for Clojure developers, but for people using other languages, too.
We all write functions. But do we create functions that are effective — efficient in the ways that they work, and in the ways that we invoke them? How (and why) should we take advantage of Python‘s many supports for functional arguments? Why should you consider using generators, rather than returning lists? In this talk, Brett Slatkin provides numerous examples of how we can improve our functions. If you’re a Python developer who wants to take their functions to the next level, this talk will provide you with some good, new ideas.
APIs have long been a staple of the programming world. If you want to use a library, you need to understand its API. If you want someone to use your library, then you need to provide (and document) an API. In the modern programming world, APIs extend not only to libraries, but also to Web frameworks and (increasingly) Web APIs — which allow software to communicate across computers, networks, and languages. But what are the best practices in creating APIs? n this talk, Kevin Lack (now at Facebook, but then the CTO of Parse), describes the elements of a great API. No matter what language you’re using, you can likely learn something about how to improve your APIs from this talk.
How should we design APIs that allow us to handle many types of media? In this talk, Steve Klabnik discusses “real REST” vs. “Rails REST,” and shows you how to design a useful and clean API that will allow people to consume various types of media.
Kenneth, the author of the Requests library for Python, describes where Python’s APIs could be improved — and more importantly, how to write an API that is useful for programmers, and not just for programs.