Precisamente ahí está el quiz de la cuestión: ¿Serviría de algo?
Aprendí xBase hace ya bastantes años, y poco recuerdo de él, la verdad, pero me parece un lenguaje muy interesante. Estoy pensando que el lenguaje del proyecto PSP pudiera acceder a la base de datos de forma directa, como en xBase/Clipper o COBOL (que también me parece un lenguaje muy interesante, por cierto), en lugar de utilizar componentes o bibliotecas externas, así que me interesa ver lo que se puede hacer.
En cierto modo el intérprete xBase sería una alternativa a los componentes SQL. Por ejemplo (hace mucho que no uso componentes SQL en Delphi, así que sed indulgentes conmigo):
Código Delphi
[-]
...
Query.Text := 'SELECT * FROM tabla';
Query.Open;
Query.First;
WHILE NOT Query.EOF DO
BEGIN
Query.Next;
END;
Query.Close;
...
Lo que usando xBase podría ser... (lo mismo, sed indulgentes y echadle imaginación):
Código Delphi
[-]
PROCEDURE HacerAlgo (VAR Registro: TRegistro_xBase)
BEGIN
END;
...
xBase.AddListProcedure ('HacerAlgo', @HacerAlgo);
...
xBase.text := 'USE tabla'#10+
'LIST ALL TO HacerAlgo';
xBase.Run;
...
No sé a vosotros, pero este segundo ejemplo me gusta bastante.
Por otro lado, un lenguaje genérico puede usarse "para cualquier cosa", incluyendo bases de datos. Tiene más donde experimentar y donde meterle mano. Con un lenguaje específico (como xBase) estás más limitado a la hora de experimentar con él.
[edito] Acaba de recordar que xBase incluye instrucciones para definir menús y formularios...