CindyLak, I am definitely not an expert, but have looked at answering this question in the past. Here is what I have been able to find out from public sources. I am sure some will disagree with these rough definitions, but if they do, they can post *their* definition. I'd certainly like that! I also see that I may have not used the correct term when I asked which platform to use. Which goes to show that indeed these terms may be used very loosely
IDE: An integrated development environment (IDE) or interactive development environment is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of a source code editor, build automation tools and a debugger. Most modern IDEs offer Intelligent code completion features.
Programming language: A programming language is a formal constructed language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs to control the behavior of a machine or to express algorithms.
Development environment: In general, same as the IDE above. In hosted software (e.g., web site/application, database not shrinkwrap software) development, a development environment refers to a server tier designated to a specific stage in a release process.
Platform (Computing platform): A computing platform is, in the most general sense, whatever pre-existing environment a piece of software is designed to run within, obeying its constraints, and making use of its facilities. Typical platforms include a hardware architecture, an operating system (OS) and runtime libraries.
Framework: (Many different type)
- Architecture framework
- Software framework, a reusable set of libraries or classes for a software system (or subsystem)
- CSS frameworks
- Ajax framework
- List of rich Internet application frameworks
- Application framework, used to implement the standard structure of an application for a specific operating system
- Content management framework, reusable components of a content management system used to manage web content
- Web application framework, for development of dynamic websites, web applications, and web services
- Multimedia framework, handles media on a computer and through a network
- Framework-oriented design, a programming paradigm that uses existing frameworks as the basis for application design
- Framework (office suite), a DOS office application suite launched in 1984 to run on the original IBM PC
As an example,
Architecture framework: "An architecture framework establishes a common practice for creating, interpreting, analyzing and using architecture descriptions within a particular domain of application or stakeholder community. Examples of Architecture Frameworks: MODAF, TOGAF, Kruchten's 4+1 View Model, RM-ODP."
Foundation: A collection of tools, libraries, etc. that software development is based on (like the foundation of a house).