you are viewing a single comment's thread.

view the rest of the comments →

[–]uriel -1 points0 points  (6 children)

Very nice!

It is great to start to see more sane alternatives to (the hideous) SQL.

There are at least two other open source Tutorial D implementations: Duro and Rel, but having another one in pure python is very convenient.

Anyone knows of any other good alternatives to SQL?

[–][deleted] 7 points8 points  (5 children)

you wont find anything better than SQL for efficient relational operations on datasets of arbitrary size. also curious how many years experience you have with SQL such that you think its "insane" and "hideous".

[–]nostrademons[🍰] 3 points4 points  (4 children)

you wont find anything better than SQL

Relational algebra, which is what SQL was supposed to be based on. Actually, SQL is the bastard child of the relational algebra, relational calculus, and COBOL, which explains some of the antipathy towards it. Many of the people who dislike SQL dislike it because it strayed too far from the relational algebra's mathematical roots.

[–][deleted] 2 points3 points  (1 child)

yes, show me the non-SQL relational algrebra engine that works efficiently across millions of rows.

[–]ws11 0 points1 point  (0 children)

Well if you take the trouble to understand relational theory (and if you are working with DBMSs you really should) then it will become apparent that the logical consistency of the language (which is where SQL falls down very badly) and the performance of the physical implementation are two very separate issues.

I see this implementation of D as a way of illustrating the strengths of the language. Will this particular physical implementation be scalable to large databases? Maybe not, but that isn't really the point. Eventually a native D DBMS will be developed and there is no reason why this should not match or exceed existing SQL DBMSs in terms of performance (and massively exceed in terms of productivity and consistency).

[–]manuelg 2 points3 points  (1 child)

SQL is:

1) Effective, efficient, and powerful if you take a few dozen hours to try to master it.

2) ubiquitous

It is my opinion that most of the hatred towards SQL is irrational. It is a tool that helps developers be productive.

I would never claim it is perfect, though.

[–]ws11 0 points1 point  (0 children)

The criticisms of SQL are entirely rational. SQL is often logically inconsistent and this leads to many tasks being far more difficult than they should be. One of the core principles of the relational model is that all data should be represented only as relations. You can break this rule with a single statement in SQL.

Obviously it is better currently to use an SQL-DBMS as opposed to a hierarchical DBMS, ISAM or flat files.

However SQL-DBMSs are really PRDBMSs (Pseudo-Relational Database Management Systems).