On Wed, Jun 13, 2018 at 6:52 PM, Alan Campin <alan0307d@xxxxxxxxx> wrote:
If I am working C# or Java or a host of other languages, do I have a
pre-compiler? No, SQL is native.
The precompiler makes it not native? I think I am even more confused
than Jon about what constitutes "native" here.
RPG needs the same thing. Tight integration, not clunky RPG III program
calls.
I don't know what the SQL support is like in C# or Java, but I would
imagine that Python is included in and representative of that "host of
other languages" you were talking about.
In Python, the SQL statements are not (pre)checked for syntax or
semantics. They are just strings. There is no binding of Python
variables with SQL. You can use prepared SQL with placeholders, but to
me that feels like copying parameters by value into SQL, not
"binding". And the values that are output by SQL just arrive in Python
as a sequence of values, also not bound.
Now, it so happens that I find it supremely easy and convenient to
work with SQL in Python. Much, much easier and more pleasant than in
SQLRPGLE. But I wouldn't call Python's SQL support "more tightly
integrated" than RPG's, and I wouldn't call it "native" at all. It's
certainly "calling some other program" to accomplish the SQL.
I did notice that you made a distinction between (OPM-style) program
calls and DLL calls. I don't see how the precompiler favors one and
precludes the other.
John Y.
As an Amazon Associate we earn from qualifying purchases.