views:

73

answers:

3

Hi,

What is the difference between , it can help a lot in interviews and general understanding.

  1. Framerwork
  2. Library
  3. IDE
  4. API

Taimur

+4  A: 

Framework

Some predefined architecture that a developer has chosen and which dictates how the application will be written. It usually already includes many concepts which helps the developer to concentrate on the domain of the application instead of the plumbing. This plumbing is provided by the framework. For example the .NET framework provides out-of-the-box tools that would allow you to talk to web servers, without even knowing the internals of the TCP/IP protocol (actually it helps knowing the internals but you get the point).

Library

A reusable compiled unit that can be redistributed and reused across various projects. Well not necessary compiled in case of dynamic languages.

IDE

It's the development environment where you create the other three parts (usually text editor), it might also include compiler and the possibility to execute, debug and see the output of the program in order to speed up the development process.

API

Application Programming Interface. This could mean many things but usually it is a set of functions given to the disposition of the developer and which perform specific tasks and work only in a specific context.

Darin Dimitrov
The "I" in "IDE" means it is more than a text editor at a minimum. It implies the ability to invoke compilation and view build output from within the environment and possibly the ability to execute, debug, and view program output as well.
Amardeep
@Darin: The key is "Development Environment" vs. "Integrated Development Environment". http://en.wikipedia.org/wiki/Integrated_development_environment
Amardeep
@Amardeep, I agree with you, I've updated my answer to take your comment into account.
Darin Dimitrov
A: 

IDE is a tool for fast, easy and flexible development

An API is provided for an existing software. Using these third party applications can interact with main/primary application.

A framework or library are typically same. They are a common set of functionality for other software to use.

Ref: wiki for Framework, API

Ankit Jain
A: 

Framework: a collection of libraries and programming practices to provide general functionality for a program, so that it doesn't have to be rewritten. Typically a framework for an application program will handle user display and input, among other things. The intent is usually to hide the more complex functionality of an application, and to encourage a certain style.

Library: A piece of software to provide certain functionality to other programs that call it. Typically designed to be reusable and modular, so that a library can be distributed and be useful without its source code.

Integrated Development Environment: A integrated set of tools to write programs and turn them into finished products, usually including at least an editor, compiler, linker, and debugger. IDEs sometimes provide support for frameworks.

Application Programming Interface: A set of function calls and sometimes variable accesses available to a program, typically being the public interface of one or more libraries.

David Thornley