• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Feedback gewünscht Ist schon mal wem aufgefallen, dass....

sysop

Mitglied
vieles in HTML als non-Standard deklariert, abgeschafft oder auch als veraltet gekennzeichnet wird, was man dann doch durch sinnlose libaries wieder aufleben lässt?
Als Anlass nehme ich einmal dieses Thema: https://www.html.de/threads/mouseover-ff.56171/#post-382049

Wie bescheuert ist es eigentlich den zwar zugegebener Massen unnötigen (non-Standard) <marquee> TAG aus HTML verbannen zu wollen um ihn dann durch bescheuerten ellenlangen jquery-Code wieder zu implementieren.

Ähnlich sehe ich das mit der mysql extension in PHP. Millionen Scripte werden ab PHP7 nicht mehr funktionieren, weil sie mysql als extension verwenden, soweit ja OK. Anstatt aber einen professionellen wrapper beizulegen (ich habe mir meinen eigenen gebaut), der mysql auf mysqli verbiegt, wird lieber in Kauf genommen, dass ganze Serverfarmen umprogrammiert werden müssen. da überlegt man doch gleich einen Wechsel auf python o.Ä.

Manchmal zweifle ich, dass Fachleute Standards definieren...
 
Werbung:
Ähhm, Plauderecke, folglich schlicht plaudern?

Es kann ja eigentlich nicht sein, dass ich der einzige bin, dem es seltsam anmutet, dass er alten Quellcode umschreibt, damit dieser dem aktuellen Standard entspricht und dann über z.B. js veraltete Standards wieder implementiert.
Oder anders gesagt, im verlinkten Fall oben:

a.) <marquee> aus HTML entfernt um
b.) "<marquee>" über js wieder zu implentieren.

a ist nicht Standard konform, b aber dann wieder schon.
Ich beobachte das schon länger und finde es einfach seltsam.

Ich muss aber auch nicht plaudern...
 
Werbung:
Ähhm, Plauderecke, folglich schlicht plaudern?

Es kann ja eigentlich nicht sein, dass ich der einzige bin, dem es seltsam anmutet, dass er alten Quellcode umschreibt, damit dieser dem aktuellen Standard entspricht und dann über z.B. js veraltete Standards wieder implementiert.
Oder anders gesagt, im verlinkten Fall oben:

a.) <marquee> aus HTML entfernt um
b.) "<marquee>" über js wieder zu implentieren.

a ist nicht Standard konform, b aber dann wieder schon.
Ich beobachte das schon länger und finde es einfach seltsam.

Ich muss aber auch nicht plaudern...

<marquee> hat nichts im Standard zu suchen, da sind wir uns wahrscheinlich alle einig.

Aber ich verstehe leider nicht ganz wo genau das Problem liegen soll.
Wie würdest du denn sonst einen solchen Effekt erzielen? Nur weil dieser optische Effekt früher oft missbraucht wurde, heißt das ja nicht dass er gar keine Berechtigung hat.

Gerade mit Web Components ist es ja beabsichtigt eigene HTML-Elemente mit erweiterter Funktionalität definieren zu können.
mMn. könnte man sogar in Frage stellen ob Dinge wie <input> zukünftig nicht komplett aus dem Standard genommen werden sollte und jeweils per Web Components realisiert werden sollten.
 
Custom-Tags von Web Components prefixed man (bsw. <my-input>), um Verwechselungen mit aktuellen oder Zukünftigen HTML-Elementen zu vermeiden. Außerdem handelt es sich bei diesen Tags lediglich um Hooks, welche den Scope einer JavaScript-Klasse und der zugehörigen Styles festlegen. Die müssen nicht unbedingt im Dokument gerendert werden, und wenn das zur Zeit noch passiert, dann deshalb, weil längst nicht alle Browser die ShadowRoot kennen.
 
Ich fand den <marquee> Effekt aber auch schon immer sauhässlich, da ist eine Implementierung per JS eigentlich das einzig vernünftige. Mir fallen aber auch außer dem <marquee>-Tag keine weiteren Beispiele ein.
Das mit der mysql-extension in PHP hat doch aber auch performante Ursachen , da mysqli bei großen DB´s schneller ist, oder? So etwas finde Ich eigentlich nur konsequent, da sich die Technologie nun einmal stetig weiterentwickeln muss.
 
Werbung:
Moin,

ich finde es sehr gut, dass wir heute Standards wie ECMAscript haben um proprietären Code zu vermeiden. JS ist der richtige Weg zur DOM Manipulation und marquee, der falsche Ansatz, ist zurecht deprecated und wurde doch noch lang genug unterstützt.

Außerdem ist es gut, sich von Altlasten konsequent zu trennen, die aus heutigem Stand ersetzt werden sollten. Das Ende des Supports einer Technologie oder der Switch zu PHP7 geschehen ja auch nicht abrupt.

Dahingehend auch sehr begrüßenswert ist der Modulare Ansatz der sich stärker durchsetzt. Nötiges regelmäßiges Refactoring sind hier ein guter Weg und vermeidet so auch einfacher die Entstehung von Legacy-Code.
 
<marquee> hat nichts im Standard zu suchen, da sind wir uns wahrscheinlich alle einig.
Sind wir, sollte auch nur als Beispiel dienen. Dass marquee nie wirklich Standard war habe ich aber auch extra dazu geschrieben.
mMn. könnte man sogar in Frage stellen ob Dinge wie <input> zukünftig nicht komplett aus dem Standard genommen werden sollte und jeweils per Web Components realisiert werden sollten.
Das wäre ein Ansatz, mit dem ich mich durchaus anfreunden könnte, würde allerdings HTML irgendwie ad absurdum führen, da ich über Custom Elements letztendlich jeden Tag selber definieren könnte. Das würde eine wirklich freie Auszeichnungssprache hervorbringen.

Das mit der mysql-extension in PHP hat doch aber auch performante Ursachen , da mysqli bei großen DB´s schneller ist, oder? So etwas finde Ich eigentlich nur konsequent, da sich die Technologie nun einmal stetig weiterentwickeln muss.
Das Problem ist da ja auch weniger die mysqli extension, als vielmehr die Syntax, dass man also huderttausende Scripte umarbeiten muss, weil man die Syntax einfach geändert hat.
Anders formuliert, ist es mir (wie wahrscheinlich allen anderen Entwicklern auch) vollkommen egal, was in der Extension (sprich der lib) passiert und wie dort auf die Datenbank zugegriffen wird. Eigentlich ist auch egal, ob man nun mysql_query() oder mysqli_query() schreibt, solange die extension "weiss" was sie machen soll.
Die Änderungen wurden hier schlicht an den Script-Programmierer weiter gegeben und nicht im Hintergrund von PHP abgewickelt, wo sie meiner Meinung nach aber hin gehören.
So musste ich mir einen eigenen wrapper schreiben, der alte mysql_.. Befehle als Funktion zur Verfügung stellt und nun die mysqli extension nutzt. Alle meine alten Scripte laufen nun zwar doch weiter mit den alten Befehlen. Ich empfinde das aber als umständlich und das hätte von der PHP-Entwicklerseite gemacht werden können/müssen.
 
Zurück
Oben