For any minor player or curious end user the current ide control wars must seem confusing. API, IDE, SDK see or read about any one of those and your in technological hell.
I have a computer program and run it, seems simple.
In just a basic technical description of this process, no less then 2 engineers or engineer groups are required to make it work. For any mass scale pc and software combination that becomes at least 3 groups of people.
1 to design the hardware , choose and integrate a BIOS so chips can talk to each other
2 Create a environment for users to run programs
3. Create a application/program people can interface with
And even in the case of an SGI or Apple within one company those -divisions- are all separate.
But Joe you ask, how do these programs that jump across versions of a operating system (XP to Vista) or different operating systems (windows to mac) work???
Definitions
HACK
Via Wikipedia
All of the modern meanings seem to be rooted in its widespread use as slang throughout the Massachusetts Institute of Technology (MIT), starting in the 1960s. There, the original meaning of "hack" was a quick, elaborate and/or bodged solution students devised for technical obstacle; it was used with hacker, meaning one who discovers and implements a hack.
API
Via Wikipedia
An application programming interface (API) is a set of functions, procedures or classes that an operating system, library or service provides to support requests made by computer programs.[1]
* Language-dependent APIs are available only in a particular programming language. They utilize the syntax and elements of the programming language to make the API convenient to use in this particular context.
* Language-independent APIs are written in a way that means they can be called from several programming languages. This is a desired feature for a service-style API which is not bound to a particular process or system and is available as a remote procedure call.
IDE
Via Wikipedia
In computing, an integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of a source code editor, a compiler and/or interpreter, build automation tools, and (usually) a debugger. Sometimes a version control system and various tools are integrated to simplify the construction of a GUI. Many modern IDEs also have a class browser, an object inspector, and a class hierarchy diagram, for use with object oriented software development [1].
SDK
Via Wikipedia
A software development kit (SDK or "devkit"), also known as a native developer kit (NDK) is typically a set of development tools that allows a software engineer to create applications for a certain software package, software framework, hardware platform, computer system, video game console, operating system, or similar platform.
It may be something as simple as an application programming interface in the form of some files to interface to a particular programming language or include sophisticated hardware to communicate with a certain embedded system. Common tools include debugging aids and other utilities often presented in an IDE. SDKs also frequently include sample code and supporting technical notes or other supporting documentation to help clarify points from the primary reference material.
Hey you did not back link wikipedia.!!!
Well if you cant get to a page in wikipedia yourself and type search the letters sdk please stop reading here...............