Framework
Некоторая предопределенная архитектура, которую разработчик выбрал и которая определяет, как будет написано приложение. Как правило, он уже включает в себя множество концепций, которые помогают разработчику сосредоточиться на области приложения, а не на канале. Эта сантехника обеспечивается каркасом. Например, .NET Framework предоставляет готовые инструменты, которые позволят вам общаться с веб-серверами, даже не зная внутреннюю часть протокола TCP / IP (на самом деле это помогает знать внутреннюю среду, но вы понимаете, в чем дело).
Библиотека
Многоразовый скомпилированный модуль, который может быть перераспределен и повторно использован в различных проектах. Ну, не обязательно компилируется в случае динамических языков.
IDE
Это среда разработки, в которой вы создаете другие три части (обычно текстовый редактор), она также может включать в себя компилятор и возможность выполнять, отлаживать и просматривать выходные данные программы, чтобы ускорить процесс разработки.
API
Интерфейс прикладного программирования. Это может означать много вещей, но обычно это набор функций, предоставляемых расположению разработчика, которые выполняют конкретные задачи и работают только в определенном контексте.