Mit welcher Programmiersprache Web-Oberfläche für Datenbank programmieren?

5 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Erfinde nicht das Rad neu. Stecke nicht Aufwand in etwas, was es bereits (stabil und getestet) gibt. Postgres bietet eine riesige Palette an Tools, die euren Anforderungen womöglich schon gerecht werden: https://wiki.postgresql.org/wiki/Community_Guide_to_PostgreSQL_GUI_Tools

Meine folgenden Antworten sind daher erst einmal nur hypothetischer Natur.

Erfahrungen hab ich bisher eher im Bereich von Client-Seitiger Software (zb VBA, SPS, C) (...)

Würde man auf deine Erfahrungsliste zurückgreifen, könnte VB.NET in Kombination mit ASP.NET eine Option sein. Ansonsten in der Wahl zwischen PHP und Python letztgenannte, aufgrund des anderen Themengebiets, bei dem du dich bereits in die Sprache einarbeiten musst.

(...) weil der Server ja schon vorhanden ist (...)

Welchen Server meinst du? Den Datenbankserver oder den Webserver? Von letzterem bist du bei deiner Wahl einer Sprache abhängig.

Weit verbreitet ist der Apache HTTP Server, welcher nach Konfiguration sowohl PHP und Perl, als auch Python interpretieren kann. Weitere bekannte Server sind bspw. der IIS-Webserver von Microsoft (für .NET-Applikationen und PHP), Apache Wildfly und Apache Tomcat (für Java) oder die nodeJS-Plattform, auf der man mit dem HTTP-Modul sehr leicht einen Server (für JS-Anwendungen) implementieren kann.

Bevor eine Anwendung entwickelt wird, sollte man sich darüber erkundigen, welche Sprachen von welchem Webserver unterstützt werden. Alle Möglichkeiten (an Server und Konfiguration dessen) habe ich in meinem obigen Text übrigens nicht aufgelistet.

Ich möchte nur verstehen warum andere lieber mit Python arbeiten und welche Vorteile es gegenüber php und umgekehrt hat.

Mit PHP kommst du in der Tat schneller zu visuellen Ergebnissen. Die Sprache ist direkt für die Entwicklung von Webanwendungen konzipiert. So findest du auch schnell die Funktionen (bereits implementiert) vor, die du als Webentwickler benötigst (Bsp. mail, mysqli- oder CSV-Funktionen um schnell und einfach mit MySQL-Datenbanken kommunizieren oder CSV-Dateien auslesen zu können, usw.).

Sprachlich bewertet lässt PHP viel zu (bspw. unterschiedliche Rückgabetypen) und nimmt so einiges ab (bspw. Typkonversion). Dies ist auf der anderen Seite allerdings wieder problematisch, weil es Situationen gibt, wo sich die Sprache - zumindest auf den ersten Blick - komisch verhält.

Ein Beispiel:

print(false);

Als Entwickler wäre man es gewohnt, hier entweder zumindest einen Fehler zu bekommen (da false keinen String darstellt) oder die Ausgabe false. PHP hingegen wandelt den boolschen Typ in eine leere Zeichenkette um und gibt die aus.

Neben der Tatsache, dass PHP einen ziemlich schlampigen Stil zulässt und irgendwie sogar fördert, macht sie es gar selbst nicht bei ihren Funktionen besser. Diese wechseln ab und an den Konventionsstil (Snake- vs. CamelCase-Notation), verhalten sich in ihren Rückgaben nicht immer intuitiv oder sind in den schlimmsten Fällen nicht einmal mehr vertrauenswürdig (Stichwort: Dateien schreiben/lesen). Dies gilt unter Umständen auch für die Dokumentation - zumindest war es vor einigen Jahren noch so.

Im Gegensatz dazu ist Python stabiler / geordneter. Die Sprache sollte genauso schnell wie PHP erlernbar sein, benötigt zur Webentwicklung aber ein paar Module / Bibliotheken / Frameworks (wie Flask oder Django). Lies dazu hier.

Also PHP wird heutzutage im professionellen Umfeld nichtmehr verwendet.
NodeJS ist eine Option (Serverseite) und für die Web Oberfläche javascript, html, ajax (Clientseite).

Der Zugriff auf die Datenbank ist dann nur Serverseitig erforderlich

Also PHP wird heutzutage im professionellen Umfeld nichtmehr verwendet.

Leider stimmt das nicht.

0

Doch tut es.

Zumindest wenn man Klitschen und veraltete Mittelständler aussen vor lässt, ist PHP nur noch ein Relikt und wird hauptsächlich in veralteter Software genutzt

0
@Proknoz

Hast Du für diese Aussage eine Quelle? Einige nicht ganz so unbekannte Redaktionssysteme wie Wordpress, Typo 3, Yoomla sind in PHP programmiert.

Lt. https://w3techs.com/technologies/history_overview/programming_language steigt die Verbreitung von PHP kontinuierlich und ist mit ca. 80% die am häufigsten serverseitig verwendete Programmiersprache zum Erstellen von Websites (gefolgt von ASP.net mit 12%). Sind das alles die Seiten von veralteten Mittelständlern und Klitschen wie Google und Facebook (die beide zumindest teilweise in PHP programmiert sind)?

1
@Proknoz

Du widersprichst dich ja bereits in den ersten beiden Sätzen: Doch ..., wenn ....

Sehr viele Firmen (auch Startups) realisieren noch immer mit PHP die Wünsche ihrer Kunden. Dies können bspw. Webshops sein (wie Toom, https://droon.ee/ oder Thalia), Erweiterungen (Webformulare u.ä., welche in andere Seiten eingebunden werden), Seiten für Banken (Ing.-DiBa) oder Marken (Hidrofugal, Aldi-Talk, ...). Diese Liste lässt sich noch weiter ergänzen. Neue Webseiten / Relaunches zähle ich mit dazu.

International bekannt sind außerdem noch Yahoo!, Wikipedia oder Tumblr, die u.a. auf PHP basieren.

0

Nein, wie gesagt PHP wird nur genutzt weil bestehende Systeme damit geschrieben wurden und eine Umportierung zu teuer wäre.

0

Die erste Frage sollte sein was läuft auf meinem Webspace?

Hast einen eigenen Server (vServer, root Server) dann kannst du ja machen was du willst. Auf den meisten Hosting-Paketen wird kein Python laufen also wirst du PHP verwenden müssen.

Im Grunde sind beide Sprachen nicht schwer zu lernen und mit beiden bekommt man es hin. PHP läuft so gut wie auf jedem Webspace. Python ist deutlich weniger weit verbreitet - da liegt der größte Unterschied drin.

Woher ich das weiß:Berufserfahrung – Softwareentwickler f. Web, Win. & Linux (seit 2001)
würde sich Python anbieten weil ich mich eh wegen einem anderen Thema da einarbeiten müsste

Und damit ist Deine Frage beantwortet.

Das Erlernen von PHP ist genauso einfach/schweirig wie das Erlenen von Python. Da sich für Dein Vorhaben beide Sprachen eignen und Du sowieso Pythen lernen musst/willst, setz Dein Vorhaben mit Python um.

Alex

Such nach Python Django. ;)