ThePlace

Home ] Search ] Resources ] Site Map ] Contact Me ]
Dave's Information Technology Resource

Up ]

Computers & Programming ] Operating Systems ] [ Programming Environments ] Windows-Based Applications ] Objects and Programming ] Data and Variables ] Operational Expressions ] Functions and Procedures ] Programming Control ] Algorithms ] Files, Graphics & Databases ] Software Development ] 10 Things... ]

--- Programming Environments ---

Programming Languages

Computer programming is based on providing instructions to the computer.

Instructions, at some point, must translate into the ones and zeroes that are used as electronic signals in microprocessors (e.g., Intel Pentium ™).  All modern computer programming is based on sets of instructions (called a language) that are ultimately translated into ones and zeroes.

Programming language resources...

bullet

Google offers links to web sites with hundreds of links to programming languages.

bullet

Reference listing

Starting at the ones and zeroes, the hierarchy of programming runs as follows: 

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.

 

Most modern personal computers are based on a single-processor architecture: one instruction is executed at a time. They operate by processing instructions very rapidly and efficiently using memory to handle data (store and help move it from to/from input/output) .  This is why the faster the processor can run (typically in megahertz - instructions per second) and the more memory (RAM ) it has - the better!  

You may ask, why not use multiple processors simultaneously?  Known as parallel architectures, multiple processor systems do exist.  Parallel processors can execute multiple instructions simultaneously using both shared and separate memory spaces.  However, these computers are very expensive, require a complex operating system, and are difficult to program—for now!

 

 

Home ] Up ] Computer Architecture ] Database Bootcamp ] Visual BasicS ] Web Basics ] Web Multimedia ] Web Programming ] Advanced Web Topics ] Developing Web Sites ] XML Technology ] Web Glossary ]

Copyright © 1999 - 2005 
ThePlace - Written and Sponsored by Dave Hillman