|
Mike
How convenient to leave out the world’s most popular business programming
language (JAVA) and only base your “trend analysis” on Microsoft
proprietary product like C#, ADO and LINQ that always has a MSSQL database
in back and like IBM i/DB2 runs proprietary SQL.
I admit that SQL is pushing other techniques aside when it comes to DB
access, but that doesn’t tell anything about SQL used as a programming
language for other functionality.
Today I also work with javascript/node.js as the backend where SQL is seen
as “just another external service with a downloadable connector” and a
performance bottleneck that should be kept within the narrow ANSI/ISO
standard for portability and only used in dedicated REST/CRUD services were
it, by the way, not is used to either form the end-output or is used to
translate raw input from the HTTP buffer since there are no way to convert
a raw form/url encoded and escaped POST/GET input streams to anything that
matches anything in SQL. So, there are in any case a mapping from the DB
format to the external I/O interface of the REST service. Besides that,
there are always preprocessing before you come to the actual DB connection
e.g. security check, load of user specific rules and metadata for
conversion etc.
Node is for the moment mostly used as backend for front-end-applications
but that covers about 80% of the entire programming done today and with the
exception of isolated REST/CRUD you generally don’t find SQL used in any
part of the development simply because there is no database but only data
stores in the form of objects that holds data (result sets) and has built
in methods to access the data – all done in OOP.
So, you have to see at the full stack infrastructure of all the programming
techniques and elements used in the whole application production line.
Personally I consider SQL as a great language to connect to an internal RDB
but mapping to/from external client formats is most often in my experience
too complicated and therefore better done in traditional programming
languages simply because the internal database design seldom are the hand
that fit the glove of the external format – if it was so everybody had
built EDIfact and X.12 (that just is other hierarchical formats in another
syntax than XML/JSON) for years with SQL and I have never heard that done.
Another thing is that if you run node.js the SQL connectors doesn’t return
neither XML nor JSON as intermediate result set but a javascript object
that besides the result set also contain basic metadata for each column but
still misses the metadata that maps internal formats to external formats
basically the obvious - dates in numeric fields or date format of a data
field, Booleans that may be Y/N but in the interface 1/0 but also code
lists where 1,2,3 perhaps means USD, EUR, GBP etc.
The more advanced mapping is perhaps based on user rules, ´where User A
wants dates in ISO and clear text in French and User B wants dates in MDY
and clear text in English where the DB maybe has text in Danish and the
I18N text is translated by the REST service by either an I18N repository or
maybe by calling Google Translate Service. BTW how do you extend SQL with
Google Translate API? And finally there is of course the security issues.
So when it comes down to complex production ready code there is no such
thing as simple one statement solutions and should you be able to do all,
you would probably end up with a 1200 lines one statement SQL so nothing is
gained.
As an Amazon Associate we earn from qualifying purchases.
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.