Programming Languages and Program Development Tools
Programming Languages and Program Development Tools
Programming Language
- is a set of words, abbreviations, and symbols that enables a programmer to
communicate instructions to a computer. It is the language programmers used in
communicating with the computers. This words, abbreviations, and symbols are
artificial languages that programmers, the persons who create or modify
programs, used.
Computer Program
- is a series of instructions that directs a computer to perform tasks.
Programmers use a variety of programming languages and tools to create
programs. In fact, several hundred programming languages exist today. Like how our
language is different from other countries, each programming language is also has its
own rules for writing the instructions and is typically unique on its own.
a. Machine language
- It is known as the first generation of programming languages. It is the only
language the computer directly recognizes and it uses a series of binary digits
(1s and 0s) or a combination of numbers and letters that represents binary digits.
Machine language also runs directly on the central processing unit and because
it uses a binary digits, it is prone to errors and is also time consuming because it
is manually manipulated. Machine language is also said to not be portable, which
means that this type of language can be used only on a specific type of machine.
b. Assembly language
- It is the second generation of programming languages. In assembly language, a
programmer writes instructions using symbolic instruction codes. Examples of
these codes include A for addition, C for compare, L for load, and M for multiply.
Assembly language is less prone to errors and can be coded easier. Unlike
machine language, assembly language uses English instructions and symbolic
addresses. A symbolic address is a meaningful name that identifies a storage location.
But, it must be noted that programmers must first convert an assembly language
program into machine language before the computer can run the program. Because the
computer cannot execute the assembly source program. A source program is the
program that contains the language instructions, or code, to be converted to machine
language. To convert the assembly language source program into machine language,
programmers use a program called an assembler.
a. Procedural Languages
- It is often called a third-generation language (3GL). A programmer uses a
series of English-like words to write instructions. For example, ADD stands for
addition or PRINT means to print. These English-like words and arithmetic
symbols simplify the program development process for the programmer because
it uses series of steps and procedures within its programming context to
compose a program. It contains a systematic order of statements, functions and
commands to complete a computational task or program.
To create programs, they use variables, conditional statements, and functions
that permit a computer to process and provide the desired output. Although it allows the
users to give computers instructions in a natural language like Chinese, French, or
English, computers are unable to understand these human communication. Therefore,
users cannot do that. Human intelligence can create ambiguities in communication with
natural language, but a computer needs a clear instruction and mathematically precise
communication system. Therefore, all symbols or collections of symbols must have
exactly the same meaning.
Examples of Procedural Language
C programming language
- It is developed in the early 1970s by Dennis Ritchie at Bell Laboratories,
originally was designed for writing system software. C runs on almost any type of
computer with any operating system, but it is used most often with the UNIX and
Linux operating systems.
COBOL (Common Business-Oriented Language)
- It is a programming language designed for business applications. Although
COBOL programs often are lengthy, their English-like statements make the code
easy to read, write, and maintain. It is especially useful for processing
transactions, such as payroll and billing, on mainframe computers.
Compiler - is a separate program that converts the entire source program into machine
language before executing it. The machine language version that results from compiling
the 3GL is called the object code or object program.
The compiler stores the object code on storage media for execution later. While it is
compiling the source program into object code, the compiler checks the source program
for errors. The compiler then produces a program listing that contains the source code
and a list of any errors. This listing helps the programmer make necessary changes to
the source code and correct errors in the program. Therefore, a compiler translates an
entire program before executing it.
.NET is a set of technologies that allows almost any type of program to run on the
Internet or an internal business network, as well as stand-alone computers and mobile
devices. Similarly, ASP.NET is a Web application framework that provides the tools
necessary for the creation of dynamic Web sites. Using .NET or ASP.NET,
programmers easily can develop Web applications, Web services, and Windows
programs. Examples of languages that support .NET include C++, C#, F#, Visual Basic,
Delphi, and PowerBuilder.
C++
- It is an object-oriented programming language that is an extension of the C
programming language. It includes all the elements of the C language, plus it has
additional features for working with objects. Programmers commonly use C++ to
develop database and Web applications.
C#
- It is an object-oriented programming language that was developed primarily by
Anders Hejlsberg, Microsoft chief architect and distinguished engineer. It is a
general-purpose, object-oriented programming language and is one of the most
popular languages used for developing desktop and web applications. It is has
also been accepted as a standard for Web applications and XML-based Web
services.
F#
- It is a programming language that combines the benefits of an object-oriented
language with the benefits of a functional language. A functional language is a
programming language whose natural programming structure is useful in
mathematical programs. Benefits of programs written in F# includes easy access
to .NET libraries and performance similar to C# programs.
Visual Studio
- It is Microsoft’s suite of program development tools that assists programmers in
building programs for Windows, Windows Mobile, or any operating systems that
support .NET. Visual Studio includes enhanced support for building security and
reliability into applications through its programming languages, RAD tools, IDE, a
specialized query language, and other resources that reduce development time.
For example, Visual Studio includes code snippets, which are prewritten code
and templates associated with common programming tasks. Visual Studio also
includes a set of tools for developing programs that work with Microsoft’s Office
suite.
a. Visual Basic is based on the BASIC programming language, which was
developed by Microsoft Corporation in the early 1990s. This language is easy
to learn and use. Visual Basic is ideal for beginning programmers.
b. Visual C++ is a programming language based on C++. Not only is Visual C++
a powerful object-oriented programming language, it also enables
programmers to write Windows, Windows Mobile, and .NET applications
quickly and efficiently.
c. Visual C# combines the programming elements of C++ with an easier visual
programming environment. The purpose of Visual C# is to take the complexity
out of Visual C++.
Delphi
- is a powerful program development tool that is ideal for building large-scale
enterprise and Web applications in a RAD environment. Programmers use Delphi
to develop programs quickly for Windows, Linux, and .NET platforms. Delphi is
an alternative to language to Visual Basic offering development with both rapidity
and good quality. Delphi's interface also resembles the Visual Basic, making it
easy for visual basic users to use Delphi.
PowerBuilder
- is another powerful program development RAD tool best suited for Web-
based, .NET, and large-scale enterprise object-oriented applications.
Programmers also use PowerBuilder to develop small- and medium-scale
client/server applications. PowerBuilder has a data window that creates, edits
and displays data. It is also capable of creating databases through an object-
oriented interface. PowerBuilder offers native interfaces to support many major
databases that's why it is mainly used by companies in the financial,
telecommunications and manufacturing sectors, as well as in government
agencies.
Scripting Language
- is an interpreted language that typically is easy to learn and use. Popular
scripting languages include JavaScript, Perl, PHP, Rexx, Tcl, and VBScript. A
scripting language is a programming language that employs a high-level
construct to interpret and execute one command at a time. In general, scripting
languages are easier to learn and faster to code-in, than more structured and
compiled languages such as C and C++.
Examples of Scripting Languages
JavaScript is an interpreted language that allows a programmer to add dynamic
content and interactive elements to a Web page. These elements include alert
messages, scrolling text, animations, drop-down menus, data input forms, pop-up
windows, and interactive quizzes.
Perl (Practical Extraction and Report Language) originally was developed by
Larry Wall at NASA’s Jet Propulsion Laboratory as a procedural language similar to
C and C++. The latest release of Perl, however, is an interpreted scripting language.
Because Perl has powerful text processing capabilities, it has become a popular
language for writing scripts.
PHP, which stands for PHP: Hypertext Preprocessor, is a free, open source
scripting language. PHP is similar to C, Java, and Perl. PHP can be used for many
programming tasks outside the web context, such as standalone graphical
applications and robotic drone control. PHP code can also be directly executed from
the command line.
Rexx (REstructured eXtended eXecutor) was developed by Mike Cowlishaw at
IBM as a procedural interpreted scripting language for both the professional
programmer and the nontechnical user. Rexx is a full language that can be used as
a scripting, macro language, and application development language. It is often used
for processing data and text and generating reports.
Tcl (Tool Command Language) is an interpreted scripting language created by Dr.
John Ousterhout and maintained by Sun Microsystems Laboratories. Tcl is used for
Web and desktop applications, networking, administration, testing, rapid prototyping,
scripted applications and graphical user interfaces (GUI).
VBScript (Visual Basic, Scripting Edition) is a subset of the Visual Basic
language that allows programmers to add intelligence and interactivity to Web
pages.
Program Development
Program development consists of a series of steps programmers use to build
computer programs (Figure 2).
The system development life cycle, guides the IT or information technology
professionals through the development of an information system. Likewise, the program
development life cycle (PDLC) guides computer programmers through the development
of a program. As you can see, the steps in the program development life cycle form a
loop and is within system development, specifically on step 4, implementation. The
program development life cycle consists of six steps. Analyzing the requirements,
designing solution, validating then implementing the design, testing the solution and
finally, documenting it. Each time someone identifies errors in or improvements to a
program and requests program modifications, the Analyze Requirements step begins
again. When programmers correct errors (called bugs) or add enhancements to an
existing program, they are said to be maintaining the program. Therefore, program
maintenance is a ongoing activity that occurs after a program has been delivered to
users.
System development life cycle, on the other hand, consists of steps such as
planning, analysis, design, implementation, and finally, operation, support, and security.
During the analysis phase, the development team recommends how to handle software
needs. Choices include modifying existing programs, purchasing packaged software,
building custom software in-house, or outsourcing some or all of the IT operation. If the
organization opts for in-house development, the design and implementation phases of
system development become quite extensive. In the design phase, the analyst creates
a detailed set of requirements for the programmers. Once the programmers receive the
requirements, the implementation phase begins. At this time, the programmer analyzes
the requirements of the problem to be solved.
Thus, program development begins at the start of the implementation phase in
system development and also what initiates program development cycle. The scope of
the requirements largely determines how many programmers work on the program
development. If the scope is large, a programming team that consists of a group of
programmers may develop the programs. If the specifications are simple, a single
programmer might complete all the development tasks. Whether a single programmer
or a programming team, all the programmers involved must interact with users and
members of the development team throughout program development. By following the
steps in program development, programmers create programs that are correct (produce
accurate information) and maintainable (easy to modify).
Figure 2
Control Structures
A control structure, also known as a construct, depicts the logical order of
program instructions. Three basic control structures are sequence, selection, and
repetition.
Figure 3
As shown in Figure 3, sequence control structure is a steps one after the other and can
be compared to how our everyday routine is. Like waking up at 8am, eating breakfast
then working, attending class on the afternoon, studying at night and sleeping. This
steps or actions include inputs, processes, and outputs. All actions must be executed;
that is, none can be skipped. Examples of actions are reading a record, calculating
averages or totals, and printing totals.
If-then-else
When a program evaluates the condition in an if-
then-else control structure, it yields one of two
possibilities: either true or false. If the result of the
condition is true, then the program performs one
action. If the result is false, the program performs
a different action. For example, the if-then-else control structure can determine if an
employee should receive overtime pay. A possible condition might be the number of
hours Worked be greater than 40, If the response is yes (true), then the action would
calculate overtime pay. If the response is no (false), then the action would set overtime
pay equal to 0. In some cases, a program should perform no action if the result of a
condition is false. This variation of the if-then-else is called the if-then control structure
because the program performs an action only if the result of the condition is true.
The do-while control structure normally is used when the occurrence of an event is not
quantifiable or predictable. For example, programmers frequently use the do-while
control structure to process all records in a file. A payroll program using a do-while
control structure loops once for each employee. This program stops looping after it
processes the last employee’s record.