Release 10.1A: OpenEdge Development:
Progress 4GL Handbook

> ## Introducing the Progress 4GL

> The Progress® 4GL is a high-level procedural programming language, developed to enable you to build almost all aspects of an enterprise business application, from the user interface to the database access and business logic. Over its twenty-year life span, the Progress 4GL has grown into a versatile and extraordinarily powerful tool, not only allowing you to use it to program applications, but to build many of the tools that you use to help create and support those applications.

> This chapter provides an introduction to the Progress 4GL as detailed in the following sections:

> - Getting started with the 4GL—the Progress snowplow

> - In the beginning…FOR EACH CUSTOMER

> - Basic characteristics of the Progress 4GL

> - Saving your test procedure

> The Progress programming language is a fourth-generation language (4GL) because it has powerful statements and keywords that are specialized for building business applications. Single programming statements in the 4GL can do the work of dozens or possibly hundreds of lines of code in a standard 3GL, such as Visual Basic, Java, or C++. A single 4GL statement can bring data all the way from the application database to the user interface, or return a user’s changes back to the database. Other statements let you program with great precision, even down to the level of extracting individual bits from a data stream. This flexibility is what gives the Progress 4GL its great power as a development language. Most of the development tools you use to develop OpenEdge® applications are themselves written in the 4GL.

> In its first releases, in the early 1980s, the Progress 4GL allowed developers to build character interface applications that ran on a wide variety of hardware platforms, including many varieties of UNIX, DOS, and some other operating systems no longer in use. Early Progress applications were, from the very first, fully portable between platforms so that a developer could simply move application programs from one type of machine or one type of display terminal to another with confidence that they would work correctly everywhere.

> With the increasing presence of Microsoft Windows as a platform for graphical interfaces, the 4GL evolved to support those interfaces, with all their various visual controls, as well as the event-driven programming constructs needed for a menu-and-mouse-driven application. Today the 4GL continues to grow, with newer extensions to provide more and more dynamic definition of application components, as well as access to open technologies such as XML, and a host of other constructs to support an open application development and deployment environment.

> And all the while, Progress 4GL-based applications can be brought from one release to the next largely without change. Progress provides a degree of compatibility and upward migration from one release to the next unmatched (unattempted, really) by any other high-level programming language.

> One of the newest enhancements to the Progress 4GL, starting with OpenEdge Release 10.1A, is the addition of classes. Classes enable you to design and implement entire applications as a collection of related and strongly-typed objects using the principles of object-oriented programming (OOP). For an introduction to OOP, see OpenEdge Getting Started: Object-oriented Programming .

Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095