Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!cs.utexas.edu!rutgers!deimos.cis.ksu.edu!ceres!dino!sharkey!cfctech!teemc!ka3ovk!ki4pv!cdin-1!dsinc!wells!mdi386!bruce From: bruce@mdi386.UUCP (Bruce A. McIntyre) Newsgroups: comp.unix.i386 Subject: Re: Databases under UNIX-386 Summary: 64K limit is only on DOS and 286Xenix, and do have local vars Progress is procedural based, and can call/run procedures with params Keywords: database Message-ID: <135@mdi386.UUCP> Date: 16 Sep 89 15:00:21 GMT References: <1652@lamont.ldgo.columbia.edu> <132@mdi386.UUCP> <4525@ursa-major.SPDCC.COM> Organization: Wells Computer Systems Corp., Levittown, Pa. 19058 Lines: 44 In article <4525@ursa-major.SPDCC.COM>, dyer@spdcc.COM (Steve Dyer) writes: > Progress is rather nice in some ways, but the fact that it's a procedural > language without subroutines was ultimately VERY frustrating. You could > construct macro-substitution templates which expand in-line into code, > which gives you a subroutinish feel, but all the versions of the language > I used (up to and including 4.0--I don't know what's current now) had a > strict 64K limit on compiled-byte-code size, which liberal use of macro > expansions would break. Also, the lack of local variables was another pain. > -- > Steve Dyer > dyer@ursa-major.spdcc.com aka {ima,harvard,rayssd,linus,m2c}!spdcc!dyer > dyer@arktouros.mit.edu, dyer@hstbme.mit.edu There are some real mis-communications and conceptions here.. First of all, the include file macros can be passed positional parameters or named parameters, and are a very fast way to work. If you must use subroutines, then you can run lots of small .p procedures to do what you want and configure the memory buffers to handle them well. This is true for both Version 3.x and 4.x, and we now use Version 5.x. As for 64K size limit, that is true, but for someone who wants to write with sub-routines, you can call any number of sub-procedures, each one of which can be up to 64K compiled size. Remember that is the compiled size, as the source can be larger, especially when using the include files. All variables can be defined as Global, Shared, or Private... in fact the default is private local. I think perhaps Steve gave up a little too soon. If there is anything that is idio-syncratic about Progress, it is the use of Scoping and Frames... But you learn to love it. Also with version 5.x, you can mix both Progress 4GL code and SQL statements in the same code, even use Progress Verb modifiers to SQL statements. It supports standard Ansi SQL. This is native mode, not just an interface. There is a Progress users BBS available at 215,446,4035 that is NOT run by Progress, but by Progress users. Give it a call if you have such questions.. bruce -- ========================================================================= Bruce A. McIntyre, McIntyre Designs, Inc. VOICE(215)322-1895 143 Bridgetown Pike, Langhorne, Pa. 19047 DATA (215)357-2915 {wells|lgnp1}!mdi386!bruce bruce@mdi386 tbit+