Site MapHelpFeedbackProgramming
Programming
(See related pages)

PROGRAMMING LANGUAGES

In Chapter 13 you learned how to create software applications by coding. Remember, coding is when you translate your algorithm into a programming language. An algorithm is a set of specific steps that solves a problem or carries out a task.

You also learned about the history and characteristics of programming languages so you could select the right programming language for the job. We'll review these concepts here.

After our programming language refresher, you can look at our list of available programming languages. There are hundreds of languages to choose from, but we've listed only some of the more commonly used ones. Of course, there are some excellent Web resources you'll want to visit to learn more. We've provided some to get you started.


History

Programming languages are divided into four generations. Languages from each generation are being used today.

Machine Language

Machine languages are the first generation of programming languages. A machine language is a machine-dependent, low-level language that uses binary code to interact with a specific computer system. A machine-dependentlanguage works only on a specific computer system and its components. Low-level languages require programmers to code at a basic level that computers can understand.

If you'd like to learn more about machine languages, visit these Web sites:

Assembly Language

Since most programmers don't want to write at such a low level, they developed assembly languages. Assembly language is a machine-dependent, low-level language that uses words instead of binary code to program a specific computer system. Programmers use an assembler to create the machine code for a particular computer system. An assembler is a utility program that converts assembly language into machine language that the computer can then use to run software.

If you'd like to learn more about assembly languages, visit these Web sites:

Third Generation Languages (3GL)

You'll find that not many programmers choose to code software applications in either machine or assembly languages. Instead, most use programming languages that aren't dependent on a particular computer system. A machine—independent language is a computer language that works on different computer systems regardless of their components.

Programmers also like to use English words to create their programs. For this, they need a high-level language. A high-level language allows programmers to use words and symbols closer to human language to code software.

So a third generation language (3GL) is a machine-independent, high-level procedural language that uses human words and symbols to program diverse computer systems. You learned in Chapter 11 that a procedural language requires that a programmer write code to tell software what to accomplish and how to accomplish it.

Fourth Generation Languages (4GL)

Of course, the opposite of procedural languages are nonprocedural languages. A nonprocedural language requires that a programmer write code to tell the software only what it should accomplish. It's this characteristic that separates 3GLs from 4GLs.

A fourth-generation language (4GL) is a machine-independent, high-level nonprocedural language that uses human words and symbols to program diverse computer systems. You learned how to use one 4GL, Structured Query Language (SQL), in Chapter 10.


Characteristics

Most programming languages in widespread use today are 3GL and 4GL. In order to choose the best language for the job, you should understand some of the major identifying characteristics of programming languages:

Compiled: When you compile a language you translate the high-level language into a form the computer can understand. For this you use a compiler. A compiler simultaneously translates high-level programming languages into machine language. In other words, the compiler translates source code into object code.

Interpreted: With interpreted languages, the computer translates the programming language into a computer language one line at a time.

Scripted: Many computer applications use scripting languages. A scripting language is an interpreted programming language that works within another application to perform tasks. Scripting languages are used to write macros. A macro is a scripting language program that executes a task or set of tasks within a software application. In Chapter 13 we have examples of macros written in Visual Basic for Applications (VBA). VBA is an interpreted scripting language that works within Microsoft Office applications.

Event-Driven: Many programming languages are event-driven. An event-driven language responds to actions users perform on the program. When you click on a button, use a pull-down menu, or double-click on an icon, you're performing an event. Programmers use these events to trigger actions in a program. For example, double-clicking on an icon usually starts a program.


Languages

Now that you've looked at programming language characteristics, let's look at some of the hundreds of languages available for you to use. We've provided you with a brief explanation of each as well as some Web resources if you'd like to learn more:

ADA

The U.S. Department of Defense developed this high-level language in the late 1970s. It was designed to be a general purpose language for various applications.

ADA is named after Augusta Ada Byron (1815-52). She was the daughter of Lord Byron and the Countess of Lovelace. She helped Charles Babbage create the analytic engine, the first mechanical computer. Many programmers consider her to be the world's first programmer.

BASIC

This stands for Beginner's All-purpose Symbolic Instruction Code. BASIC was developed in 1964 and is still in use today. Many variations of it exist and it's on most PC computers. It's a procedural, interpreted language.

C

C is a compiled procedural program used to develop operating systems and application software. It's a powerful and efficient program, but it's difficult to use.

C++

This is an object-oriented version of C. It's used for many of the same applications as C as well as database and Internet programs. You don't need to know C to learn C++.

COBOL

This stands for Common Business Oriented Language. COBOL is a widely-used procedural language in business applications. It's primarily used on mainframe computers.

FORTRAN

This stands for Formula Translator. FORTRAN is the oldest (developed in 1954) high-level language still in use. Scientists and engineers use it to handle complex mathematical and scientific calculations.

Java

This is a high-level, object-oriented programming language based on C++. Java is optimized for Web and Internet appliance applications.

LISP

This is short for list processor. This high-level language is primarily used to develop artificial intelligence programs. It was developed in the early 1960s.

Mathematica

Programmers use this language to program everything from calculators to supercomputers in the engineering and science disciplines. It's primarily used for analysis and modeling.

Pascal

This language was developed in the late 1960s to help students learn structured programming concepts. It's named after the 17th-century French mathematician Blaise Pascal. Turbo Pascal is an object-oriented version.

Perl

This stands for Practical Extraction and Reporting Language. This language is primarily used for text processing. Most CGI scripts on the Web are written in this high-level interpreted language.

PHP

Hypertext Preprocessor is a dynamic server-side scripting language designed specifically for the Web. PHP is a relatively new language. Programmers use PHP to create customized Web and E-Commerce sites. PHP is an open source programming language.

Python

Named after "Monty Python's Flying Circus," Python is an interpreted object-oriented programming language. It's popular because there are a variety of free compilers that will make it work on almost any operating system.

SQL

This stands for Structured Query Language. SQL was developed to provide a common means to work with databases. SQL is a declarative 4th generation language that helps programmers derive information from databases.

TCL

This stands for Tool Command Language. It's an interpreted programming language that can be used for many applications. Its strength is a collection of libraries that can be used to help develop various software applications and CGI scripts.

Visual Basic

Developed by Microsoft, VB uses a graphical interface to develop event-driven Windows programs. Visual Basic for Applications is a subset of VB that allows programmers to develop macros in the Microsoft Office environment.


General Programming Language Resources








haagcc2eOnline Learning Center

Home > Chapter 13 > Programming