|
Description
|
Advantages
|
Disadvantages
|
|
Machine Language
The most basic level of coding for a computer.
Instructions are contained in the form of bits (0 or 1) organized as
bytes (8 bits) or words (16 bits). There
are also 32 and 64 bit sets.
The computer internal architecture is directly controlled by machine
language instructions.
|
Highly efficient.
The
computer hardware can be directly controlled and manipulated.
|
Very difficult to understand and create large complex software
programs.
|
|
Assembly
Language
Similar to machine language, but the commands have an English syntax
such as "ADD V1,V2."
Assembly language is translated directly into machine language for
processing.
|
Also very efficient with a syntax that is easier to understand.
|
Very difficult to create complex programs.
|
|
Commercial/Popular Languages
e.g., Fortran, Cobol, Visual Basic, Java,
etc.
There are hundreds of programming languages (a few more popular and
well known than the rest).
Generally, a single instruction at this level is translated into a
number of machine language instructions.
|
Tools
range from low-level (DOS-based) programming tools (e.g., C compilers) to
GUI (graphic user interface) -based tools (e.g., Visual Basic).
Numerous
tools have been developed resulting in efficiently crafted programs (use
memory well).
Various languages can be optimized for a variety of situations
and types of programming.
|
Much less efficient in terms of some hardware functions.
Large number of programming languages is often confusing.
|
| Component
Programming
e.g. ActiveX, JavaBeans, CORBA, ADO, etc.
Developed using commercial tools such as C, Java, and
Visual Basic.
Based on interface models that enable integration with
other environments (programmed and script applications).
Useful for creating a wide variety of support
applications for graphics, databases, etc..
|
Excellent for sharing amongst a
variety of applications.
Relatively easy to distribute and manage (e.g., via
web-based applications such as Flash and Acrobat).
Programs and interfaces are often very efficient and
able to support a broad variety of needs. |
Usually limited to a single
operating system or platform.
May have versioning, licensing, and distribution issues
(mainly from the user perspective).
Due to broader application support, may contain unneeded
or unused functions, making it less efficient. |
|
Scripting Environments
e.g., DOS batch language, JavaScript, VBScript, Perl,
Cold Fusion Markup
May run at the operating system level (batch files) or
as part of an executing program (JavaScript in a web browser). |
Easy to develop and run.
Can be changed quickly.
Often useful for handling highly repetitive tasks (e.g.,
file backups).
Often "multi-platformed" (a script can run on
any web browser).
|
May have limited file and system
interaction (mainly for security reasons).
Very slow compared to compiled languages.
|