Time to get --'d....
I've used progress... I've worked in a progress shop. I wrote Perl in this shop. Progress is painful. Writing *simple* things in progress are hard, writing hard things are impossible. The 4GL and the DB are tied together so tightly. The DB is *slow* and underpowered, it just now has set logic, as it previously was record logic. I would program in Perl and hit a MySQL DB box about 95,000 dollars cheaper than their transaction server with a 24 hour old dump of the Progress DB imported into a MySQL schema. The OLAP queries I wrote would have taken hours to execute on Progress took minutes or seconds on MySQL. It's late, and this comment makes very little sense, however listen to this bit of advice. 4GL's like Progress and even to a degree even things like COBOL were designed so that "executives" could read a program and understand what it did. We have since found, in programming language research, that is not neccesseraly what you want out of a programming language.
If you want to describe a problem and a program, use UML. Use visual modeling tools. Use stories. Use use-cases. Use state diagrams. Don't bother with meta-languages. I ain't found a good one yet.
The extremely tired and cranky
ed...