How To Design A Good API and Why it Matters
Google TechTalks12 HN recommenders · recommended in 12 months, 2011-2025
453K views · 19 years ago · talk · evergreen
Joshua Bloch's Google Tech Talk on how to design good APIs and why it matters, with concrete principles and examples. It treats every programmer as an occasional API designer.
HN repeatedly names it the best resource on API design, a staple answer to any 'how do I design an API' question.
28:06MountainWest RubyConf 2014 - But Really, You Should Learn Smalltalk
Confreaks
27K views • 12 years ago
1:03:48JavaScript: The Good Parts
Google TechTalks
589K views • 17 years ago
57:53Larry Wall Speaks at Google
Google TechTalks
81K views • 18 years ago
44:03Google Developers Day US - Python Design Patterns
GoogleDeveloperDay
90K views • 19 years ago
54:15Google I/O 2011: Java Puzzlers - Scraping the Bottom of the Barrel
Google for Developers
60K views • 15 years ago
4:57Rich Hickey rants about HttpServletRequest in 1080p: Death By Specificity from Clojure Made Simple
Fred Overflow
43K views • 6 years ago
45:22Coroutines and Loom behind the scenes by Roman Elizarov
Kotlin by JetBrains
41K views • 3 years ago
1:06:46Crockford on JavaScript - Section 8: Programming Style & Your Brain
YUI Library
111K views • 14 years ago
49:54The Clean Architecture in Python
Next Day Video
114K views • 12 years ago
33:52Nordic.js 2014 • Douglas Crockford - The Better Parts
Nordic.js
73K views • 12 years ago
1:13:53Raymond Hettinger, Keynote on Concurrency, PyBay 2017
SF Python
161K views • 9 years ago
35:32Cheng Lou - On the Spectrum of Abstraction at react-europe 2016
ReactEurope
63K views • 10 years ago
58:08Parallelism, Concurrency, and Asynchrony in Perl 6 / Jonathan Worthington
yapcasia
6K views • 11 years ago
31:38Cory Benfield - Building Protocol Libraries The Right Way - PyCon 2016
PyCon 2016
15K views • 10 years ago
48:30Design Microservice Architectures the Right Way
InfoQ
741K views • 8 years ago
1:32:47Data-Oriented Demo: SOA, composition
Jonathan Blow
201K views • 11 years ago
7:157 minutes of Pharo Smalltalk for Rubyists
Avdi Grimm
37K views • 11 years ago
1:03:31Brian Goetz - Stewardship: the Sobering Parts
ClojureTV
39K views • 11 years ago
24:28Sebastian Markbage: Minimal API Surface Area | JSConf EU 2014
JSConf
71K views • 12 years ago
38:47RailsConf 2014 - All the Little Things by Sandi Metz
Confreaks
190K views • 12 years ago
14 comments from Hacker News
Nice article. I'd also highly recommend "How To Design A Good API and Why it Matters" video from Joshua Bloch (co-author of Java). He digs much deeper, mostly at code level rather than JSON level but the same principles apply. Even though this video is almost 20 years old, the topics are as significant today as they were back then. ▶ this video
Here are some of my favorites: How To Design A Good API and Why it Matters ▶ this video Agile Methods The Good, the Hype and the Ugly link
a.) On java - one hour talk but good: * How To Design A Good API and Why it Matters ▶ this video b.) General code structure - dont to read it cover to cover unless you like to, you will die of boredom, but definitely have a look in library. It will help you to think about code structure right way. * Refactoring: Improving the Design of Existing Code * Code Complete c.) Object Oriented Programming * Design Patterns: Elements of Reusable Object-Oriented The three books I recommended are older, but not much changed in basics of object oriented programming. They are well readable. I would also recommend to read something on functional programming, mostly so that you see another approach too and thus wont go too far with object design where it does not suits. d.) 8.) I read awesome book on estimations, I really really hope it is this one: * Software Estimation: Demystifying the Black Art tldr: There is difference between negotiation and estimation, make sure you know which you are doing. Split it into smaller tasks and then estimate minimum, maximum and most likely. Then calculate (min+4*likely+max)/6. Surprisingly, it works and is faster then do one estimate. It is also more precise then anything else I tried. I really hope I shown you right book. e.) On Spring and rest, I would recommend to read documentation and write own code. I don't recall a book that would blow my mind, so I guess any will do. f.) For general "latest tech" learning, I like link site. There are mostly techie te
How To Design A Good API and Why it Matters [0] The Principles of Clean Architecture [1] The State of the Art in Microservices by Adrian Cockcroft [2] "The Mess We're In" by Joe Armstrong [3] [0] ▶ this video [1] link [2] link [3] link
Don't miss Joshua Bloch (from "Effective Java" fame) great presentation: How to design a good API and why it matters ▶ this video and the accompanying slides: link
The Little Manual of API Design (Trolltech/Nokia): link How to Design a Good API and Why it Matters (Josh Bloch): link ▶ this video
I highly recommend the following talk by Joshua Bloch: "How to design a good API and why it mattes" [1]. Key points: - When in doubt, leave it out - you can never remove things from an API but always add to it. - Write several clients of the API to get a good feel how its used. Three is usually enough, one is not. [1] ▶ this video
I highly recommend this ~hour long talk given by Josh Bloch a few years ago, it is quite good and gives plenty of concrete examples: ▶ this video
Single best is difficult, here are some favourites of mine: "You and your research" by Richard Hamming: link "How to design a good API and why it matters" by Joschua Bloch: ▶ this video Google TechTalk on Git by Linus Torvalds: link All talks ever given by Alan Kay, for example: link
I'm building a public API in my current job and, a few weeks ago, I was scouting around for the good API design advice. Absolutely far and away the best resource that I found was this Google TechTalk by Joshua Bloch: ▶ this video If you're interested in the topic and haven't seen it yet, I urge you to do so ASAP.
How about this to start? "How To Design A Good API and Why it Matters" -- a great talk by Joshua Bloch (also the author of "Effective Java") ▶ this video
Obviously, this is marketing rather than a serious treatment of the topic. It seems to basically say: "in order to design a system, you should have a regular undergraduate Computer Science education" which seems maybe like a prerequisite (and maybe informative about their hiring process) but not very useful. However, for what it's worth, the two best resources I've seen for systems design are: Hints for Computer System Design: link How to Design a Good API: ▶ this video What else should be in this bibliography?
Not specifically about web service APIs, but you might enjoy this talk by Joshua Bloch [1]: "How To Design A Good API and Why it Matters": ▶ this video [1] link
Joshua Bloch gave a good presentation on API design, you might have seen this before. Here is the link - ▶ this video Mostly along those lines will make a presentation useful and interesting. Not sure whats the time limit for your presentation but real life example would keep the audience more interactive or building something on the fly from ground up.