Database programming language review

I am currently searching for anything that calls itself a "Database Programming Language", and in particular any reviews or helpful comparisons.

The purpose is something of a long term hobby project, non-commercial but also non-academic. I'm most interested in languages that have at least some prospect of finding users with real problems to solve and real data to manage, but I'm also interested in more esoteric ideas for their future prospects.

My list currently includes (no particular order) : Datalog, DBPL/Tycoon, Dataphor/D4, Tutorial D, Business System 12, Rel Project, Kleisli, Xduce, Links, Cduce. I would be interested to add to the list.

It would be helpful to know of any confirmed deaths. In particular, it's impossible to Google for Links. Does it live?

I'm working my way (slowly) through the C2 Wiki -- bit of a mixed blessing -- and I know about the DBPL conference and the DBLP bibliography site (confusing). Other resources would be appreciated too.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Is this the Links you mean?

It doesn't seem so right off, but as a "full stack" programming language it has a database component as well as conventional front-end and back-end translations.

Well, well, now

I'm currently working on a data driven programming language. The main idea is to have a structure in which any data can be stored. When we have this structure, dynamics can be programmed by monitoring any data for any changes and when a change happens, we can stitch another data change to that event (something like 'insert/delete/update record xyz ON EVENT boolean uvw"). Events would be noted in a form of boolean and when event expression becomes true, the event consequence would be triggered (changing another data).

So, if we have input devices as data that changes by low-level call, we can directly or indirectly stitch output devices data to input change and there we have a data driven programming language.

This is a (a little bit old) specification of my little language: document (already published here). Things changed since I wrote this one, so a new version is somewhat changed to profounder form.

Thanks for attention, I just thought you might be interested in this option of the future too.

One of the future uses would be some structured spreadsheet that reminds of this example: test

Oh, not to forget

If you are interested in a visual defining database, take a look at a little article I wrote: article

K and Mumps both include

K and Mumps both include database-like facilities. Ur/Web integrates closely with a relational database.

Status of Links

Links hasn't really been maintained since early 2009 (and the web page is out of date). We are in the process of reviving it, though, and it is now hosted on GitHub.

A couple of other research languages with database-oriented features you might like to add to the list: Ur/Web and SML#.

Thanks for the pointers

SIRA_PRISE, RXO: excellent additions.
LDL: I thought it was dead, but it seems not.
Conquer: not sure about that one.
LINQ: know it well.
Wikipedia: I should have mentioned that.
K: Not sure whether I want to tackle the APL family. Probably worth a look.
Mumps (and MIIS and Pick and xBase): seem to be blind alleys. Not much has happened in a decade or two.
Ur/web: worth a look.

Thanks for all the links. The list is starting to develop some interesting family groupings: D, ML, SQL, J. Hmmm.

My somewhat flippant comment about the difficulty in searching for names like Links (and K) is not any difficulty in finding the primary web site. The problem is that it's hard to find other resources that refer to it, and thus to decide if it lives.

As a developer that start

As a developer that start with FoxPro and know what is to be in a environment where databases are natural, I truly like this way:

I have dream to build a language, and this way look neat

And before Foxpro

From the sound of it, the goals of ALF are very close to what I have in mind but not embedded in ruby. If relations (tables/sets) are the Data, then in what should we write the Algorithms to create the Programs (with apologies to N Wirth)?

[I go back to dBase II, Clarion, Dataflex, Btrieve, before anything that had SQL in it. I don't think the promise of those early attempts has been fulfilled in modern 3GL+SQL+ORM. We can do better.]

I understand that alf is

I understand that alf is only about relations and nothing else. But as show with LINQ you can go very far, so you can operate in list/dicts etc with this kind of stuff (ie: think that list/dicts are tables too).

You can check foxpro manuals to see how it feel. Back them, when I have NO IDEA of hashtables/list/sets we do everything on top of fox tables (ie: tables was our only first structure to operate on), and build complex/complete apps (later I discover that fox have arrays and other stuff, so it was not limited, simply that is how our teacher teach us ;)).

So, of course is necessary to build more than alf show. For example is just a lib for python, so you have python + what alf have.

I have thinking in build a language like Alf + some functional + Go object system/go channels + on top of luajit but I still a noob on this area..

Hi, are you interested in

Hi, are you interested in pursuing this project?

I have a lot of info recollected and ideas about this. Plus, I was a very good fox developer so I know what is the feel for this kind of tools. Part of my routine is interface with a dozen of database engines/stores, but with schemas & data that suck!.

Also interested in try to build a DataOriented/RelationalLanguage...

Yes, I'm still working on

Yes, I'm still working on this and very much from the relational language point of view. See this for a new post and a couple of links.

Hi again, the link you

Hi again, the link you provide not work at all.. can you update it?

Andl website

Maybe one of these December posts is the post in question. Since then, the rest of the Andl site has been built up, and it looks like the project has SQLite support and lots of runnable examples.

The biggies

I'd think if you are looking for non academic users of open source database languages I'd be thinking the BI / ETL tools and the big data stuff. So things like Kettle (flow based language for Pentaho), Pig, Jaql...

UserLand Frontier

UserLand Frontier combines a Lua-like PL with a hierarchical database editor with some rich data types (including e.g. outlines for document data).

And it has the distinction of being the basis for the first version of LtU!