Platform (computing)
In
computing, a
platform describes some sort of
framework, either in
hardware or
software, which allows software to run. Typical platforms include a computer's
architecture,
operating system, or
programming languages and their
runtime libraries.
In relation to
hardware,
platform often describes the set of hardware components that make up the computer itself,that the software is written to target (often just described as "written
for an architecture"). very very Pure assembly language can be run on this hardware platform, but most commonly, operating system software is written to target it. But in doing so, it becomes a platform in itself, facilitating the running of other software that is used to target the operating system, and likewise the hardware architecture. Furthermore, software that is written for the operating system can be used to support the running of other software: for example a
virtual machine (which targets a certain operating system/hardware) that is used to run other programs that are written for it, which constitutes another platform.
Java programs are a typical example of the latter point. Java source code is "compiled" to an intermediate-language
bytecode which is then interpreted by an interpreter, the
JVM, which then interfaces that program with the Java software libraries. In phones,
PDAs and other wireless mobile devices, these libraries are the
Java ME. Some phones, even without a full fledged OS, enable Java programs such as games to operate. Java and the bytecode are said to be platform independent. But this is because Java
is the platform as well as a programming language. Software really cannot operate without a platform or be platform independent. The programming language is referred to here, meaning, the programmer need not be concerned about the platform, nor will the language change with a different platform.
A platform is a crucial element in software development. A platform might be simply defined as 'a place to launch software'. Platforms are frequently mentioned with
APIs. A complete suite of
APIs constitute another type of platform. Platforms frequently are referred to as operating systems as defined above. However they are not always the same thing. For example, 2 other popular non-OS platforms are
Java, as mentioned above, and
BREW for mobile phones.
*
Supercomputer architectures.
*DEC Alpha
cluster running under
OpenVMS.
*
RISC processor based machines running UNIX variants (for example, Sun computers running the Solaris operating system).
*
Macintosh, custom
Apple Computer hardware and
Mac OS operating system.
*
Commodity computer platforms, such as
**WIN32 (
Wintel), that is, Intel
x86 or compatible
hardware and
Windows operating system.
**
Lintel, that is, Intel
x86 or compatible
hardware and the
Linux operating system.
**
x86 with other
UNIX variants such as
BSD variants.
*Old
home computer microcomputers.
*A
mainframe with its custom operating system, say an
IBM System/360.
*Any variety of
video game console.
*
BREW*
Helix*
Java ME*
Palm OS*
Qtopia*
S60 platform*
UIQ*
Symbian OS*
Windows Mobile*
Linux*
:Category:Computing platforms*
Computing*
Software engineering and
List of software engineering topics*
Operating Systems*
Application Programming Interface