PHP mit SQL und HTML zusammen so zum laufen zu bekommen, überfordert viele Einsteiger.

Normalerweise solltest du alles in UTF-8 kodieren, aber da PHP damit von Hause aus nicht komfortabel umgehen kann, bleibt dir nur, dich durch die Server- und DB-Einstellungen zu kämpfen, und alle Kodierungen auf einen Nenner zu bringen.

Wenn du auf Nummer sicher gehen willst, dass deine Umlaute überall richtig angezeigt, korrekt in der DB gespeichert, von PHP nicht verhunzt und in der HTML-Seite korrekt angezeigt werden können, dann bleibt dir eigentlich nur das gute alte ASCII als Kodierung und die Verwenddung von Entities oder Escape-Sequenzen in HTML. Aber das ist eigentlich Pfusch.

Und deine aktuelle Lösung mag im Moment zwar lokal bei dir funktionieren, wird bei einem Serverumzug aber garantiert größere Probleme verursachen.

Bitte informiere dich genau, wie PHP und MySQL zusammen arbeiten, und wie man eine Unicode-Kodierung fehlerfrei aufsetzt, die auch im HTML ohne bsondere Header auskommt. Alles andere ist auf Dauer nur Frickelei.

Viel Erfolg! :)

...zur Antwort
Finde ich nervig, das erschwert das Lesen.

Ich finde das ebenfalls schwachsinnig, allerdings muss man beachten, dass sich viele Frauen tatsächlich nicht angesprochen fühlen, wenn nur der "normale" Plural verwendet wird.

Deshalb reden Männer und Frauen auf dem Gebiet auch immer aneinander vorbei: Männern ist das tatsächlich egal, Frauen aber nicht.

Das gleiche ist es mit Vorbildern: Männer brauchen keine Vorbilder, Frauen aber unbedingt. Warum das so ist, und warum die meisten Frauen ohne Vorbilder kein Interesse an einer tachn. naturwissenschaftl. Sache entwickeln können, weiß man nicht, nur eben, dass es so ist.

Deshalb sollten Frauen verstehen, dass es für Männer tatsächlich völlig irrelevant ist, sich um sprachliche Feinheiten oder Vorbilder zu kümmern, und Männer sollten verstehen, dass diese Dinge für Frauen offensichtlich oft sehr wichtig sind.

Natürlich gibt es auch Ausnahmen, aber darum geht es jetzt nicht. Ich beziehe mich nur auf den größten Teil der Männer und Frauen im Durchschnitt.

Wenn also Frauen nach Vorbildern und gendergerechter Sprache schreien, ist das erst mal irgendwie nachvollziehbar ... wenn auch für mich persönlich nicht verständlich.

Und wenn Männer damit nichts anfangen können, dann ist das genauso nachvollziehbar.

Bei den Vorbildern ist die Sache einfach: Man muss nur mehr Poster mit weiblichen Wissenschaftlerinnen aufhängen.

Bei der Sprache ist das nicht so einfach, da Lesegeschwindigkeit und Textverständnis enorm darunter leiden, und das hat auch nichts mit "Gewöhnungssache" zu tun. Zumal fast immer der Sinn entstellt wird ... mal mehr, und mal weniger.

...zur Antwort

Weil ein Informatik-Studium viel mehr mit Mathematik, als mit Programmieren zu tun hat.

Außerdem lernst du dort Dinge wie Compilerbau und wichtige theoretische Informatik, die dir als Programmierer erst richtig ermöglichen vernünftig Software zu entwickeln.

Dafür brauchst du Kenntnisse in Logik (Aussagenlogik, Prädikatenlogik, usw.).

Und bei der Signalverarbeitung wirst du nicht weiter kommen, ohne die Funktionsweise einer Fourier-Transformation zu verstehen ... es sei denn du frickelst blind mit FFTW rum, ohne wirklich zu wissen, was du da mit deinen API-Calls eigentlich tust.

Desweiteren lernst du, warum man ohne tiefgehende Mathematikkenntnisse NIEMALS Verschlüsselungen und Zufallszahlengeneratoren selbst entwickeln sollte, was leider immer wieder Laien-Informatiker versuchen.

Alles in allem lernst du eine Art "Demut", und dass eben doch nicht alles so einfach ist, wie es scheint.

Fakt ist, dass ein Informatikstudium mit Programmieren eher wenig zu tun hat und du den Vergleich eher mit einem Mathematikstudium ziehen solltest.

PS: Aus meiner eigenen Erfahrung weiß ich, dass die meisten C++ und Java Entwickler ihre Sprachen nur sehr sehr oberflächlich kennen.

Da ich mir sehr sicher bin, dass das bei dir nicht anders ist, solltest du anstelle eines Informatik-Studiums vielleicht erst mal C++ und Java auf einem wirklich fortgeschrittenen Level lernen.

Damit wäre deiner Arbeit als Entwickler sicher wesentlich mehr geholfen.

Ob du Fortgeschritten bist, oder nicht, erkennst du daran, wie oft du eigene Allokatoren oder Iteratoren schreibst, ob du alle C++17-Features wie Fold-Expressions oder Static-Bindings nutzt, ob du Const-Correctess verinnerlicht hast und ob du Attribute wie [[nodiscard]] regelmäßig nutzt.

Falls du bei einem einzigen dieser Punkte nicht auf Anhieb weißt, worum es geht, dann halte ich ein Informatik-Studium in deinem Falle für unangebracht, da du du als Software-Entwickler erst mal deine aktuellen Fähigkeiten auf ein professionelles Niveau heben solltest.

Ansonsten: Mach dein Abi nach, und studiere was du willst. :)

...zur Antwort
Ja

PHP als "absolut schlecht" zu bezeichnen halte ich für übertrieben, da diese Sprache durchaus sinnvolle Einsatzzwecke hat.

Aber als "relativ schlecht", also im Verhältnis zu anderen Programmiersprachen, kann man PHP getrost bezeichnen.

Das hat m. p. M. n. die folgenden Hauptgründe, die so gehäuft in keiner anderen mir bekannten Mainstream-Sprache auftreten:

  1. PHP wurde für die serverseitige Programmierung entwickelt, bietet aber von Haus aus keine vernünftige und portable Möglichkeit der Synchronisation einzelner Prozesse. (Stichwort IPC: die SysV-Techniken gelten als überholt und führen schnell zu Deadlocks, PThreads bekommt man nur mit Zusatzmodul, welches nicht in der Standardinstallation enthalten ist, uvm.)
  2. Die Dokumentation auf php.net wirkt auf den ersten Blick übersichtlich, ist aber total kaputt. Es gibt kaum eine Funkion bzw. einen Aspekt, deren / dessen Seiteneffekte vollumfänglich in der Doku aufgelistet sind. Ohne die korrigierenden Kommentare darunter wäre man oft völlig aufgeschmissen. Aber selbst mit Kommentaren fehlen Teile der API-Docs schlichtweg, oder sind einfach nur falsch beschrieben, d. h. es gibt gravierende Abweichungen von dem, was beschrieben wird, und dem, was wirklich passiert. (Dazu muss man sich den Quelltext des Interpreters ansehen.)
  3. Die API ist total inkonsistent, sowohl im Bezug auf Parameterreihenfolge, Namensgebung von Funktionen, als auch dem Vorhandensein von Features aufeinander bezogener Funktionen.
  4. Anstatt Containertypen ordentlich für unterschiedliche Aufgaben anzubieten, hat man sich entschieden, eine Gottimplementierung namens "array" zu erschaffen, die intern eher weniger mit einem Array zu tun hat, als viel mehr einem Mischmasch aus Deque, Baum, Hashtable, und einigen weiteren herkömmlichen Containertypen. Diese Chimäre ist nicht nur vergleichsweise recht langsam, sondern frisst auch sehr viel unnötigen Speicher.
  5. Der Interpreter selbst ist in C geschrieben, und wenn man sich dessen Quelltext ansieht, fallen einem alle Code-Smells und Beispiele für schlechten Stil entgegen, vor denen selbst in Anfängertutorials gewarnt wird. Wie man einen sauberen Interpreter schreibt, kann man bei CPython sehen. Selbst ein uralter Perlinterpreter ist verglichen mit dem aktuellen PHP-Branch noch als "sauber" zu bezeichnen.
  6. Es fehlt eine "vernünftige" Unicode unterstützung. Die Betonung liegt auf "vernünftig" und schließt Workarounds mit den mb_XYZ() Funktionen aus, die noch nie eine wirkliche Alternative waren.
  7. Eine vernünftige Möglichkeit der Fehlerbehandlung fehlt völlig. Das ist einer der Gründe, warum gerade PHP-Entwickler so arge Probleme damit haben, da "Rückgabewert checken und evtl. Ausnahme werfen" eben meist viel zu viel Codebloat erzeugt und deshalb meistens gleich völlig weggelassen wird. (Das sieht man leider auch in fast allen Großprojekten!)

Es gibt noch mehr Punkte, und einige der oben genannten findet man tatsächlich auch bei anderen Sprachen, aaaaaaber niemals mehr als zwei davon gleichzeitig und in einer derart starken Ausprägung, wie bei PHP. (Und ich habe schon mit zich Programmiersprachen zu tun gehabt ...)

Es gibt allerdings auch einige wenige positive Punkte zu PHP:

  1. Neue Sprachversionen verfügen tatsächlich über einige wenige Sprachfeatures, die man von einer modernen Programmiersprache auch erwarten darf. (Auch wenn PHP hierbei erfahrungsgemäß immer ein paar Jährchen hinterher hinkt.)
  2. Seit PHP 7.x wurde die Geschwindigkeit des Interpreters massiv verbessert.
  3. PHP bringt seinen eigenen Webserver mit, den man mal eben für schnelles Testen anschmeißen kann, ohne sich einen ausgewachsenen Apache installieren zu müssen.

So, das wars. :)

Ich denke, dass ich meine Kritik ganz fundiert begründet habe, auch wenn ich mir Codebeispiele zu den einzelnen Punkten gespart habe.

Aber ein Software-Entwickler wird ohnehin sofort erkennen, was gemeint war.

Von daher muss ich sagen: Es gibt wirklich gute Gründe, PHP einzusetzen. Aber es gibt meistens noch mehr, die dagegen sprechen.

PHP ist nicht per se schlecht ... aber ganz offensichtlich schlechter (relativ gesehen!) als andere Sprachen.

Wenn man die Pro-Argumente "billig" und "überall verfügbar" weglässt, bleibt eigentlich nicht mehr viel, was FÜR diese Sprache spricht.

Aber dennoch sollte man PHP halbwegs nutzen können ... genauso wie viele weitere Sprachen. Denn nur so kann man die passendste wählen, und ist nicht auf die einzige angewiesen, die man kann. :)

...zur Antwort
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.