RDS vs. I4GL (was: How to read Flat files from 4gl)
Posted in 1995
Cathy Kipp (ckipp@vth1.vth.colostate.edu) wrote: : Charles Francis writes: : -> : ->Well Informix SQL may be called a variety of 4GL. But it is : ->really a different product as is RDS. The 4GL product compiles : ->using a C compiler to create object modules that are linked to : ->create executables. RDS like SQL is run by an interpreter. : ->RDS may be a "variety"; But; RDS is RDS not 4GL. The : ->question was "How to read Flat files from 4GL?" not : ->"How to read Flat files from RDS?." : Informix SQL is not 4gl. RDS (also r4gl) is a flavor of INFORMIX-4GL : as is compiled 4gl (or i4gl). RDS and compiled 4gl use the same 4gl code, : they are just compiled and interpreted differently. ^^^^^^^^^^ This is the one you have to watch out for though. It's been my experience, (although long ago), that RDS-4GL and i4gl don't always behave the same. Same code, maybe, but not always the same results. This is something to watch out for if you're used to doing your development under RDS, then compiling using i4gl for release. You develop, test, develop, test, until it's right. Now you compile with i4gl and release and it doesn't work right. Now you look like you've got no quality control because of some r4gl/i4gl difference that you didn't notice because you were developing in RDS, not your target compiler. As far as C routines go (ie. the original story line of reading flat-files), both i4gl and r4gl can call C routines. It's just that C routines are such a pain with r4gl because every C routine you use has to go into this "runner" thing. So, you start developing more and more C routines to do all the things 4GL can't do. You have hundreds of C routines that aren't used by ALL your executables. One may use a dozen routines and another a different dozen. With r4gl, you have 2 options: 1) create this HUGE runner that has every C routine you've written so you can execute any module. (Anyone know of a maximum size for a runner?) 2) you come up with a zillion specialized runners for each possible combination of C routines your code is using and try to remember what runner to use for what programs. With i4gl, you just put your .o files for your hundreds of C routines into a library and link it in. The compiler picks and chooses the routines it needs from the library automatically. No need to worry about which runner you need to run your code. If the compiler can't find something, it'll let you know at compile time, not runtime. -Joel Schumacher jschumac@uns-dv1.jcpenney.com OR jschumac@jcpenney.com