프로그래밍 경험이 없는 사람한테 api문서와 코드만 던져주고 잘 쓰라는건 아마존 밀림에서 온 사람한테 천원짜리 주고 자판기에서 음료수 뽑아먹으라는 것밖에는 안됨.

돈을 넣고
불이 들어온 버튼을 누르고
잔돈버튼을 눌러 잔돈을 챙기고
음료수 꺼내면 된다.

간단해보이지만 자판기 써본적 없는 사람한테는 돈을 넣는다는 의미가 뭔지 와닿지 않고, 잔돈 버튼을 누르라는 말이 뭔지 모른다.

api는 수많은 인터페이스와 구현체들의 묶음인데 여기에는 그걸 사용하는 절차, 프로토콜이 나와있지 않은 경우가 많음. 자판기에서 음료수를 뽑을때 사용자가 해야 할 일과 기계가 해야 할 일이 잘 맞물려야 하고 이걸 프로토콜이라고도 함.

우리동네 도서관에 골때린 식권 자판기가 있는데, 이 자판기는

1. 먼저 식권 종류와 수량을 누르고
2. 돈을 넣으면
3. 식권이 나오고
4. 잔돈을 뱉어냄

일반적인 자판기와 달리 1과 2가 뒤바뀌어있으니까 사람들이 처음에 돈부터 밀어넣는데 안들어가니까 멍청하게 서있음. 그러다 다른 사람들이 식권 뽑는거 보고 나서야 행동을 수정하게 됨. 진짜 거의 다속음 ㅋㅋㅋ

좋은 프레임워크는

api 문서
인테페이스와 구현체 코드
예제

가 잘 갖춰져 있어야 함. 프로토콜 자체는 api문서와 구현체에 없는 경우가 많아서 예제가 없으면 초보자들의 접근이 쉽지 않음. 그래서 api와 별도로 튜로리얼이나 블로그에 글들을 써놓는거임.