21 ms·
Heavens, no! Ever heard of PL/SQL? Same thing. Oracle ripped the entire ADA language into their database. IBM DB2 clones most of it, courtesy of EnterpriseDB
by chasil 9y ago
Heavens, no!
Ever heard of PL/SQL? Same thing.
Oracle ripped the entire ADA language into their database.
IBM DB2 clones most of it, courtesy of EnterpriseDB (Postgres bolt-on).
People forget this enormous ADA audience.
- rbanffy 9y agoI'd say PL/SQL is a huge technical failure. Its continued use is also a huge failure, but that one is a management one. There is "successful" and there is "widely used because corporate mandated it". edit: OK, I was being cruel. People use it and it solves problems, but it's NOT a joy to use.
- snuxoll 9y agoNot much of an Oracle fan, but pl/pgsql is heavily derived from pl/sql and I use it on a near daily basis, can’t really complain about it for the purpose it fills. Yes, some legacy applications do some really nasty things in database procedures - but that doesn’t make the tools themselves bad.
- pjmlp 9y agoSorry, but it is a joy to use. I will always favour PL/SQL and the related tooling over SQL Server, DB 2, Informix, PostegreSQL languages.
- bluejekyll 9y agoWow, we have different definitions of Joy... I always treated PL/SQL as a necessary evil for performing specialized atomic operations, or merges, or other such things where SQL wasn't enough. I never enjoyed it, but I had to do it. I'm very tempted to see about taking something like this, https://github.com/thehydroimpulse/postgres-extension.rs https://github.com/thehydroimpulse/postgres-extension.rs, and using a language I actually like. That example needs to be updated, but seems pretty straight-forward. Edit: It would be amazing to have a rich library in Rust that could be using to write DB extensions as a replacement for pgsql, etc. There aren't that many things that need to be wrapped in the API from Postgres: https://www.postgresql.org/docs/10/static/xfunc-c.htm https://www.postgresql.org/docs/10/static/xfunc-c.htm
- pjmlp 9y agoI prefer to do database work on the database, instead of wasting network traffic with useless data. Never was into a project where the overhead of writing DB independent code was worthwhile. Usually moving to another DB meant rewriting big portions of the application anyway. Stored procedures are also a good escape hatch for some of the ORM limitations regarding SQL capabilities.
- bluejekyll 9y agoI think you misunderstood my post. I want stored procedures too, bc they are necessary in certain cases. But I want them in a language I like. The repo I linked to is for C based extensions added to Postgres but written in Rust, that could replace pgsql for stored procedures.
- pjmlp 9y agoI did understood that, but unless the language has 1:1 of SQL declarative power, it is a no go for the majority of DBAs. Hence why Perl, Java, .NET as stored procedures have been a failure to SQL extensions.
- bluejekyll 9y agoAh. Now that’s a challenge...
- rbanffy 9y agoThat's a cultural problem, not a technical one.
- rbanffy 9y agoRunning code wherever the database thinks is best is a nice thing, but nothing really prevents it from being implemented in a more flexible language than something built on top of SQL. SQL is powerful, but it's a DSL.
- nabla9 9y agoThis completely wrong. PL/SQL used Ada as a model for the syntax. The semantics is completely different. Just like JavaScript is not C, PL/SQL is not Ada in any meaningful way.
- chasil 9y agoAda has functions, procedures, and packages. So does PL/SQL. C has unions. Show me the unions in JavaScript. Unions are there because C is a systems language. Show me a kernel written in JavaScript.
- tytytytytytytyt 9y ago> Ada has functions, procedures, and packages. So does PL/SQL. Lots of languages have those. That doesn't mean one copied the other. Are you serious?
- koolba 9y ago> Show me a kernel written in JavaScript. https://bellard.org/jslinux/ https://bellard.org/jslinux/
- detaro 9y agoThere is no kernel written in JS there. It boots normal kernels compiled for the listed CPU architectures.
- nickpsecurity 9y agoAda is a systems language, too. It was used in many OS's. Several are below: Army Secure OS (A1-class design) http://www.dtic.mil/dtic/tr/fulltext/u2/a340370.pdf http://www.dtic.mil/dtic/tr/fulltext/u2/a340370.pdf Fault-Tolerant, Parallel, Mainfraim-style OS/Platform https://en.m.wikipedia.org/wiki/BiiN https://en.m.wikipedia.org/wiki/BiiN MarteOS Real-Time OS https://marte.unican.es https://marte.unican.es Muen Separation Kernel https://muen.codelabs.ch https://muen.codelabs.ch
- gaius 9y ago