[linux-l] Was mich an WebApplikationen immer und immerwiderAnkotzt...

Volker Grabsch vog at notjusthosting.com
Di Sep 30 15:52:35 CEST 2008


Steffen Dettmer <steffen at dett.de> schrieb:
> Eigentlich sollte ja SQL von der DB abstrahieren, wie C vom
> Compiler abstrahieren sollte. Schade, dass man das nicht
> geschafft hat.

Ja, das ist wirklich eine Schande, zumal es ja einen SQL-
Standard gibt. Einfache Datenbank-Anwendungen, die keine
herstellerspezifischen Features benötigen, sollten mit jeder
DB laufen. *sigh*

Dennoch wird man bei komplexeren Anwendungen ohnehin
herstellerspezifische Features nutzen, z.B. spezielle
String- oder Datums-Funktionen.

> Ja, eben! Viele denken scheinbar ausschliesslich in irgendwelchen
> imperativen Programmiersprachen (C, C++, Java, PHP, Perl, ...),
> und in 3GL (iterationen von Elementen einer Menge etc) und kaum
> in (aus Datensicht) höhreren Sprachen wie SQL (4GL). 

Ja, es ist wirklich schade, dass SQL von vielen Leuten nicht
als Programmiersprache anerkannt wird. Dabei ist es eine hervorragende
Programmiersprache. Nur eben kann man damit keine GUI oder Webanwendung
direkt bauen, sondern muss das für ein kleines Zusatzprogramm in einer
anderen Sprache schreiben.

Leute beschweren sich, dass MySQL-SQL-Code nicht unter PostgreSQL
läuft, oder andersrum. Aber niemand beschwert sich, dass eine reine
Apache+PHP - Installation nichts mit Python-Programmen anfangen kann.

Ich finde daher diese Diskussionen um DB-Kompatibilität etwas
albern. Sicher, man sollte sich nicht von einem einzigen Hersteller
abhängig machen, aber genau deswegen nimmt man ja auch eine
freie DB, genauso wie man auch bei Programmiersprachen darauf
achtet, dass es freie Compiler/Interpreter gibt.

Es ist natürlich weniger Aufwand für den Admin, wenn alle Anwendungen
das gleiche DB-System nutzen können, aber das selbe Problem hat
man mit Programmiersprachen auch. Ich würde sogar behaupten, es
ist für einen MySQL-Admin leichter, eine PostgreSQL-DB aufzubauen,
als für einen Apache+PHP-Administrator das Aufsetzen eines Mongrel+Ruby.
Inklusive Fine-Tuning, versteht sich.

Will sagen, ein PHP+MySQL - Projekt ist nicht nur "böse abhängig"
von MySQL, sondern auch von PHP. Von einem solchen Projekt wird
dann verlangt, auch PostgreSQL zu unterstützen - aber niemand
fordert, dass es neben PHP auch Python- und Ruby-Interpreter
unterstützen muss.

Ich denke, es wäre nicht verkehrt, eine Anwendung zu schreiben,
die z.B. nur auf PostgreSQL läuft, aber über sehr einfache SELECT,
INSERT, UPDATE-Befehle angesteuert werden kann (alles andere
übernehmen View und Trigger). Das Frontend kann dann leicht in
verschiedensten Sprachen geschrieben werden und ist somit
austauschbar.


Gruß,

    Volker

-- 
Volker Grabsch
---<<(())>>---
Administrator
NotJustHosting GbR



Mehr Informationen über die Mailingliste linux-l