Bruce,

At 07:46 AM 9/7/99 -0400, you wrote:

>> >Why build for a single environment? Java is not a single environment.
>> >DB2 CS and UDB were not for single environments. If the interface is
>> >defined and built as SQL statements, why add the expense on the 400
>> >platform of trying to retrofit the features into DDS?
>> 
>> 1)  DDS has long been the standard for defining native data on the /400.

>And COBOL has long been the standard language for defining business
operations.

 Not on the IBM Midrange, which is what we're dealing with here.

>> 2)  We still have to define all other file types w/ DDS, so it's not going
>> away.
>
>No. You don't have to define any file type with DDS, except for the
>multiformat logicals (which do not comply with Relational rules) and
>even they can be done away with by using Match Record logic in RPG.
>(that's II, III or IV!)

 Do you mean *PRTFs, *DSPFs and *ICFFs will be replaced by SQL??  :-)
(Rehtorical - I realize it was already addressed.)

>> 3)  Small point, but does SEU perform basic syntax checking for SQL
>> definitions?  If not the compile / edit cycle is lengthened.

>No, but IBM is not going to enhance SEU either. CODE and it's associated
>editor, LPEX, maybe...

 That's part of my point.  Since IBM isn't enhancing SEU, ut's becoming
more and more difficult to use some of the new features.  As a consultant I
often don't have much control over what tools shops own.  This is a
reality.  Blocking access to a system feature because it hasn't been built
into another mainstream area (i.e. column security and DDS) is adding
insult to injury.


>> 5)  Despite what the marketing people @ IBM would like you to believe, SQL
>> is not universal.  No language is, even Java (although that is probably the
>> closest.)  From a practical standpoint, most code written on one platform
>> is not portable to another w/o a lot of work.  We all need OS services to
>> get the job done and no 2 OSs are the same.  Now add the (seemingly)
>> preferred method of embedded SQL in RPG and the solution makes even less
>> sense.  By and large RPG is not a portable language at all, since other
>> platforms don't support it.  What does kludging in a different I/O access
>> method buy you?
>
>NO. NO. NO. It is NOT the marketing people of IBM. I do not listen to
>the marketeers, I prefer to listen to the developers. While SQL is not
>completely standard across all platforms, IBM does (more so than other
>vendors) try to adhere to the standards. As for the non portability, I
>have found it to be MUCH more portable than DDS.

 Do the IBM developers set the policy of other vendor's SQL
implementations?  Of course not. The reality is that there are subtle
differences that often have large ramifications.  But putting that aside,
in full blown business applications, embedded SQL does little to promote
portability! The entire application would have to be rewritten anyway, and
the SQL often makes the code more difficult to read, so what was gained?

>> 6)  SQL cannot grow the same way native commands can, since IBM claims to
>> follow ANSI standards, which means approval by committee, not a short
>> process. If they put in extensions that are not ANSI compliant, then the
>> claim of portability just went out the window.

>Well now, if SQL cannot grow the same way native commands can, then
>where did common table expressions come from. Did I miss something? Is
>this available in command format? No.

 I don't currently have access to a R4 machine, so I'm not familiar w/
"common table expressions."  What is this?  How is this implemented?  If
it's what I think it is, then there's no technical reason that Rochester
couldn't implement this fairly easily in DDS.

 BTW, I assume that this a standard ANSI SQL feature, right?

>> 7)  The SQL pre-compilers are notoriously behind the rest of the language
>> features.

>Language features? Like what? Called procedures? That's what User
>Defined Functions are.

 Nested /COPY functions, for one.  /IF DEFINED compiler directives.  The
need to have the field definition placed in the code before encountering
that field as an SQL definition (even RPG II didn't have this limitation!!)
 Correct me if I'm wrong on any of these limitations.

>> 8)  I personally find SQL great for simple ad hoc queries, updates and
>> deletes, i.e. set-at-a-time processing.  It's poor for record-at-a-time and
>> complex processing.

>The word "poor" is the problem here. Is is faster than native reads and
>writes? No. That's a given. Complex processing? Depends on the release.
>I have found that at V4R2 and above, performance of complex processing
>(say common table expression join with distict selection for specific
>subsets) can easily perform better than program logic to access and
>process the same information.

 I'm not going to get into performance issues, because that's a moving
target between end user environments and OS releases.  I personally find
complex nested SQL statements unintuitive and difficult to debug.  Most
HLLs do record at a time processing, i.e. read a record, do some calcs, and
then some sort of output.  A set at a time language embedded in a record at
a time type program leads to some kludgy code.

>>  We pay good money for OS/400, compilers and tools.  Is IBM pushing SQL
>> because they've structured it as an additional fee product?  There is an
>> initial buy in cost and an ongoing maintenance cost.  It's up to the bean
>> counters to make sure the money gets distributed properly. As an aside,
>> we're long overdue for CL (and DDS) enhancements that several hundred
>> thousand customers have been paying maintenance on for years.
 

>The initial buy is is also on the RPG compiler. You buy the compiler
>option, not the functionality option. Your SQL program can run on ANY AS/400.

 All I'm saying is that until the functionality is available across the
board IBM shouldn't be trying to push this on us by refusing to upgrade
certain areas.  I certainly can understand that they want the upgrade
revenue stream to keep coming, but I think that Rochester has been skating
by in a few areas by ignoring the customer.  Al can give you a list of
thing he and others have been speaking up about in Common that we've heard
nothing about for the longest time. (Hint: how many CL *language*
enhancements have we had in the last 5 years?  I can think of two: %BIN and
allowing CL to become an ILE participant.)

 The same goes for any of the native development tools.

 -mark
+---
| This is the Midrange System Mailing List!
| To submit a new message, send your mail to MIDRANGE-L@midrange.com.
| To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com.
| To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.