Re: 4gl: Better than sliced bread?
Posted in 1993
In article <C6xI2C.LMn@promdist.pds.com>, bill@promdist.pds.com (Bill Foote) writes: > In article <1993May11.211120.27014@rpslmc.edu> eklhad@siss81.sis.rpslmc.edu (Karl Dahlke) writes: > Hmmm, given the lack of function pointers, the creation of any kind of > abstract data type would be nigh on impossible. Well, who needs software > engineering anyway? Real Men (tm) don't write generic functions. Useful > function libraries? Bah -- who needs 'em? Well abstract data types are not the only answer to the world's problems. > Seriously, I've never used 4gl, but from what I've heard it's useful for > knocking out applications that don't get too involved. As long as you > don't need to do anything that requires the power of C, it's OK, and they > let you link in C functions when you need to. If you want to write anything > like a general library that you can re-use, or a program that uses pipes > or anything slightly complicated, you're better off in C. Well, one of the 4gl programmers who works here has a gigantic library of code. I write small interface functions to the library and my applications can access all kinds of ``re-usable'' code. > In summary: 4gl is less powerful than C, but more convenient for a certain > class of applications. It is not necessarily less powerful. It is a different type of tool. You wouldn't say that PERL is less powerful than C, or vice-versa. They were written for different uses. You have to use the right tool of the job. > I'm curious: From the people out there who have used 4gl and C extensively, > what would you say the "productivity gain" is? Well, as long as you use 4gl for what it was designed for (UI and relational database access) it is an effective and useful tool that increases productivity. When I need C and database access, I use ESQL/C. When I need to manipulate data to a great extent, I dump from the database, use perl, and load it back in. > So, 4gl/C programmers, am I right? Or should I go out and buy 4gl > *quick*, before it makes C++ obsolete? :-) Again, it is a matter of using the right tool for a job. An OODBMS would be nice, and there are products out there for that. But code sharing (what you were talking about before) and object orientation are not the same thing. Granted, regular Informix-4gl is not an object oriented, but code sharing is still possible, just as it is in C. > While I'm at it, does 4gl have a symbolic debugger that's anywhere near > as good as gdb? Not that I know of, but it isn't really needed. You don't get core dumps (usually :-) with a 4gl program. Usually you get a message that tells you what caused the error and what line it occurred on. Debugging is a relatively short proccess in 4gl when compared to C or C++ (at least for me). 4gl's were designed to make a subset of applications programming easier. I think that they have done that job well. C programmers complain that they can't do what they do what they want. But C isn't the answer to every problem (maybe most, but not all :-). It would be foolish to re-write (there is that re-using issue again :-) a database system in C++ simply to be able to use C++ code sharing and OOP features. Purchase a DBMS and a 4gl that suit your needs and go with it. -- -- Bradley M. Kuhn INTERNET: rhlab!bkuhn@uunet.uu.net OR bkuhn@loyola.edu UUCP: ...uunet!rhlab!bkuhn