tag:forum.selfhtml.org,2005:/self PHP-Facepalm meines Tages: 0 == '*new*' – SELFHTML-Forum 2014-10-19T23:21:57Z https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622476#m1622476 Felix Riesterer http://felix-riesterer.de/ 2014-10-03T10:21:05Z 2014-10-03T10:21:05Z PHP-Facepalm meines Tages: 0 == '*new*' <p>Liebe Mitlesende,</p> <p>Heute bin ich in PHP wieder über den Vergleichsoperator gestolpert:</p> <pre><code class="block language-php"><span class="token variable">$key</span> <span class="token operator">=</span> <span class="token number">0</span><span class="token punctuation">;</span> <span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token variable">$key</span> <span class="token operator">!=</span> <span class="token string single-quoted-string">'*new*'</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token comment">// kommt nicht an </span> <span class="token punctuation">}</span> </code></pre> <p>Natürlich war die Lösung wieder der typsichere Vergleichsoperator mit dem extra Istgleichzeichen:</p> <pre><code class="block language-php"><span class="token variable">$key</span> <span class="token operator">=</span> <span class="token number">0</span><span class="token punctuation">;</span> <span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token variable">$key</span> <span class="token operator">!==</span> <span class="token string single-quoted-string">'*new*'</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token comment">// kommt jetzt an </span> <span class="token punctuation">}</span> </code></pre> <p>Warum ist denn eine Ganzzahl null einem Stringwert gleichzusetzen? Wird jetzt zuerst der String in eine Zahl umgewandelt (im Sinne von <code class="language-php"><span class="token function">abs</span><span class="token punctuation">(</span><span class="token string single-quoted-string">'*new*'</span><span class="token punctuation">)</span></code>?), oder wird irgendwie anders umgewandelt, um die beiden Werte zu vergleichen?</p> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> "Wäre die EU ein Staat, der die Aufnahme in die EU beantragen würde, müsste der Antrag zurückgewiesen werden - aus Mangel an demokratischer Substanz." (Martin Schulz, Präsident des EU-Parlamentes) </div> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622555#m1622555 dedlfix 2014-10-03T10:34:23Z 2014-10-03T10:34:23Z PHP-Facepalm meines Tages: 0 == '*new*' <p>Tach!</p> <blockquote> <p>Warum ist denn eine Ganzzahl null einem Stringwert gleichzusetzen? Wird jetzt zuerst der String in eine Zahl umgewandelt?</p> </blockquote> <p>Ja, aber warum mischst du denn die Typen durcheinander?</p> <p>dedlfix.</p> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622546#m1622546 tami 2014-10-03T10:39:20Z 2014-10-03T10:39:20Z typensicherer Vergleiche, PHP wie Javascript <p>hi Felix,</p> <blockquote> <p>Liebe Mitlesende,</p> <p>Heute bin ich in PHP wieder über den Vergleichsoperator gestolpert:</p> <pre><code class="block language-php"></code></pre> </blockquote> <p>$key = 0;</p> <blockquote> <p>if ($key != '<em>new</em>') {<br>     // kommt nicht an<br> }</p> </blockquote> <pre><code class="block"> > > Natürlich war die Lösung wieder der typsichere Vergleichsoperator mit dem extra Istgleichzeichen: > > ~~~php $key = 0; > if ($key !== '*new*') { >     // kommt jetzt an > } </code></pre> <blockquote> <p>Warum ist denn eine Ganzzahl null einem Stringwert gleichzusetzen? Wird jetzt zuerst der String in eine Zahl umgewandelt (im Sinne von <code class="language-php"><span class="token function">abs</span><span class="token punctuation">(</span><span class="token string single-quoted-string">'*new*'</span><span class="token punctuation">)</span></code>?), oder wird irgendwie anders umgewandelt, um die beiden Werte zu vergleichen?</p> </blockquote> <p>Es macht m.E. keinen Sinn, typenlos zu vergleichen: <a href="http://forum.de.selfhtml.org/archiv/2013/10/t215185/#m1473919" rel="nofollow noopener noreferrer">http://forum.de.selfhtml.org/archiv/2013/10/t215185/#m1473919</a>.</p> <p>Es ist und bleibt, wie man hier auch sieht, immer fehleranfällig. Und man muss die ganze Typecastabelle auswendig und richtig können ...;</p> <p>mfg</p> <p>tami</p> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622477#m1622477 Der Martin self@kennst.net 2014-10-03T10:47:00Z 2014-10-03T10:47:00Z PHP-Facepalm meines Tages: 0 == '*new*' <p>Hallo Felix,</p> <blockquote> <p>Heute bin ich in PHP wieder über den Vergleichsoperator gestolpert:</p> </blockquote> <p>na dann willkommen im großen Club. ;-)</p> <blockquote> <pre><code class="block language-php"></code></pre> </blockquote> <p>$key = 0;</p> <blockquote> <p>if ($key != '<em>new</em>') {<br>     // kommt nicht an<br> }</p> </blockquote> <pre><code class="block"> > > Natürlich war die Lösung wieder der typsichere Vergleichsoperator mit dem extra Istgleichzeichen: Genau. Natürlich gibt es ab und zu Fälle, in denen die automatische Typumwandlung von Vorteil ist, zum Beispiel wenn URL-Parameter (die ja grundsätzlich Strings sind) als Zahlenwert verwendet werden sollen. Aber allgemein ist diese automatische Umwandlung ein omnipräsenter Fallstrick. > Warum ist denn eine Ganzzahl null einem Stringwert gleichzusetzen? Wird jetzt zuerst der String in eine Zahl umgewandelt (im Sinne von `abs('*new*')`{:.language-php}?), oder wird irgendwie anders umgewandelt, um die beiden Werte zu vergleichen? Für PHP ist intern der Typ "integer" der einfachere gegenüber "string", deshalb wird der string-Operand zunächst in number konvertiert, bevor der Vergleich durchgeführt wird. Dabei wird "\*new\*" verständlicherweise zu 0, und das ist nicht ungleich 0. [Etwas ausführlicher ...](http://sldn.softlayer.com/blog/dmcaloon/PHP-Type-Conversions-Comparison) [Die entsprechende Seite im PHP-Manual](http://php.net/manual/en/types.comparisons.php), die ich erst verlinken wollte, scheint ein kleines Problem zu haben - Opera zeigt bei mir den gesamten Fließtext in der Schriftart Wingdings oder einer ähnlichen Symbolschrift an. Firefox nimmt stattdessen eine normale, lesbare Schrift. Merkwürdig. :-( So long,  Martin -- Niemand lebt allein von seinen Träumen. Aber wer träumt, lebt noch. Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:( </code></pre> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622478#m1622478 Encoder 2014-10-03T11:19:29Z 2014-10-03T11:19:29Z PHP-Facepalm meines Tages: 0 == '*new*' <p>Bei sowas könnte ich auch reinschlagen. Da will man wissen ob etwas 0 ist und alles was keine andere Zahl ist gilt als 0. So eine Scheiße!</p> <blockquote> <p>Natürlich gibt es ab und zu Fälle, in denen die automatische Typumwandlung von Vorteil ist</p> </blockquote> <p>aber nicht der gezeigte, denn hier funktioniert es ja nicht :-)</p> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622479#m1622479 dedlfix 2014-10-03T11:22:13Z 2014-10-03T11:22:13Z PHP-Facepalm meines Tages: 0 == '*new*' <p>Tach!</p> <blockquote> <p>Bei sowas könnte ich auch reinschlagen. Da will man wissen ob etwas 0 ist und alles was keine andere Zahl ist gilt als 0. So eine Scheiße!</p> </blockquote> <p>Warum bist du dir so sicher, dass man nicht dich schlagen müsste ;-) , wenn du Strings mit Zahlen vergleichst?</p> <p>dedlfix.</p> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622481#m1622481 Whouzuo 2014-10-03T11:28:17Z 2014-10-03T11:28:17Z PHP-Facepalm meines Tages: 0 == '*new*' <blockquote> <p>Tach!</p> <blockquote> <p>Bei sowas könnte ich auch reinschlagen. Da will man wissen ob etwas 0 ist und alles was keine andere Zahl ist gilt als 0. So eine Scheiße!</p> </blockquote> <p>Warum bist du dir so sicher, dass man nicht dich schlagen müsste ;-) , wenn du Strings mit Zahlen vergleichst?</p> </blockquote> <p>Weil man vorher die Sprachdesigner dafür verhauen müsste, dass sie einem nicht einen Fehler oder _zumindest_ eine Fette Warnung (die man explizit abschalten müsste, wenn man sie nicht sehen will) um die Ohren hauen. ;)</p> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622480#m1622480 Encoder 2014-10-03T19:46:21Z 2014-10-03T19:46:21Z PHP-Facepalm meines Tages: 0 == '*new*' <blockquote> <p>Warum bist du dir so sicher, dass man nicht dich schlagen müsste ;-) , wenn du Strings mit Zahlen vergleichst?</p> </blockquote> <p>Da bin ich mir nicht sicher, ganz im Gegenteil. Ich will eigentlich geschlagen werden (ähm....) wenn ich das mache. Aber PHP tut es leider nicht. Das ist der Punkt.</p> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622482#m1622482 Tara 2014-10-03T11:58:41Z 2014-10-03T11:58:41Z PHP-Facepalm meines Tages: 0 == '*new*' <blockquote> <blockquote> <blockquote> <p>Bei sowas könnte ich auch reinschlagen. Da will man wissen ob etwas 0 ist und alles was keine andere Zahl ist gilt als 0. So eine Scheiße!</p> </blockquote> <p>Warum bist du dir so sicher, dass man nicht dich schlagen müsste ;-) , wenn du Strings mit Zahlen vergleichst?</p> </blockquote> <p>Weil man vorher die Sprachdesigner</p> </blockquote> <p>Sprachdesign? PHP ist eine <a href="http://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/" rel="nofollow noopener noreferrer">Ansammlung schlechter Beispiele</a>. Mit Sprachdesign hat das nichts zu tun, höchstens mit dem Fehlen desselben.</p> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622534#m1622534 tami 2014-10-06T08:19:45Z 2014-10-06T08:19:45Z PHP-Facepalm meines Tages: 0 == '*new*' <p>hi Tara,</p> <p><a href="http://fabien.potencier.org/article/64/php-is-much-better-than-you-think" rel="nofollow noopener noreferrer">http://fabien.potencier.org/article/64/php-is-much-better-than-you-think</a></p> <p><a href="http://www.phpframeworks.com/top-10-php-frameworks/" rel="nofollow noopener noreferrer">http://www.phpframeworks.com/top-10-php-frameworks/</a></p> <p>mfg</p> <p>tami</p> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622483#m1622483 M. 2014-10-06T08:27:41Z 2014-10-06T08:27:41Z PHP-Facepalm meines Tages: 0 == '*new*' <p>Mahlzeit,</p> <blockquote> <p>Sprachdesign? PHP ist eine <a href="http://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/" rel="nofollow noopener noreferrer">Ansammlung schlechter Beispiele</a>. Mit Sprachdesign hat das nichts zu tun, höchstens mit dem Fehlen desselben.</p> </blockquote> <p>Einen Artikel, der über 2,5 Jahre alt ist, zu zitieren, wenn es um eine Programmiersprache geht, zeugt IMO von Unwissen. 2,5 Jahre ensprechend ca. 8-10 Generationen in der IT und grad in den letzten 2,5 Jahren hat sich in PHP viel getan.</p> <p>Lustig finde ich dann ein "fachlich hilfreich". Offensichtlich werde die Leute die Lesen _und_<br>  mitdenken immer weniger :D</p> <p>Als nächstes kommt dann jemand der sich über Pearl beschwert, weil er es 1999 in der iX gelesen hat 8)</p> <div class="signature">-- <br> 42 </div> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622531#m1622531 Auge auge8472@web.de 2014-10-06T08:54:51Z 2014-10-06T08:54:51Z PHP-Facepalm meines Tages: 0 == '*new*' <p>Hallo</p> <blockquote> <p>Als nächstes kommt dann jemand der sich über Pearl beschwert, weil er es 1999 in der iX gelesen hat 8)</p> </blockquote> <p>Gab's den Laden damals schon? *scnr*</p> <p>Tschö, Auge</p> <div class="signature">-- <br> Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.<br> Terry Pratchett, "Wachen! Wachen!"<br> ie:{ fl:| br:> va:) ls:[ fo:) rl:( ss:| de:> js:| zu:}<br> <a href="http://termindbase.auge8472.de/" rel="nofollow noopener noreferrer">Veranstaltungsdatenbank Vdb 0.3</a> </div> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622485#m1622485 Der Martin self@kennst.net 2014-10-06T10:17:42Z 2014-10-06T10:17:42Z PHP-Facepalm meines Tages: 0 == '*new*' <p>Hi,</p> <blockquote> <p>Lustig finde ich dann ein "fachlich hilfreich". Offensichtlich werde die Leute die Lesen _und_  mitdenken immer weniger :D</p> </blockquote> <p>das war ich, weil ich den Artikel gelesen und größtenteils verstanden habe, und weil viele der ... ähm, Eigentümlichkeiten von PHP, die da angeprangert werden, bis heute unverändert sind. Einige davon waren mir noch gar nicht bekannt.</p> <p>Ciao,<br>  Martin</p> <div class="signature">-- <br> There are 10 types of people in the world: Those who understand the binary system, and those who don't.<br> Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:( </div> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622484#m1622484 1UnitedPower 2014-10-06T16:26:44Z 2014-10-06T16:26:44Z PHP-Facepalm meines Tages: 0 == '*new*' <p>Meine Herren!</p> <blockquote> <blockquote> <p>Sprachdesign? PHP ist eine <a href="http://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/" rel="nofollow noopener noreferrer">Ansammlung schlechter Beispiele</a>. Mit Sprachdesign hat das nichts zu tun, höchstens mit dem Fehlen desselben.</p> </blockquote> <p>Einen Artikel, der über 2,5 Jahre alt ist, zu zitieren, wenn es um eine Programmiersprache geht, zeugt IMO von Unwissen. 2,5 Jahre ensprechend ca. 8-10 Generationen in der IT und grad in den letzten 2,5 Jahren hat sich in PHP viel getan.</p> </blockquote> <p>Der Artikel ist vor 2,5 Jahren das erste mal veröffentlich worden. Damals war PHP 5.4 noch aktuell, heute stehen wir bei PHP 5.6. Wenn man den Artikel aber aufmerksam liest, dann findet man Hinweise darauf, dass der Artikel seit dem mehrfach überarbietet wurde. Es gibt Stellen, die machen auf Fixes in neueren (und älteren) PHP Versionen bis hin zu Version 5.5 aufmerksam. PHP 5.6 ist erst vor 1,5 Monaten erschienen. Der Artikel ist also noch recht aktuell, für den Artikel spricht auch die anhaltende disqus- und Twitter-Aktivität.</p> <blockquote> <p>Lustig finde ich dann ein "fachlich hilfreich". Offensichtlich werde die Leute die Lesen _und_<br> mitdenken immer weniger :D</p> </blockquote> <p>Aha.</p> <div class="signature">-- <br> “All right, then, I'll go to hell.” – Huck Finn </div> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622486#m1622486 M. 2014-10-06T18:08:58Z 2014-10-06T18:08:58Z PHP-Facepalm meines Tages: 0 == '*new*' <p>Mahlzeit,</p> <blockquote> <p>Einige davon waren mir noch gar nicht bekannt.</p> </blockquote> <p>Das liegt daran, dass die meisten "Mängel" dort einmal Altlasten aus früheren Versionen sind und einige nur dann ein Problem darstellen, wenn der Programmierer sie dazu macht.</p> <p>Und wenn ich dann als Negativpunkt lese, dass PHP konstrukte aus C, C++ und Java übernommen hat, muss ich mich fragen, was will der Autor damit. PHP-Bashing liegt da nahe.</p> <p>Ich halte diesen Artikel für Bild-Niveau. Hauptsächlich werden Eigenheiten von PHP deshalb als Mangel bezeichnet, weil es nicht genauso funktioniert wie bei anderen Sprachen. Wieso alle Sprachen gleich sein sollen, versteh ich aber nicht, dann brauch ich auch nur noch eine Programmiersprache.</p> <p>Lustig dann (oder vielleicht traurig):</p> <p>@fopen()</p> <p>Wird bemängelt, dass keine Fehlermeldung ausgegeben wird. Es wäre ein Mangel, wenn eine Fehlermeldung kommen würde, obwohl sie explizit unterdrückt wurde.</p> <p>Und was in diesem Artikel grösstenteils fehlt, sind die _echten_ Nachteile von PHP, aber das zeigt mir auch recht deutlich, dass es hier nur drum geht, PHP schlecht zu machen.</p> <p>Ich halte PHP als eine der schlechtesten Programmiersprachen, aber deshalb ist sie trotzdem nicht mehr aus dem Web wegzudenken. Dass aber die Bashing-Artikel immer von Leuten verfasst werden, die anscheinend keine Ahnung von PHP haben, zeigt mir deutlich, dass es keine so gravierenden Nachteile, dass es echt sinnvoll Artikel dazu gibt. ;)</p> <div class="signature">-- <br> 42 </div> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622488#m1622488 Matthias Apsel webmaster@billiger-im-urlaub.de http://alternativ-tankstelle.de 2014-10-06T18:15:57Z 2014-10-06T18:15:57Z PHP-Facepalm meines Tages: 0 == '*new*' <p>Om nah hoo pez nyeetz, M.!</p> <blockquote> <p>Dass aber die Bashing-Artikel immer von Leuten verfasst werden, die anscheinend keine Ahnung von PHP haben, zeigt mir deutlich, dass es keine so gravierenden Nachteile, dass es echt sinnvoll Artikel dazu gibt. ;)</p> </blockquote> <p>So, jetzt machst du mal bitte einen ordentlichen Satz draus ;-) und dann würde ich mich freuen, wenn du einen Link zu dem,</p> <blockquote> <p>was in diesem Artikel grösstenteils fehlt, sind die _echten_ Nachteile von PHP,</p> </blockquote> <p>hättest.</p> <p>Matthias</p> <div class="signature">-- <br> Der Unterschied zwischen Java und JavaScript ist größer als der zwischen <a href="http://selfhtml.apsel-mv.de/java-javascript/index.php?buchstabe=H#hal" rel="nofollow noopener noreferrer">HAL und Halsbandarassari</a>.<br> <img src="http://www.billiger-im-urlaub.de/kreis_sw.gif" alt="" loading="lazy"><br> </div> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622487#m1622487 Der Martin self@kennst.net 2014-10-06T19:48:07Z 2014-10-06T19:48:07Z PHP-Facepalm meines Tages: 0 == '*new*' <p>Hallo,</p> <blockquote> <blockquote> <p>Einige davon waren mir noch gar nicht bekannt.<br> Das liegt daran, dass die meisten "Mängel" dort einmal Altlasten aus früheren Versionen sind und einige nur dann ein Problem darstellen, wenn der Programmierer sie dazu macht.</p> </blockquote> </blockquote> <p>das trifft es in etwa.</p> <blockquote> <p>Und wenn ich dann als Negativpunkt lese, dass PHP konstrukte aus C, C++ und Java übernommen hat, muss ich mich fragen, was will der Autor damit. PHP-Bashing liegt da nahe.</p> </blockquote> <p>Ja. Das sind keine Mängel, das klingt nach positiven Aspekten. Es ist ja absolut in Ordnung, wenn eine Programmiersprache versucht, das Beste aus anderen Welten zu übernehmen.</p> <blockquote> <p>Ich halte diesen Artikel für Bild-Niveau.</p> </blockquote> <p>Ich nicht, dafür ist er noch zu sachlich.</p> <blockquote> <p>Hauptsächlich werden Eigenheiten von PHP deshalb als Mangel bezeichnet, weil es nicht genauso funktioniert wie bei anderen Sprachen.</p> </blockquote> <p>Nein, sondern weil die Vielzahl der in PHP realisierten Features in sich uneinheitlich und teils unlogisch ist.</p> <blockquote> <p>@fopen()<br> Wird bemängelt, dass keine Fehlermeldung ausgegeben wird.</p> </blockquote> <p>Nein. Es wird bemängelt, dass es vom Zusammenspiel vieler Konfigurations-Direktiven abhängt, ob überhaupt irgendwo eine Fehlermeldung hinterlassen wird, und wenn ja, wo.</p> <blockquote> <p>Und was in diesem Artikel grösstenteils fehlt, sind die _echten_ Nachteile von PHP, aber das zeigt mir auch recht deutlich, dass es hier nur drum geht, PHP schlecht zu machen.</p> </blockquote> <p>In diesem Punkt ist PHP IMO wie Windows: Man weiß, dass es eine Menge Schwächen hat, aber wenn man diese Schwächen kennt und mit ihnen umgehen kann, ist das System eigentlich ganz brauchbar.</p> <blockquote> <p>Ich halte PHP als eine der schlechtesten Programmiersprachen</p> </blockquote> <p>Das sehe ich ganz eindeutig nicht so. PHP hat Designmängel und ist alles andere als optimal, aber man kann sich doch ganz gut damit arrangieren.</p> <p>Ciao,<br>  Martin</p> <div class="signature">-- <br> Ordnung schaffen heißt, das Eigelb vom Dotter zu trennen.<br> Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:( </div> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622489#m1622489 M. 2014-10-06T18:42:52Z 2014-10-06T18:42:52Z PHP-Facepalm meines Tages: 0 == '*new*' <p>Mahlzeit,</p> <blockquote> <blockquote> <p>Dass aber die Bashing-Artikel immer von Leuten verfasst werden, die anscheinend keine Ahnung von PHP haben, zeigt mir deutlich, dass es keine so gravierenden Nachteile, dass es echt sinnvoll Artikel dazu gibt. ;)</p> </blockquote> </blockquote> <blockquote> <p>So, jetzt machst du mal bitte einen ordentlichen Satz draus ;-)</p> </blockquote> <p>Verdammt.... zu schnell geschrieben ;). Ich versuchs nochmal:</p> <p>Dass aber die Bashing-Artikel immer von Leuten verfasst werden, die anscheinend keine Ahnung von PHP haben, zeigt mir deutlich, dass es keine so gravierenden Nachteile gibt, dass echt sinnvolle Artikel dazu geschrieben werden.</p> <blockquote> <p>und dann würde ich mich freuen, wenn du einen Link zu dem,</p> <blockquote> <p>was in diesem Artikel grösstenteils fehlt, sind die _echten_ Nachteile von PHP,</p> </blockquote> <p>hättest.</p> </blockquote> <p>Dazu gibt es keinen. Ich meinte die Nachteile, die ICH bei PHP sehe. Die Nachteile des genannten Artikel treten bei mir entweder nicht auf, weil ich sie bewusst verursachen müsste oder weil meine Programmstruktur es verhindert.</p> <p>Der grösste Nachteil bei PHP ist mMn immer noch mangelhaftes OOP und ein Modul-System, ähnlich wie CPAN bei Perl.</p> <p>Beim OOP ist es einfach inkonsequent, bei z.B. mysqli mit Objekten zu arbeiten, die Ergebnisse dann aber als Array zurück zu bekommen. Wenn ich das Ergebnis als Objekt haben will, muss ich mir das selbst bauen.</p> <p>Dann stört mich, dass es einige gravierende Unterschiede zwischen Apache-Modul und PHP-FCGI gibt, die mich als Programmierer dazu zwingen, verschiedene Entwicklungsumgebungen zu testen (und der IIS kommt dann auch noch dazu, wo es nochmal Unterschiede gibt)</p> <p>Allerdings gibt es Nachteile bei jeder Programmiersprache. Bei C nervt die statische Speicherverwaltung, bei Java nervt mich die pure Existenz ;)</p> <div class="signature">-- <br> 42 </div> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622529#m1622529 Christian Kruse c--j--k--remove-dashes@wwwtech.de http://ck.kennt-wayne.de/ 2014-10-07T07:24:49Z 2014-10-07T07:24:49Z PHP-Facepalm meines Tages: 0 == '*new*' <p>Moin M.,</p> <blockquote> <p>Dass aber die Bashing-Artikel immer von Leuten verfasst werden, die anscheinend keine Ahnung von PHP haben, zeigt mir deutlich, dass es keine so gravierenden Nachteile gibt, dass echt sinnvolle Artikel dazu geschrieben werden.</p> </blockquote> <p>Eher daran, dass Leute, die so tief in die Materie eindringen keine Zeit und/oder Muße haben, Artikel zu schreiben ;)</p> <p>LG,<br>  CK</p> <div class="signature">-- <br> <a href="http://ck.kennt-wayne.de/" rel="nofollow noopener noreferrer">http://ck.kennt-wayne.de/</a><br> </div> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622496#m1622496 tami 2014-10-07T07:40:09Z 2014-10-07T07:40:09Z PHP - nutze die guten Seiten und nutze Frameworks mit Modulen <blockquote> <p>Der grösste Nachteil bei PHP ist mMn immer noch mangelhaftes OOP und ein Modul-System, ähnlich wie CPAN bei Perl.</p> </blockquote> <p>nutze die guten seiten (das gilt auch für javascript) [wozu überhaupt @fopen nutzen, wenn es file_get_contents() gibt?]<br> <a href="http://it-ebooks.info/book/95/" rel="nofollow noopener noreferrer">http://it-ebooks.info/book/95/</a></p> <p>nutze frameworks [kaum einer nutzt ja javascript pur, ohne jquery o.ä.]<br> <a href="http://modules.zendframework.com/" rel="nofollow noopener noreferrer">http://modules.zendframework.com/</a></p> <p>was früher mal PEAR war, ist jetzt das ZF, Beispiel für eine einfache Mail mit ZF:<br> <a href="http://forum.de.selfhtml.org/archiv/2014/5/t217437/#m1493705" rel="nofollow noopener noreferrer">http://forum.de.selfhtml.org/archiv/2014/5/t217437/#m1493705</a></p> <p>mfg</p> <p>tami</p> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622490#m1622490 Sven Rautenberg http://www.rtbg.de 2014-10-07T18:57:32Z 2014-10-07T18:57:32Z PHP-Facepalm meines Tages: 0 == '*new*' <p>Moin!</p> <blockquote> <p>Dass aber die Bashing-Artikel immer von Leuten verfasst werden, die anscheinend keine Ahnung von PHP haben, zeigt mir deutlich, dass es keine so gravierenden Nachteile gibt, dass echt sinnvolle Artikel dazu geschrieben werden.</p> </blockquote> <p>Zu denen musst du dich leider selbst zählen, denn:</p> <blockquote> <p>Der grösste Nachteil bei PHP ist mMn immer noch mangelhaftes OOP und ein Modul-System, ähnlich wie CPAN bei Perl.</p> </blockquote> <p><a href="http://getcomposer.org" rel="nofollow noopener noreferrer">Composer</a>. Schlägt CPAN vermutlich um Längen - was das "Carton" bei Perl macht, kann ich nicht beurteilen, es sieht ähnlich aus.</p> <blockquote> <p>Beim OOP ist es einfach inkonsequent, bei z.B. mysqli mit Objekten zu arbeiten, die Ergebnisse dann aber als Array zurück zu bekommen. Wenn ich das Ergebnis als Objekt haben will, muss ich mir das selbst bauen.</p> </blockquote> <p><a href="http://php.net/manual/en/mysqli-result.fetch-object.php" rel="noopener noreferrer">$mysqli_result->fetch_object($classname = 'stdClass', $params = array());</a></p> <blockquote> <p>Dann stört mich, dass es einige gravierende Unterschiede zwischen Apache-Modul und PHP-FCGI gibt, die mich als Programmierer dazu zwingen, verschiedene Entwicklungsumgebungen zu testen (und der IIS kommt dann auch noch dazu, wo es nochmal Unterschiede gibt)</p> </blockquote> <p>Nun ja, wenn du ein Projekt hast, welches auf allen möglichen Plattformen installierbar sein soll, hast du nicht nur die Unterschiede bei dem Kontakt zum Webserver, sondern in gleicher Weise auch den Support für die verschiedensten PHP-Versionen inklusive HHVM zu leisten. Allein der Support für PHP 5.3, 5.4, 5.5 und 5.6 parallel dürfte nicht ohne ein paar Schmerzen ablaufen, die unterschiedlichen Plattformen sind da vermutlich auch nicht mehr wild. Wenn man ein Testsystem für genau diese Variantionen hat, analysiert man bei Problemen die Fehler und arbeitet drum herum.</p> <p>Obwohl du richtig liegst, ist dieses Problem nicht PHP-exklusiv.</p> <p>- Sven Rautenberg</p> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622495#m1622495 MudGuard http://www.andreas-waechter.de/ 2014-10-07T21:21:18Z 2014-10-07T21:21:18Z PHP-Facepalm meines Tages: 0 == '*new*' <p>Hi,</p> <blockquote> <p>Variantionen</p> </blockquote> <p>schöne Wortschöpfung!</p> <p>cu,<br> Andreas</p> <div class="signature">-- <br> <a href="http://MudGuard.de/" rel="nofollow noopener noreferrer">Warum nennt sich Andreas hier MudGuard?</a><br> <a href="http://ostereier.andreas-waechter.de/" rel="nofollow noopener noreferrer">O o ostern ...</a><br> Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.<br> </div> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622491#m1622491 M. 2014-10-08T09:04:03Z 2014-10-08T09:04:03Z PHP-Facepalm meines Tages: 0 == '*new*' <p>Mahlzeit,</p> <blockquote> <p>Zu denen musst du dich leider selbst zählen, denn:</p> </blockquote> <p>Ich schreibe keine Artikel ;)</p> <blockquote> <p><a href="http://getcomposer.org" rel="nofollow noopener noreferrer">Composer</a>. Schlägt CPAN vermutlich um Längen - was das "Carton" bei Perl macht, kann ich nicht beurteilen, es sieht ähnlich aus.</p> </blockquote> <p>Alleine die Installation ist kompliziert. CPAN installiere ich über den Paketmanager. Die Auswahl ist ebenso bei CPAN besser gelöst, hier muss ich mich drauf verlassen ,dass der Programmierer die richtigen (als mir wichtigen) Tags verwendet hat.</p> <p>Ich sags mal so, mir gefällt composer nicht und ich nutze ihn auch nicht.</p> <blockquote> <p><a href="http://php.net/manual/en/mysqli-result.fetch-object.php" rel="noopener noreferrer">$mysqli_result->fetch_object($classname = 'stdClass', $params = array());</a></p> </blockquote> <p>Ok, schlechtes Beispiel von mir ;)</p> <blockquote> <p>Allein der Support für PHP 5.3, 5.4, 5.5 und 5.6 parallel dürfte nicht ohne ein paar Schmerzen ablaufen, die unterschiedlichen Plattformen sind da vermutlich auch nicht mehr wild. Wenn man ein Testsystem für genau diese Variantionen hat, analysiert man bei Problemen die Fehler und arbeitet drum herum.</p> </blockquote> <p>Einiges kann man ja als Voraussetzung angeben, ich hab echt noch Anfragen nach PHP4, weil keiner da ist, der mal ein Update auf dem Server macht. Aber viel Arbeit ist es, stimmt.</p> <blockquote> <p>Obwohl du richtig liegst, ist dieses Problem nicht PHP-exklusiv.</p> </blockquote> <p>Aber klar doch. Jede Programmiersprache hat ihre Nachteile. Wenn nur PHP welche hätte, würde ich nicht zu 80% damit arbeiten ;)</p> <p>Ich finds nur nervig, wenn dann hier Artikel zitiert werden, die eben reines Bashing sind.</p> <div class="signature">-- <br> 42 </div> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622492#m1622492 Sven Rautenberg http://www.rtbg.de 2014-10-08T18:21:15Z 2014-10-08T18:21:15Z PHP-Facepalm meines Tages: 0 == '*new*' <p>Moin!</p> <blockquote> <blockquote> <p><a href="http://getcomposer.org" rel="nofollow noopener noreferrer">Composer</a>. Schlägt CPAN vermutlich um Längen - was das "Carton" bei Perl macht, kann ich nicht beurteilen, es sieht ähnlich aus.</p> </blockquote> <p>Alleine die Installation ist kompliziert.</p> </blockquote> <p>Das Copy&Paste einer Shell-Zeile ist kompliziert? Ja, tatsächlich ist die Convenience an dieser Stelle noch nicht optimal - in einer idealen Welt würde Composer direkt mit PHP mitgeliefert, hilfsweise _sehr einfach_ optional installiert - aber "kompliziert"?</p> <p>Feature-Frage: Kann ich mit CPAN unterschiedliche Versionen je nach Perl-Software dezentral installieren?</p> <blockquote> <p>CPAN installiere ich über den Paketmanager. Die Auswahl ist ebenso bei CPAN besser gelöst, hier muss ich mich drauf verlassen ,dass der Programmierer die richtigen (als mir wichtigen) Tags verwendet hat.</p> </blockquote> <p>Welche Tags meinst du?</p> <blockquote> <p>Ich sags mal so, mir gefällt composer nicht und ich nutze ihn auch nicht.</p> </blockquote> <p>Du wirst nur dann drum herum kommen, wenn du niemals externe Softwarepakete einsetzt - auch in Zukunft nie. Andernfalls: Nahezu jedes verbreitet genutzte Softwarepaket lässt sich problemlos via Composer installieren, darunter sämtliche relevanten Frameworks bzw. Komponenten (Zend, Symfony, Doctrine, Laravel,...)</p> <p>- Sven Rautenberg</p> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622493#m1622493 M. 2014-10-08T19:31:36Z 2014-10-08T19:31:36Z PHP-Facepalm meines Tages: 0 == '*new*' <p>Mahlzeit,</p> <blockquote> <p>Moin!</p> <blockquote> <blockquote> <p><a href="http://getcomposer.org" rel="nofollow noopener noreferrer">Composer</a>. Schlägt CPAN vermutlich um Längen - was das "Carton" bei Perl macht, kann ich nicht beurteilen, es sieht ähnlich aus.</p> </blockquote> <p>Alleine die Installation ist kompliziert.</p> </blockquote> <p>Das Copy&Paste einer Shell-Zeile ist kompliziert?</p> </blockquote> <p>Nein, das komplizierte ist, ein .deb draus zu bauen. Ich kann es nicht leiden, irgednwas ausserhalb der Paketverwaltung zu installieren, deshalb werden grundsätzlich Pakete gebaut, wenn es keine gibt ;)</p> <blockquote> <p>Ja, tatsächlich ist die Convenience an dieser Stelle noch nicht optimal - in einer idealen Welt würde Composer direkt mit PHP mitgeliefert, hilfsweise _sehr einfach_ optional installiert - aber "kompliziert"?</p> </blockquote> <p>Alleine ein Paket im Repos würde ausreichen.</p> <blockquote> <p>Feature-Frage: Kann ich mit CPAN unterschiedliche Versionen je nach Perl-Software dezentral installieren?</p> </blockquote> <p>Keine Ahnung, ich programmiere wenig in Perl und wenn, hab ich entweder Versionsvorgaben, für die ich ein Envirement einrichte, ich gebe die Version vor oder ich liefere einen komplett vorinstallierten Rechner inkl. Software, also Plug&Play ;)</p> <blockquote> <p>Welche Tags meinst du?</p> </blockquote> <p>Beschreibende Stichworte. Entweder hab ich eine Übersicht aller Pakete übersehen oder man kann wirklich nur über die Suche arbeiten. Und diese Suche benötigt eben korrekte Suchworte im erfolgreich zu finden. Könnte man besser lösen, evtl. wie CPAN es gelöst hat.</p> <blockquote> <p>Du wirst nur dann drum herum kommen, wenn du niemals externe Softwarepakete einsetzt - auch in Zukunft nie. Andernfalls: Nahezu jedes verbreitet genutzte Softwarepaket lässt sich problemlos via Composer installieren, darunter sämtliche relevanten Frameworks bzw. Komponenten (Zend, Symfony, Doctrine, Laravel,...)</p> </blockquote> <p>Meinst du Libs, die kompiliert werden und dann per dl() oder php.ini eingebunden werden?</p> <p>Wenn nicht, nahezu jedes Softwarepaket wird innerhalb von 2 Minuten zu einem Plugin in meinem eigenen Framework. Der Vorteil dabei, ich brauche nicht irgendeine Komponente vorauszusetzen sondern kann alles benötigte mitliefern. Mein FW benötigt die Dateien in einem Ordner und ein Template mit den include/require-Anweisungen und evtl. Initialisierungen. Die Installation erfolgt dann per Frontend und wenn ein Admin das Ganze auf seinem Server installiert, brauche ich nicht zu sagen, du brauchst composer um die Abhängigkeiten zu erfüllen.</p> <p>Und da fällt mir auf, ich arbeite seit langem mit externen Komponenten. Und nicht einmal hatte ich ein Problem ohne Composer.</p> <p>Zeigt mir, composer mag seine Vorzüge haben, ich sehe keine darin. Zumindest dann nicht, wenn es nicht nicht um Komponenten handelt, die in C geschrieben den Core erweitern. Alles andere ist ja nur ein Kopieren von PHP-Dateien in einen Shared-Folder die per Autoloader eingebunden werden.</p> <p>Wie gesagt, ich nutze keinen composer, wenn meine Ausführungen an irgendeiner Stelle nicht zutreffen, bitte ich um Korrektur, ich lerne gerne dazu, vielleicht komme ich ja noch auf den Geschmack mit composer zu arbeiten ;)</p> <div class="signature">-- <br> 42 </div> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622494#m1622494 Matti Mäkitalo matti@fanalin.de http://www.fanalin.de 2014-10-12T09:17:39Z 2014-10-12T09:17:39Z PHP-Facepalm meines Tages: 0 == '*new*' <p>Hi,</p> <blockquote> <p>Zeigt mir, composer mag seine Vorzüge haben, ich sehe keine darin. Zumindest dann nicht, wenn es nicht nicht um Komponenten handelt, die in C geschrieben den Core erweitern. Alles andere ist ja nur ein Kopieren von PHP-Dateien in einen Shared-Folder die per Autoloader eingebunden werden.</p> </blockquote> <p>Composer macht schon ein wenig mehr als das von dir beschriebene. Ich versuche mal aufzuzählen:<br>  - Konflikterkennung (wenn eine Library in verschiedenen Versionen gebraucht wird)<br>  - Versionsverwaltung (automatisch alle Libraries aktualisieren. Natürlich in dem Umfang, in dem man es mag, also z.B. nur Minor-Versionen aktualisieren)<br>  - Lizenzübersicht (mit einem Aufruf alle Lizenzen der verwendeten Libraries einsehen)<br>  - Security-Check (mit einem Extratool kann deine composer.lock überprüft werden, ob deine Libraries bekannte Sicherheitslücken enthalten. <a href="https://security.sensiolabs.org/" rel="nofollow noopener noreferrer">https://security.sensiolabs.org/</a>)<br>  - Jede Library-Installation ist lokal pro Projekt (d.h., man generiert keine globalen Softwarepakete). Zumindest früher war CPAN an dieser Stelle nur sehr umständlich zu konfigurieren, dass man lokale Library-Installationen haben konnte.<br>  - Es entschlackt den Code, den man in die Versionsverwaltung eincheckt.<br>  - Menge an verfügbaren Libraries wird einfach durchsuchbar.<br>  - Private Library-Repositories</p> <p>Gibt bestimmt noch viel mehr Gründe, aber das hier reicht mir erstmal.</p> <p>Bis die Tage,<br> Matti</p> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622528#m1622528 M. 2014-10-07T07:50:54Z 2014-10-07T07:50:54Z PHP - nutze die guten Seiten und nutze Frameworks mit Modulen <p>Mahlzeit,</p> <blockquote> <p>nutze die guten seiten (das gilt auch für javascript)</p> </blockquote> <p>Das mache ich. Und da es funktioniert weiss ich, dass der oben zitierte Beitrag einfach nur Bashing ist.</p> <blockquote> <p>[wozu überhaupt @fopen nutzen, wenn es file_get_contents() gibt?]</p> </blockquote> <p>Ein weiteres Beispiel für Bashing im Artikel.</p> <p>Ich hab mit mittlerweile mein eigenes Framework entwickelt. Ist über die Jahre gewachsen und wird von fast allen meinen Kunden eingesetzt.</p> <div class="signature">-- <br> 42 </div> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622527#m1622527 Linker Setzer 2014-10-07T11:02:37Z 2014-10-07T11:02:37Z PHP - nutze die guten Seiten und nutze Frameworks mit Modulen <blockquote> <p><a href="http://it-ebooks.info/book/95/" rel="nofollow noopener noreferrer">http://it-ebooks.info/book/95/</a></p> </blockquote> <p><a href="http://www.amazon.com/product-reviews/0596804377/" rel="nofollow noopener noreferrer">http://www.amazon.com/product-reviews/0596804377/</a></p> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622497#m1622497 Whouzuo 2014-10-14T18:21:13Z 2014-10-14T18:21:13Z PHP - nutze die guten Seiten und nutze Frameworks mit Modulen <blockquote> <blockquote> <p>Der grösste Nachteil bei PHP ist mMn immer noch mangelhaftes OOP und ein Modul-System, ähnlich wie CPAN bei Perl.</p> </blockquote> <p>nutze die guten seiten (das gilt auch für javascript) [wozu überhaupt @fopen nutzen, wenn es file_get_contents() gibt?]</p> </blockquote> <p>Woher soll man denn wissen, was es gibt?<br> In vernünftigen, objektorientierten Sprachen habe ich ein File-Objekt, setze nen Punkt dahinter und lass mir schön zeigen, was für Funktionen es gibt. In PHP darf ich sofort wieder in die Doku gucken... toll.</p> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622509#m1622509 tami 2014-10-15T10:02:42Z 2014-10-15T10:02:42Z PHP - nutze die guten Seiten und nutze Frameworks mit Modulen <p>hi Whouzuo,</p> <blockquote> <blockquote> <blockquote> <p>Der grösste Nachteil bei PHP ist mMn immer noch mangelhaftes OOP und ein Modul-System, ähnlich wie CPAN bei Perl.</p> </blockquote> <p>nutze die guten seiten (das gilt auch für javascript) [wozu überhaupt @fopen nutzen, wenn es file_get_contents() gibt?]</p> </blockquote> <p>Woher soll man denn wissen, was es gibt?<br> In vernünftigen, objektorientierten Sprachen habe ich ein File-Objekt, setze nen Punkt dahinter und lass mir schön zeigen, was für Funktionen es gibt. In PHP darf ich sofort wieder in die Doku gucken... toll.</p> </blockquote> <p>Nun, dann nutze doch deine "vernünftigen, objektorientierten Sprachen". Für PHP-Frameworks solltest Du das aber auch finden (<a href="https://www.google.de/?#q=IDE+php+framework+autocompletion" rel="nofollow noopener noreferrer">https://www.google.de/?#q=IDE+php+framework+autocompletion</a>). Für PHP findest Du das auch (<a href="https://www.google.de/search?q=php%20ide%20autocompletion&rct=j" rel="nofollow noopener noreferrer">https://www.google.de/search?q=php ide autocompletion&rct=j</a>). PHP-Storm war von Sven Rautenberg ja schon empfohlen worden meine ich ...;</p> <p>mfg</p> <p>tami</p> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622498#m1622498 M. 2014-10-16T15:50:31Z 2014-10-16T15:50:31Z PHP - nutze die guten Seiten und nutze Frameworks mit Modulen <p>Mahlzeit,</p> <blockquote> <p>Woher soll man denn wissen, was es gibt?<br> In vernünftigen, objektorientierten Sprachen habe ich ein File-Objekt, setze nen Punkt dahinter und lass mir schön zeigen, was für Funktionen es gibt.</p> </blockquote> <p>Das macht jetzt genau welche Programmiersprache? Ich kenne IDEs, die das machen, aber keine Programiersprache (mal abgesehen, dass keine Programmiersprache auch nur ansatzweise einen Editor mitbringt).</p> <blockquote> <p>In PHP darf ich sofort wieder in die Doku gucken... toll.</p> </blockquote> <p>Also weil du es nicht schaffst deine IDE anständig für PHP zu konfigurieren, ist die Sprache schuld? Dann schiebst du die Schuld also aufs Auto, wenn du scheisse fährst ;)</p> <div class="signature">-- <br> 42 </div> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622499#m1622499 Whouzuo 2014-10-17T07:01:53Z 2014-10-17T07:01:53Z PHP - nutze die guten Seiten und nutze Frameworks mit Modulen <blockquote> <p>Mahlzeit,</p> <blockquote> <p>Woher soll man denn wissen, was es gibt?<br> In vernünftigen, objektorientierten Sprachen habe ich ein File-Objekt, setze nen Punkt dahinter und lass mir schön zeigen, was für Funktionen es gibt.</p> </blockquote> <p>Das macht jetzt genau welche Programmiersprache? Ich kenne IDEs, die das machen</p> </blockquote> <p>Und ich kenne Menschen, die korinthenkacken...</p> <blockquote> <blockquote> <p>In PHP darf ich sofort wieder in die Doku gucken... toll.</p> </blockquote> <p>Also weil du es nicht schaffst deine IDE anständig für PHP zu konfigurieren, ist die Sprache schuld?</p> </blockquote> <p>Tja, die IDE ist leider nicht anständig konfigurierbar, weil sie in vielen Fällen gar nicht wissen kann, was in meiner Variable nun wirklich drinsteckt. Dumme Sache das mit der schwachen dynamischen Typisierung.</p> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622500#m1622500 M. 2014-10-17T07:25:55Z 2014-10-17T07:25:55Z PHP - nutze die guten Seiten und nutze Frameworks mit Modulen <p>Mahlzeit,</p> <blockquote> <p>Und ich kenne Menschen, die korinthenkacken...</p> </blockquote> <p>Für dich ist also die Unterscheidung zwischen Programmiersprache und IDE korinthenkacken?<br> Tja, Java ist dann vielleicht doch Javascript. Die haben mehr gemeinsam als eine IDE mit einer Programmiersprache.</p> <blockquote> <p>Tja, die IDE ist leider nicht anständig konfigurierbar, weil sie in vielen Fällen gar nicht wissen kann, was in meiner Variable nun wirklich drinsteckt. Dumme Sache das mit der schwachen dynamischen Typisierung.</p> </blockquote> <p>Wenn du es nicht wissen kannst, programmierst du nicht sauber. Meine IDE kann das, was einmal am Code und zum zweiten an der guten IDE liegt (Sublime Text ist der Traum).</p> <p>Natürlich kannst du programmieren in was du willst, aber etwas schlecht zu reden, weil du es falsch anwendest, ist nicht richtig.</p> <p>Es würde mich auch immer noch interessieren, was für dich eine Sprache mit richtigen OOP ist und welche IDE damit zurechtkommt aber nicht mit PHP.</p> <div class="signature">-- <br> 42 </div> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622505#m1622505 tami 2014-10-17T11:33:19Z 2014-10-17T11:33:19Z PHP - nutze die guten Seiten und nutze Frameworks mit Modulen <p>hi M.,</p> <blockquote> <blockquote> <p>Tja, die IDE ist leider nicht anständig konfigurierbar, weil sie in vielen Fällen gar nicht wissen kann, was in meiner Variable nun wirklich drinsteckt. Dumme Sache das mit der schwachen dynamischen Typisierung.</p> </blockquote> <p>Wenn du es nicht wissen kannst, programmierst du nicht sauber. Meine IDE kann das,</p> </blockquote> <p>Welche?</p> <p>mfg</p> <p>tami</p> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622501#m1622501 Whouzuo 2014-10-17T13:25:44Z 2014-10-17T13:25:44Z PHP - nutze die guten Seiten und nutze Frameworks mit Modulen <blockquote> <p>Mahlzeit,</p> <blockquote> <p>Und ich kenne Menschen, die korinthenkacken...</p> </blockquote> <p>Für dich ist also die Unterscheidung zwischen Programmiersprache und IDE korinthenkacken?</p> </blockquote> <p>Nein.</p> <blockquote> <p>Tja, Java ist dann vielleicht doch Javascript. Die haben mehr gemeinsam als eine IDE mit einer Programmiersprache.</p> </blockquote> <p>Joa.</p> <blockquote> <blockquote> <p>Tja, die IDE ist leider nicht anständig konfigurierbar, weil sie in vielen Fällen gar nicht wissen kann, was in meiner Variable nun wirklich drinsteckt. Dumme Sache das mit der schwachen dynamischen Typisierung.</p> </blockquote> <p>Wenn du es nicht wissen kannst, programmierst du nicht sauber.</p> </blockquote> <p>Von MIR hab ich gar nicht geredet. ;)</p> <blockquote> <p>Meine IDE kann das, was einmal am Code und zum zweiten an der guten IDE liegt (Sublime Text ist der Traum).</p> </blockquote> <p>Na wenn du das für ausreichend hälst, schön. Meine Erfahrungen sind da anders.</p> <blockquote> <p>Natürlich kannst du programmieren in was du willst, aber etwas schlecht zu reden, weil du es falsch anwendest, ist nicht richtig.</p> </blockquote> <p>Ich wende PHP richtig an: maximal 50 Zeilige unabhängige Scripts. ;)</p> <blockquote> <p>Es würde mich auch immer noch interessieren, was für dich eine Sprache mit richtigen OOP ist und welche IDE damit zurechtkommt aber nicht mit PHP.</p> </blockquote> <p>An produktiven Sprachen gibts da nichts. Scala mit IntelliJ ist ganz gut, refactoring ist allerdings noch nicht akzeptabel. Dafür weiß die IDE wenigstens, was in welcher meiner Variablen drinsteckt.</p> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622502#m1622502 M. 2014-10-17T18:02:58Z 2014-10-17T18:02:58Z PHP - nutze die guten Seiten und nutze Frameworks mit Modulen <p>Mahlzeit,</p> <blockquote> <p>Ich wende PHP richtig an: maximal 50 Zeilige unabhängige Scripts. ;)</p> </blockquote> <p>Ok, ich hab ein paar Scripte mit mehr Zeilen :D</p> <blockquote> <p>An produktiven Sprachen gibts da nichts. Scala mit IntelliJ ist ganz gut, refactoring ist allerdings noch nicht akzeptabel. Dafür weiß die IDE wenigstens, was in welcher meiner Variablen drinsteckt.</p> </blockquote> <p>Ich werd mir bei Gelegenheit mal Scala genauer ansehen. Evtl. gefällts mir ja ;)</p> <p>Da ich mir meine Doku automatisch generieren lasse, habe ich eh alles im DocBlock-Stil geschrieben, damit ist jede Variable eindeutig definiert ;)</p> <div class="signature">-- <br> 42 </div> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622503#m1622503 Whouzuo 2014-10-17T18:51:55Z 2014-10-17T18:51:55Z PHP - nutze die guten Seiten und nutze Frameworks mit Modulen <blockquote> <p>Mahlzeit,</p> <blockquote> <p>Ich wende PHP richtig an: maximal 50 Zeilige unabhängige Scripts. ;)</p> </blockquote> <p>Ok, ich hab ein paar Scripte mit mehr Zeilen :D</p> <blockquote> <p>An produktiven Sprachen gibts da nichts. Scala mit IntelliJ ist ganz gut, refactoring ist allerdings noch nicht akzeptabel. Dafür weiß die IDE wenigstens, was in welcher meiner Variablen drinsteckt.</p> </blockquote> <p>Ich werd mir bei Gelegenheit mal Scala genauer ansehen. Evtl. gefällts mir ja ;)</p> <p>Da ich mir meine Doku automatisch generieren lasse, habe ich eh alles im DocBlock-Stil geschrieben, damit ist jede Variable eindeutig definiert ;)</p> </blockquote> <p>Guck dir bloß nicht Scala an. Du bist momentan noch auf der "dunklen Seite" und würdest in Scala versuchen so zu programmieren wie in C/C++, Java oder PHP. Oder gar Assembler. ;)<br> Das ist natürlich völlig normal, aber nicht unbedingt sinnvoll. Wenn du also wirklich die Konzepte lernen willst, guck dir lieber Haskell an. Oder ML Krams wie OCAML.<br> Aber beschwer dich hinterher nicht bei mir, wenn du dann nie wieder PHP anfassen willst (abgesehen von unter 50 zeiligen Skripten). ;D</p> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622504#m1622504 M. 2014-10-17T18:58:36Z 2014-10-17T18:58:36Z PHP - nutze die guten Seiten und nutze Frameworks mit Modulen <p>Mahlzeit,</p> <blockquote> <p>Das ist natürlich völlig normal, aber nicht unbedingt sinnvoll. Wenn du also wirklich die Konzepte lernen willst, guck dir lieber Haskell an. Oder ML Krams wie OCAML.<br> Aber beschwer dich hinterher nicht bei mir, wenn du dann nie wieder PHP anfassen willst (abgesehen von unter 50 zeiligen Skripten). ;D</p> </blockquote> <p>Also mal ehrlich, wenn das mit OCAML vergleichbar ist, werd ich höchstens schreiend wegrennen. Da ist ja nur noch Brainfuck schlimmer :D</p> <p>Aber danke für den Rat, werd ich berücksichtigen, wenn ich mir wieder mal ne neue Programmiersprache antue ;)</p> <div class="signature">-- <br> 42 </div> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622506#m1622506 M. 2014-10-17T17:59:24Z 2014-10-17T17:59:24Z PHP - nutze die guten Seiten und nutze Frameworks mit Modulen <p>Mahlzeit,</p> <blockquote> <p>Welche?</p> </blockquote> <p>Du schneidest den Namen aus dem Zitat und fragst dann danach? Erwartest du jetzt echt eine Antwort?</p> <div class="signature">-- <br> 42 </div> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622507#m1622507 tami 2014-10-17T21:07:04Z 2014-10-17T21:07:04Z Texteditor "vs." IDE <p>hi M.,</p> <blockquote> <p>Du schneidest den Namen aus dem Zitat und fragst dann danach? Erwartest du jetzt echt eine Antwort?</p> </blockquote> <p>Ja, denn offenbar hatte ich das übersehen. Jetzt frage ich mich, wo der Unterschied zwischen IDE (=Eclipse? PHP-Storm???) und Texteditor (Sublime, SciTE) liegt ...;</p> <p>"Sublime Text is a sophisticated text editor for code, markup and prose." (<a href="http://www.sublimetext.com/" rel="nofollow noopener noreferrer">http://www.sublimetext.com/</a>)</p> <p>mfg</p> <p>tami</p> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622508#m1622508 M. 2014-10-18T08:58:36Z 2014-10-18T08:58:36Z Texteditor "vs." IDE <p>Mahlzeit,</p> <blockquote> <p>Ja, denn offenbar hatte ich das übersehen. Jetzt frage ich mich, wo der Unterschied zwischen IDE (=Eclipse? PHP-Storm???) und Texteditor (Sublime, SciTE) liegt ...;</p> </blockquote> <p>Für mich ist Sublime kein reiner Editor mehr. Durch die Erweiterungsmöglichkeiten geht das, was Sublime kann, über das Können eines Editors hinaus.</p> <p>Allerdings halte ich den Übergang für fliessend. Eine genaue Abgrenzung dürfte ziemlich unmöglich sein.</p> <div class="signature">-- <br> 42 </div> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622510#m1622510 Whouzuo 2014-10-15T21:54:10Z 2014-10-15T21:54:10Z PHP - nutze die guten Seiten und nutze Frameworks mit Modulen <blockquote> <p>hi Whouzuo,</p> <blockquote> <blockquote> <blockquote> <p>Der grösste Nachteil bei PHP ist mMn immer noch mangelhaftes OOP und ein Modul-System, ähnlich wie CPAN bei Perl.</p> </blockquote> <p>nutze die guten seiten (das gilt auch für javascript) [wozu überhaupt @fopen nutzen, wenn es file_get_contents() gibt?]</p> </blockquote> <p>Woher soll man denn wissen, was es gibt?<br> In vernünftigen, objektorientierten Sprachen habe ich ein File-Objekt, setze nen Punkt dahinter und lass mir schön zeigen, was für Funktionen es gibt. In PHP darf ich sofort wieder in die Doku gucken... toll.</p> </blockquote> <p>Nun, dann nutze doch deine "vernünftigen, objektorientierten Sprachen". Für PHP-Frameworks solltest Du das aber auch finden (<a href="https://www.google.de/?#q=IDE+php+framework+autocompletion" rel="nofollow noopener noreferrer">https://www.google.de/?#q=IDE+php+framework+autocompletion</a>).</p> </blockquote> <p>Es geht nicht um autocompletion (was aufgrund fehlender statischer Typisierung sowieso nicht so gut funktionieren wird wie z.B. in Java), sondern um die Objektorientierung.</p> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622511#m1622511 tami 2014-10-16T05:14:58Z 2014-10-16T05:14:58Z PHP - nutze die guten Seiten und nutze Frameworks mit Modulen <p>hi Whouzuo,</p> <blockquote> <p>Es geht nicht um autocompletion (was aufgrund fehlender statischer Typisierung sowieso nicht so gut funktionieren wird wie z.B. in Java), sondern um die Objektorientierung.</p> </blockquote> <p><a href="http://framework.zend.com/" rel="nofollow noopener noreferrer">http://framework.zend.com/</a> ??? ist nicht das einzige, was komplett objektorientiert arbeitet ...;</p> <p>mfg</p> <p>tami</p> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622512#m1622512 Whouzuo 2014-10-16T14:34:17Z 2014-10-16T14:34:17Z PHP - nutze die guten Seiten und nutze Frameworks mit Modulen <blockquote> <p>hi Whouzuo,</p> <blockquote> <p>Es geht nicht um autocompletion (was aufgrund fehlender statischer Typisierung sowieso nicht so gut funktionieren wird wie z.B. in Java), sondern um die Objektorientierung.</p> </blockquote> <p><a href="http://framework.zend.com/" rel="nofollow noopener noreferrer">http://framework.zend.com/</a> ??? ist nicht das einzige, was komplett objektorientiert arbeitet ...;</p> </blockquote> <p>Man merkt, dass es eben auf die Sprache draufgeflanscht ist. In einer Vernünftigen objektorientierten Sprache ist alles ein Objekt. Auch eine Funktion z.B.</p> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622513#m1622513 M. 2014-10-16T15:58:55Z 2014-10-16T15:58:55Z PHP - nutze die guten Seiten und nutze Frameworks mit Modulen <p>Mahlzeit,</p> <blockquote> <p>Man merkt, dass es eben auf die Sprache draufgeflanscht ist. In einer Vernünftigen objektorientierten Sprache ist alles ein Objekt. Auch eine Funktion z.B.</p> </blockquote> <p>Von was reden wir jetzt, von einer vernünftigen Sprache oder von Java?<br> Java wird in einer virtuellen Umgebung ausgeführt, PHP, grob gesagt, in C übersetzt. C++ war ursprünglich auch nur C um OOP erweitert, mit deinem Argument ist dann C++ auf schlecht.</p> <p>Somit haben wir ganz klar einen riesigen Vorteil von PHP gegenüber Java. Und wenn du glaubst, Java wäre anständiges OOP, hast du vermutlich mit C++ nichts am Hut. Es gibt keinen Programmierer, den ich kenne (und das sind mehr als 5), der OOP von Java lobt, wenn er auch in C++ arbeitet.</p> <p>Aber machen wir doch eins: Wenn PHP so alt ist, wie Java jetzt, vergleichen wir mal, welche Programmiersprache besser entwickelt ist. Es ist immer leicht, etwas, was es schon viel länger gibt, besser umzusetzen, als etwas relativ neues.</p> <p>Und um zum absoluten Totschlagargument gegen Java und für PHP zu kommen: Es läuft ohne aufwändige Konfiguration im Webserver. Wenn ich für Java nen Tomcat aufsetzen muss, bekomm ich Suizidgedanken, weil da jeder Furz von Hand nachgestellt werden muss, weil die Grundkonfiguration schrottig ist.</p> <div class="signature">-- <br> 42 </div> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622514#m1622514 Whouzuo 2014-10-17T06:35:17Z 2014-10-17T06:35:17Z PHP - nutze die guten Seiten und nutze Frameworks mit Modulen <blockquote> <p>Mahlzeit,</p> <blockquote> <p>Man merkt, dass es eben auf die Sprache draufgeflanscht ist. In einer Vernünftigen objektorientierten Sprache ist alles ein Objekt. Auch eine Funktion z.B.</p> </blockquote> <p>Von was reden wir jetzt, von einer vernünftigen Sprache oder von Java?</p> </blockquote> <p>Na sicher nicht von Java. Java ist zwar definitiv objektorientierter als PHP, aber sicher nicht verünftigt. Scala könnte in Betracht kommen (wären da nicht die ätzenden Kompatibilitäts-Probleme aufgrund der JVM).</p> <blockquote> <p>Java wird in einer virtuellen Umgebung ausgeführt, PHP, grob gesagt, in C übersetzt. C++ war ursprünglich auch nur C um OOP erweitert, mit deinem Argument ist dann C++ auf schlecht.</p> </blockquote> <p>Ist es auch. Wenn auch deutlich besser als PHP. Dafür hat es aber den Hardware-Nähe und Performance-Vorteil (wenn man denn damit umzugehen weiß). PHP hingegen hat dafür den läuft-meist-out-of-the-box Vorteil. Das macht aber die Sprache nicht gleich gut.</p> <blockquote> <p>Somit haben wir ganz klar einen riesigen Vorteil von PHP gegenüber Java.</p> </blockquote> <p>Und gleichzeitig einen riesigen Vortiel von Java gegenüber PHP.</p> <blockquote> <p>Und wenn du glaubst, Java wäre anständiges OOP</p> </blockquote> <p>Du solltest mal meine anderen Beiträge hier lesen. Ich hasse Java. Mit der 8er gibt's zwar endlich draufgeflanschte first-class-functions und ein default-Methoden bei interfaces, aber es bleibt eben draufgeflanscht. Ich verstehe zwar, dass man die Kompatibilität nicht brechen will, aber ohne die zu brechen, wird die Sprache eben immer hinter den moderneren Sprachen zurückbleiben und irgendwann gnadenlos sterben so wie COBOL.</p> <blockquote> <p>, hast du vermutlich mit C++ nichts am Hut.</p> </blockquote> <p>Jedenfalls vermeide ich es, C++ zu benutzen. Es war allerdings meine erste Programmiersprache (sieht man mal von (HTML mit ein bisschen) Javascript-Krams ab).</p> <blockquote> <p>Aber machen wir doch eins: Wenn PHP so alt ist, wie Java jetzt, vergleichen wir mal, welche Programmiersprache besser entwickelt ist. Es ist immer leicht, etwas, was es schon viel länger gibt, besser umzusetzen, als etwas relativ neues.</p> </blockquote> <p>Wozu? Wir werden höchstens feststellen, dass Java immernoch scheiße ist, weil die Kompatibilität nicht gebrochen werden soll und alle seit 10 Jahren als deprecated gekennzeichneten Methoden immernoch da sind. Und null immernoch da ist. Und Operatorenüberladung immernoch fehlt. Und primitive Typen immernoch da sind. Und Modularisierung immernoch fehlt.<br> Und PHP wird entweder verschwunden sein oder noch da sind und anders sein (Kompatibilität gebrochen) aber so wie es aussieht trotzdem völlig verhunzt ist und die Inkonsistenz bei den Methodennamen immernoch da sein wird usw.</p> <blockquote> <p>Und um zum absoluten Totschlagargument gegen Java und für PHP zu kommen: Es läuft ohne aufwändige Konfiguration im Webserver. Wenn ich für Java nen Tomcat aufsetzen muss, bekomm ich Suizidgedanken, weil da jeder Furz von Hand nachgestellt werden muss, weil die Grundkonfiguration schrottig ist.</p> </blockquote> <p>Voll Zustimmung! Dummerweise bleibt der Nebengeschmack, dass PHP eben für größere Sachen nicht geeignet ist. Und ja, Foren, Wikis etc. sind in PHP geschrieben. Wäre aber in Java wohl besser geworden. ;) Siehe z.B. die Atlassian Produkte. Laufen alle in der JVM. Dass z.B. Facebook seine eigene auf PHP basierende Sprache entwickelt (weils eben doch zu schlecht ist) spricht auch nicht für PHP. Für kleinere Scripte, um mal schnell was zu machen ist es aber gut. Wenn man die Gefahren kennt.</p> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622515#m1622515 M. 2014-10-17T07:07:43Z 2014-10-17T07:07:43Z PHP - nutze die guten Seiten und nutze Frameworks mit Modulen <p>Mahlzeit,</p> <blockquote> <p>Voll Zustimmung! Dummerweise bleibt der Nebengeschmack, dass PHP eben für größere Sachen nicht geeignet ist.</p> </blockquote> <p>Grössere Sache ist sicher definitionssache ;)<br> Was für mich grösser ist, programmiere ich in C++ und klemm sowas, wie cgi.pm in Perl drauf.</p> <p>Allerdings lassen sich auch Multi-User Projekte in PHP umsetzen, solange man als Programmierer entsprechende Disziplin walten lässt :)</p> <p>Das du Java nicht magst, find ich gut ;) Ich hab wohl fälschlicherweise bei dir rausgelesen, du würdest dich auf Java beziehen. Ich halte Java für die Sprache, die die Welt am wenigsten braucht.</p> <div class="signature">-- <br> 42 </div> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622516#m1622516 Whouzuo 2014-10-17T08:43:59Z 2014-10-17T08:43:59Z PHP - nutze die guten Seiten und nutze Frameworks mit Modulen <blockquote> <p>Mahlzeit,</p> <blockquote> <p>Voll Zustimmung! Dummerweise bleibt der Nebengeschmack, dass PHP eben für größere Sachen nicht geeignet ist.</p> </blockquote> <p>Grössere Sache ist sicher definitionssache ;)<br> Was für mich grösser ist, programmiere ich in C++ und klemm sowas, wie cgi.pm in Perl drauf.</p> </blockquote> <p>C++ ist für größere Sachen auch geeignet. Wenn auch weniger als Scala (sofern man die JVM verschmerzen kann, also z.B. nicht für embedded Krams). ;)</p> <blockquote> <p>Allerdings lassen sich auch Multi-User Projekte in PHP umsetzen, solange man als Programmierer entsprechende Disziplin walten lässt :)</p> </blockquote> <p>Natürlich! Auch in Assembler könnte man alles mit genügend Disziplin, Zeit und Schweiß machen. Aber niemand will das...</p> <blockquote> <p>Das du Java nicht magst, find ich gut ;) Ich hab wohl fälschlicherweise bei dir rausgelesen, du würdest dich auf Java beziehen. Ich halte Java für die Sprache, die die Welt am wenigsten braucht.</p> </blockquote> <p>Wahrscheinlich wegen dem "File.". Das sieht eben in Scala genauso aus wie in Java und Scala als (produktiv nutzbare) Sprache mag ich bisher am meisten. Was Besseres habe ich nicht gefunden.</p> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622517#m1622517 M. 2014-10-17T09:00:15Z 2014-10-17T09:00:15Z PHP - nutze die guten Seiten und nutze Frameworks mit Modulen <p>Mahlzeit,</p> <blockquote> <p>C++ ist für größere Sachen auch geeignet. Wenn auch weniger als Scala (sofern man die JVM verschmerzen kann, also z.B. nicht für embedded Krams). ;)</p> </blockquote> <p>Scala spreche ich nicht, kenne ich nur vom Namen her. Daher kann ich dazu nix sagen, aber brauch ich dafür ne Java-Runtime? Oder meintest du einfach ne Scala-VM und nicht die JVM?<br> Ich mag keine Programmiersprachen, die eine VM brauchen, vorallem, weil ich viel im Embedded-Bereich mache. Und wie du sagst, dafür taugt es nicht ;)</p> <blockquote> <p>Natürlich! Auch in Assembler könnte man alles mit genügend Disziplin, Zeit und Schweiß machen. Aber niemand will das...</p> </blockquote> <p>Kein Vergleich. PHP ist und bleibt eine Hochsprache. Ich programmiere auch in Assembler (Hauptsächlich AVR 8-bitter), aber das erfordert wesentlich mehr als PHP.</p> <blockquote> <p>Wahrscheinlich wegen dem "File.".</p> </blockquote> <p>Genau deshalb.</p> <blockquote> <p>Das sieht eben in Scala genauso aus wie in Java und Scala als (produktiv nutzbare) Sprache mag ich bisher am meisten. Was Besseres habe ich nicht gefunden.</p> </blockquote> <p>Scala ist ja von Java inspiriert (u.a.). Aber, wie gersagt, ich kanns nicht, daher kann ich nicht wirklich was dazu sagen. Hat auch noch keiner meiner Kunden verlangt, aber wenn das passiert, weiss ich jetzt wenigstens jemanden, der es kann :)</p> <div class="signature">-- <br> 42 </div> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622518#m1622518 Whouzuo 2014-10-17T09:52:14Z 2014-10-17T09:52:14Z PHP - nutze die guten Seiten und nutze Frameworks mit Modulen <blockquote> <p>Mahlzeit,</p> <blockquote> <p>C++ ist für größere Sachen auch geeignet. Wenn auch weniger als Scala (sofern man die JVM verschmerzen kann, also z.B. nicht für embedded Krams). ;)</p> </blockquote> <p>Scala spreche ich nicht, kenne ich nur vom Namen her. Daher kann ich dazu nix sagen, aber brauch ich dafür ne Java-Runtime?</p> </blockquote> <p>Ja du brauchst ne JVM. Theoretisch geht z.B. auch LLVM, praktisch aber noch nicht.</p> <blockquote> <p>Ich mag keine Programmiersprachen, die eine VM brauchen, vorallem, weil ich viel im Embedded-Bereich mache. Und wie du sagst, dafür taugt es nicht ;)</p> </blockquote> <p>Ändert sich vielleicht mit LLVM. Aber warum magst du keine VM? VM bedeutet nicht gleich langsam. Facebook hat nicht aus Spaß eine VM für PHP/Hack gebastelt.</p> <blockquote> <blockquote> <p>Natürlich! Auch in Assembler könnte man alles mit genügend Disziplin, Zeit und Schweiß machen. Aber niemand will das...</p> </blockquote> <p>Kein Vergleich. PHP ist und bleibt eine Hochsprache. Ich programmiere auch in Assembler (Hauptsächlich AVR 8-bitter), aber das erfordert wesentlich mehr als PHP.</p> </blockquote> <p>Na klar kann ich das vergleichen. Der Abstand von Assembler zu PHP mag größer sein als von PHP zu Scala oder Haskell. Dennoch ist der letztere Abstand definitiv bedeutsam. Und "Hochsprache" ist sowieso nicht eindeutig definiert.</p> <blockquote> <blockquote> <p>Das sieht eben in Scala genauso aus wie in Java und Scala als (produktiv nutzbare) Sprache mag ich bisher am meisten. Was Besseres habe ich nicht gefunden.</p> </blockquote> <p>Scala ist ja von Java inspiriert (u.a.).</p> </blockquote> <p>Nein, umgekehrt. Java ist von Scala inspiriert. Die in Scala eingeführten Generics z.B. wurden dann später in Java übernommen.</p> <blockquote> <p>Aber, wie gersagt, ich kanns nicht, daher kann ich nicht wirklich was dazu sagen. Hat auch noch keiner meiner Kunden verlangt, aber wenn das passiert, weiss ich jetzt wenigstens jemanden, der es kann :)</p> </blockquote> <p>Immer her mit den Angeboten. ;)<br> Ich hoffe, dass Scala wirklich irgendwann mit Java mindestens auf Augenhöhe sein wird.</p> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622519#m1622519 M. 2014-10-17T13:35:36Z 2014-10-17T13:35:36Z PHP - nutze die guten Seiten und nutze Frameworks mit Modulen <p>Mahlzeit,</p> <blockquote> <p>Ja du brauchst ne JVM. Theoretisch geht z.B. auch LLVM, praktisch aber noch nicht.</p> </blockquote> <p>Aber dann ist es ja definitiv Java-Bytecode, der erzeugt wird, also ist es Lediglich Quellcode der in Java übersetzt wird. Find ich uneffektiv.</p> <blockquote> <p>Ändert sich vielleicht mit LLVM. Aber warum magst du keine VM? VM bedeutet nicht gleich langsam. Facebook hat nicht aus Spaß eine VM für PHP/Hack gebastelt.</p> </blockquote> <p>Im Embedded_bereich ist teilweise C zu langsam, deshalb ja Assembler. Klar kostet ein schneller ARM kein Geld mehr, aber bei 500 Modulen im Schaltschrank ist es ein Unterschied ob ein ARM-Board für 12€ oder ein 8-Bit AVR für 3,50€ (also das komplette Board, nicht der Prozessor) verbaut wird.</p> <blockquote> <p>Na klar kann ich das vergleichen. Der Abstand von Assembler zu PHP mag größer sein als von PHP zu Scala oder Haskell. Dennoch ist der letztere Abstand definitiv bedeutsam. Und "Hochsprache" ist sowieso nicht eindeutig definiert.</p> </blockquote> <p>Darüber kann man streiten. Da halte ich den Vergleich zwischen PHP und Perl als schlüssiger. Ist aber grundsätzlich auch egal ;)</p> <blockquote> <p>Nein, umgekehrt. Java ist von Scala inspiriert. Die in Scala eingeführten Generics z.B. wurden dann später in Java übernommen.</p> </blockquote> <p>Dann solltest du mal bei Wikipedia reinschaun, da ist dann der Eintrag falsch, evtl. hilft es, wenn du das korrigierst, wie gesagt, hab ich von Scala keine Ahnung. Wikipedia ist ja auch nicht perfekt ;)</p> <div class="signature">-- <br> 42 </div> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622520#m1622520 Whouzuo 2014-10-17T14:11:14Z 2014-10-17T14:11:14Z PHP - nutze die guten Seiten und nutze Frameworks mit Modulen <blockquote> <p>Mahlzeit,</p> <blockquote> <p>Ja du brauchst ne JVM. Theoretisch geht z.B. auch LLVM, praktisch aber noch nicht.</p> </blockquote> <p>Aber dann ist es ja definitiv Java-Bytecode, der erzeugt wird, also ist es Lediglich Quellcode der in Java übersetzt wird. Find ich uneffektiv.</p> </blockquote> <p>Bei LLVM nicht mehr. Warum du das uneffektiv findest, verstehe ich nicht. Maschinencode-Erzeugung zur Laufzeit hat einige Vorteile, die ansonsten gar nicht möglich sind. Einfaches Beispiel: die JVM stellt zur Laufzeit fest, dass eine Schleife immer nur mit den Werten 1-6 durchlaufen wird. Dann kann man jeden Schleifendurchlauf direkt fix in Maschinencode übersetzen und spart sich den Overhead. Hotspot eben.</p> <blockquote> <blockquote> <p>Ändert sich vielleicht mit LLVM. Aber warum magst du keine VM? VM bedeutet nicht gleich langsam. Facebook hat nicht aus Spaß eine VM für PHP/Hack gebastelt.</p> </blockquote> <p>Im Embedded_bereich ist teilweise C zu langsam, deshalb ja Assembler. Klar kostet ein schneller ARM kein Geld mehr, aber bei 500 Modulen im Schaltschrank ist es ein Unterschied ob ein ARM-Board für 12€ oder ein 8-Bit AVR für 3,50€ (also das komplette Board, nicht der Prozessor) verbaut wird.</p> </blockquote> <p>Klar, Performance ist immer der Killer schlecht hin. Gegen Performance gibt es kein Argument. Tatsache ist aber, dass Hardware immer schneller, günstiger und stromsparender wird. Daher wird der embedded Teil immer kleiner, auch wenn er nie verschwinden wird.</p> <blockquote> <blockquote> <p>Nein, umgekehrt. Java ist von Scala inspiriert. Die in Scala eingeführten Generics z.B. wurden dann später in Java übernommen.</p> </blockquote> <p>Dann solltest du mal bei Wikipedia reinschaun, da ist dann der Eintrag falsch, evtl. hilft es, wenn du das korrigierst, wie gesagt, hab ich von Scala keine Ahnung. Wikipedia ist ja auch nicht perfekt ;)</p> </blockquote> <p>Nö, der ist richtig. Da steht ja nur: "Von Java wurde vor allem eine Reihe von Schlüsselworten sowie die Blocksyntax übernommen". Hier geht es um einen eher kleinen Teil der Syntax und wie die Schlüsselwörter benannt werden. "Inspiriert" würde ich das nicht nennen. Da geht es um Konzepte - und die kommen eher nicht von Java (aber wie gesagt, umgekehrt schon eher), sondern von seinen anderen davor entwickelten Sprachen.</p> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622521#m1622521 M. 2014-10-17T18:05:46Z 2014-10-17T18:05:46Z PHP - nutze die guten Seiten und nutze Frameworks mit Modulen <p>Mahlzeit,</p> <blockquote> <p>Bei LLVM nicht mehr. Warum du das uneffektiv findest, verstehe ich nicht.</p> </blockquote> <p>Ich habe das Programmieren zu einer Zeit gelernt, als man noch mit Taktzyklen gegeizt hat, weil die Prozessoren keine Leistung hatten.<br> Deshalb finde ich alles uneffektiv, was zusätzlich zwischen Code und Prozessor ist. Natürlich ist dabei PHP auch uneffektiv, aber es gibt so verdammt wenig Webserver, die Assemlber-CGI unterstützen :D</p> <div class="signature">-- <br> 42 </div> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622522#m1622522 Whouzuo 2014-10-17T18:49:01Z 2014-10-17T18:49:01Z PHP - nutze die guten Seiten und nutze Frameworks mit Modulen <blockquote> <p>Mahlzeit,</p> <blockquote> <p>Bei LLVM nicht mehr. Warum du das uneffektiv findest, verstehe ich nicht.</p> </blockquote> <p>Ich habe das Programmieren zu einer Zeit gelernt, als man noch mit Taktzyklen gegeizt hat, weil die Prozessoren keine Leistung hatten.<br> Deshalb finde ich alles uneffektiv, was zusätzlich zwischen Code und Prozessor ist. Natürlich ist dabei PHP auch uneffektiv, aber es gibt so verdammt wenig Webserver, die Assemlber-CGI unterstützen :D</p> </blockquote> <p>Naja. Manche halt auch gerne mit manueller Gangschaltung (ääh, korrigiere: erschreckend viele sogar) und holen damit vielleicht sogar 0,01% Sprit raus. Die meisten verbrauchen aber mehr. Genauso wie die meisten - ich wage sogar fast alle zu sagen - bei Assembler Optiminierungen gnadenlos von einem guten C++ Compiler geschlagen werden.<br> Deswegen sehe ich sowohl die manuelle Gangschaltung als auch das Assembler Programmieren als Hobby an ;) abgesehen von Spezialfällen natürlich.</p> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622526#m1622526 M. 2014-10-17T19:04:54Z 2014-10-17T19:04:54Z PHP - nutze die guten Seiten und nutze Frameworks mit Modulen <p>Mahlzeit,</p> <blockquote> <p>Naja. Manche halt auch gerne mit manueller Gangschaltung (ääh, korrigiere: erschreckend viele sogar) und holen damit vielleicht sogar 0,01% Sprit raus.</p> </blockquote> <p>Keine Ahnung, ob ich weniger Sprit brauch, aber ich hab meine Automatik rausgeworfen und 6-Gang Schaltgetriebe eingebaut. Ok, Automatik war kaputt, sonst wär die dringebleiben ;)</p> <blockquote> <p>Genauso wie die meisten - ich wage sogar fast alle zu sagen - bei Assembler Optiminierungen gnadenlos von einem guten C++ Compiler geschlagen werden.</p> </blockquote> <p>Auf allem, was 16 Bit oder mehr hat, möglich, auf 8-Bit AVR und ähnlichen Prozessoren gibt es kein C++. Und C kannst du nicht so optimieren, dass es an Assembler rankommt. Es geht wirklich um einzelne Taktzyklen.</p> <blockquote> <p>Deswegen sehe ich sowohl die manuelle Gangschaltung als auch das Assembler Programmieren als Hobby an ;) abgesehen von Spezialfällen natürlich.</p> </blockquote> <p>Gangschaltung: Nein, Assembler auf nem PC: Ja ;)</p> <div class="signature">-- <br> 42 </div> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622523#m1622523 Der Martin self@kennst.net 2014-10-18T08:57:38Z 2014-10-18T08:57:38Z PHP - nutze die guten Seiten und nutze Frameworks mit Modulen <p>Moin,</p> <blockquote> <p>Manche halt auch gerne mit manueller Gangschaltung (ääh, korrigiere: erschreckend viele sogar) und holen damit vielleicht sogar 0,01% Sprit raus.</p> </blockquote> <p>der Vergleich hinkt, und davon abgesehen ist das Argument "pro" Automatik ganz bestimmt nicht der Spritverbrauch, sondern vor allem der Komfort. Tatsächlich ist es so, dass ein PKW mit Automatik-Getriebe fast immer ein wenig mehr verbraucht als das gleiche Fahrzeug mit konventionellem Schaltgetriebe. Das liegt vor allem an der Hydraulik, die mit angetrieben werden muss, und im Teillastbetrieb auch an den Wandlerverlusten. Im NFZ-Sektor (Omnibus) eingesetzte Automatikgetriebe haben meistens eine Wandler-Überbrückungskupplung, so dass der Schlupf an der Stelle eliminiert wird und der Wandler wirklich nur noch beim Anfahren bzw. Langsamfahrt seinen Job tut. Ob dieser Aufwand bei PKW-Getrieben auch schon üblich ist, weiß ich nicht.<br> Ein weiterer Grund für Mehrverbrauch durch Automatik ist, dass das Getriebe nicht die Verkehrssituation vorausahnen kann wie ein menschlicher Autofahrer.</p> <p>In der Wirklichkeit sind aber Verbrauchs-Unterschiede durch individuelle Fahrweise viel größer als die durch Automatik oder eben nicht Automatik.</p> <blockquote> <p>Genauso wie die meisten - ich wage sogar fast alle zu sagen - bei Assembler Optiminierungen gnadenlos von einem guten C++ Compiler geschlagen werden.</p> </blockquote> <p>Dazu fehlen mir Angaben, anhand derer ich das beurteilen könnte, ich zweifle aber stark an der Aussage. Aber vielleicht müssen wir bei Assembler-Programmierung zwei Lager unterscheiden.</p> <p>Zum einen die Programmierer, die Assembler verwenden, weil sie "müssen" - etwa weil für die verwendete Plattform (µCs) kein C-Compiler verfügbar ist, oder weil das Projekt es aus historischen Gründen so vorgibt. Für die mag deine Aussage zutreffen, weil sie mit dem Zeug einigermaßen klarkommen, aber nicht in die Feinheiten und Rafinessen eindringen (und das möglicherweise auch gar nicht wollen).</p> <p>Und dann diejenigen, die in Assembler programmieren, weil sie es wirklich können. Die schauen sich den Assembler-Code an, den der Compiler aus ihrem C-Source gemacht hat, und finden dann, dass man daran noch einiges verbessern könnte. Ich spreche da aus Erfahrung. ;-)</p> <p>Für mich war Assembler (damals auf einer einfachen 8bit-CPU, ich sag nur: C64) der Einstieg in die Programmierung überhaupt, von einer oberflächlichen Bekanntschaft (nicht Freundschaft) mit BASIC mal abgesehen, und ich habe auch später auf dem PC unter DOS noch sehr viel mit Assembler gemacht. Aus Neugier habe ich mir auch oft den Assembler-Code angesehen, den a) der Borland-Pascal-Compiler und b) der Borland-C-Compiler produzierten. Und zu meiner Überraschung habe ich festgestellt, dass die beiden Compiler aus demselben Haus sehr unterschiedlich waren, was Effizienz und Optimierung angeht. Beim Pascal-Compiler hatte ich nur ganz selten den Eindruck, dass man da noch etwas "herauskitzeln" könnte, beim C-Compiler eigentlich ständig. Redundantes, mehrfaches Laden derselben Werte aus dem Speicher, Berechnen von konstanten Ausdrücken zur Laufzeit anstatt beim Compilieren, mehrfaches Ausführen gleichbleibender Operationen in einer Schleife, anstatt diese Operation aus der Schleife herauszuziehen.</p> <blockquote> <p>Deswegen sehe ich sowohl die manuelle Gangschaltung als auch das Assembler Programmieren als Hobby an ;) abgesehen von Spezialfällen natürlich.</p> </blockquote> <p>"Hobby" ist vielleicht nicht der richtige Begriff. Die Frage, ob Automatik oder Handschaltung hat viel mit der Persönlichkeit zu tun, eventuell auch mit dem Budget. Bei der Frage, ob Hochsprache oder Assembler mag der Begriff Hobby für diejenigen zutreffen, die sowieso "just for fun" programmieren; bei den meisten ergibt sich die Entscheidung aber wohl eher aus dem Diktat der Erfordernisse.</p> <p>So long,<br>  Martin</p> <div class="signature">-- <br> Der Klügere gibt solange nach, bis er der Dumme ist.<br> Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:( </div> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622524#m1622524 Whouzuo 2014-10-19T21:59:59Z 2014-10-19T21:59:59Z PHP - nutze die guten Seiten und nutze Frameworks mit Modulen <blockquote> <p>Moin,</p> <blockquote> <p>Manche halt auch gerne mit manueller Gangschaltung (ääh, korrigiere: erschreckend viele sogar) und holen damit vielleicht sogar 0,01% Sprit raus.</p> </blockquote> <p>der Vergleich hinkt</p> </blockquote> <p>Weil?</p> <blockquote> <p>, und davon abgesehen ist das Argument "pro" Automatik ganz bestimmt nicht der Spritverbrauch, sondern vor allem der Komfort.</p> </blockquote> <p>Es ging aber nicht, um die Argumente für eine Automatik, sondern eben um den Vergleich. ;)</p> <blockquote> <p>Tatsächlich ist es so, dass ein PKW mit Automatik-Getriebe fast immer ein wenig mehr verbraucht als das gleiche Fahrzeug mit konventionellem Schaltgetriebe.</p> </blockquote> <p>Tatsächlich sind aber z.B. stufenlose Automatikgetriebe sparsamer als Schaltgetrieben. (allerdings auch technisch etwas aufwändiger und von Kundenseite leider kaum akzeptiert)</p> <blockquote> <blockquote> <p>Genauso wie die meisten - ich wage sogar fast alle zu sagen - bei Assembler Optiminierungen gnadenlos von einem guten C++ Compiler geschlagen werden.</p> </blockquote> <p>Dazu fehlen mir Angaben, anhand derer ich das beurteilen könnte, ich zweifle aber stark an der Aussage. Aber vielleicht müssen wir bei Assembler-Programmierung zwei Lager unterscheiden.</p> <p>Zum einen die Programmierer, die Assembler verwenden, weil sie "müssen" - etwa weil für die verwendete Plattform (µCs) kein C-Compiler verfügbar ist</p> </blockquote> <p>Nein, die müssen wir eigentlich nicht Unterscheiden, weil diese dafür keinen C++ Compiler benutzen können und daher bei meinem Vergleich im vorhinein gar nicht berücksichtigt sind. ;)</p> <blockquote> <p>Und dann diejenigen, die in Assembler programmieren, weil sie es wirklich können. Die schauen sich den Assembler-Code an, den der Compiler aus ihrem C-Source gemacht hat, und finden dann, dass man daran noch einiges verbessern könnte. Ich spreche da aus Erfahrung. ;-)</p> </blockquote> <p>Dann magst du eine rühmliche Ausnahme sein. ;)</p> <blockquote> <p>Beim Pascal-Compiler hatte ich nur ganz selten den Eindruck, dass man da noch etwas "herauskitzeln" könnte, beim C-Compiler eigentlich ständig.</p> </blockquote> <p>Interessant, das wundert mich ein wenig. Aber weils aus dem selben Hause kommt, müssen nicht die gleichen Leute dran gearbeitet haben.</p> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622525#m1622525 M. 2014-10-19T23:21:57Z 2014-10-19T23:21:57Z PHP - nutze die guten Seiten und nutze Frameworks mit Modulen <p>Mahlzeit,</p> <blockquote> <blockquote> <p>Und dann diejenigen, die in Assembler programmieren, weil sie es wirklich können. Die schauen sich den Assembler-Code an, den der Compiler aus ihrem C-Source gemacht hat, und finden dann, dass man daran noch einiges verbessern könnte. Ich spreche da aus Erfahrung. ;-)</p> </blockquote> <p>Dann magst du eine rühmliche Ausnahme sein. ;)</p> </blockquote> <p>Ich hab das mal mit Basic (Amstrad CPC 464) gemacht und dann versucht, den Maschinencode, den ich per Hexdump aus dem Speicher geholt hab, direkt auszuführen (Ich glaub ab Hex 0170 oder sowas lagen die Basic-Porgramme). Ab dem Zeitpunkt wusste ich, Maschinencode ist etwas schwerer zu erlernen als Basic. Zu meiner Entschuldigung, ich war grad mal 12 Jahre alt zu dem Zeitpunkt :D</p> <div class="signature">-- <br> 42 </div> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622530#m1622530 Tabellenkalk 2014-10-07T09:22:53Z 2014-10-07T09:22:53Z PHP-Facepalm meines Tages: 0 == '*new*' <p>Hallo,</p> <blockquote> <p>Eher daran, dass Leute, die so tief in die Materie eindringen keine Zeit und/oder Muße haben, Artikel zu schreiben ;)</p> </blockquote> <p>oder sich ganz einfach nicht für einen Artikelschreiber halten.</p> <p>Gruß<br> Kalk</p> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622532#m1622532 Matthias Apsel webmaster@billiger-im-urlaub.de http://alternativ-tankstelle.de 2014-10-06T08:59:26Z 2014-10-06T08:59:26Z PHP-Facepalm meines Tages: 0 == '*new*' <p>Om nah hoo pez nyeetz, Auge!</p> <blockquote> <blockquote> <p>Als nächstes kommt dann jemand der sich über Pearl beschwert, weil er es 1999 in der iX gelesen hat 8)<br> Gab's den Laden damals schon? *scnr*</p> </blockquote> </blockquote> <p>Der ist viel älter ;-)<br> <img src="http://upload.wikimedia.org/wikipedia/commons/thumb/7/7b/BlackPearl.jpg/400px-BlackPearl.jpg" alt="Black Pearl" loading="lazy"><br> Quelle: <a href="http://commons.wikimedia.org/wiki/File:BlackPearl.jpg" rel="nofollow noopener noreferrer">http://commons.wikimedia.org/wiki/File:BlackPearl.jpg</a></p> <p>Matthias</p> <div class="signature">-- <br> Der Unterschied zwischen Java und JavaScript ist größer als der zwischen <a href="http://selfhtml.apsel-mv.de/java-javascript/index.php?buchstabe=B#brom" rel="nofollow noopener noreferrer">Brom und Bromelie</a>.<br> <img src="http://www.billiger-im-urlaub.de/kreis_sw.gif" alt="" loading="lazy"><br> </div> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622533#m1622533 Auge auge8472@web.de 2014-10-06T09:12:50Z 2014-10-06T09:12:50Z PHP-Facepalm meines Tages: 0 == '*new*' <p>Hallo</p> <blockquote> <blockquote> <blockquote> <p>Als nächstes kommt dann jemand der sich über Pearl beschwert, weil er es 1999 in der iX gelesen hat 8)<br> Gab's den Laden damals schon? *scnr*</p> </blockquote> </blockquote> <p>Der ist viel älter ;-)<br> <img src="http://upload.wikimedia.org/wikipedia/commons/thumb/7/7b/BlackPearl.jpg/400px-BlackPearl.jpg" alt="Black Pearl" loading="lazy"><br> Quelle: <a href="http://commons.wikimedia.org/wiki/File:BlackPearl.jpg" rel="nofollow noopener noreferrer">http://commons.wikimedia.org/wiki/File:BlackPearl.jpg</a></p> </blockquote> <p>Nicht schlecht, aber es geht noch vieeel älter. .-)</p> <p><a href="http://de.wikipedia.org/wiki/Perle#Kulturelle_Bedeutung" rel="nofollow noopener noreferrer">In einem über 7000 Jahre alten neolithischen Grab im Emirat Umm al Quwain (Vereinigte Arabische Emirate) haben Forscher 2012 eine Perle entdeckt.</a><br> Quelle: de.wikipedia.org, <a href="http://de.wikipedia.org/wiki/Perle" rel="nofollow noopener noreferrer">Perle</a></p> <p>Tschö, Auge</p> <div class="signature">-- <br> Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.<br> Terry Pratchett, "Wachen! Wachen!"<br> ie:{ fl:| br:> va:) ls:[ fo:) rl:( ss:| de:> js:| zu:}<br> <a href="http://termindbase.auge8472.de/" rel="nofollow noopener noreferrer">Veranstaltungsdatenbank Vdb 0.3</a> </div> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622535#m1622535 Tara 2014-10-07T16:33:08Z 2014-10-07T16:33:08Z PHP-Facepalm meines Tages: 0 == '*new*' <blockquote> <p><a href="http://fabien.potencier.org/article/64/php-is-much-better-than-you-think" rel="nofollow noopener noreferrer">http://fabien.potencier.org/article/64/php-is-much-better-than-you-think</a></p> </blockquote> <p>"PHP is probably not the best designed language in the world, but it lets you get things done, and you can't argue with that."</p> <p>Wenn der einzige Anspruch an eine Sprache ist, dass man seinen Kram schnell irgendwie zusammenzimmern kann, dann gibt es sicher nichts gegen PHP einzuwenden.</p> <p>Dann hast du allerdings auch den Artikel, auf den ich hingewiesen haben, nicht verstanden, und zwar nicht einmal im <a href="http://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/#stance" rel="nofollow noopener noreferrer">Ansatz</a>.</p> <p>Es ist in Ordnung, wenn jemand an ein Auto keinerlei Ansprüche stellt, außer dass es mittels Motorkraft vorwärts rollt, denn für alles andere gibt es ja den Zubehörhandel sowie Hammer und Meißel. Für diesen Jemand sind Trabant und Wartburg, meinetwegen auch ein Ford Taunus Baujahr '60, sicher eine völlig ausreichende, akzeptable Wahl.<br> Andere Leute hingegen erwarten von einem für sie "guten" Auto gewisse Dinge der Ingenieurskunst, die berühmte Knautschzone etwa, vielleicht einen Airbag. Sind sie deshalb Nörgler, ihre vorgebrachten Mängelpunkte nicht beachtenswert?</p> <p>Die genannten Autos bringen dich zweifelsohne schnell und einfach von A nach B, aber spätestens wenn du so ein Fahrzeug ungebremst an einem Baum parkst, erst von der Lenksäule aufgespießt, dann vom Motorblock zerquetscht und schließlich vom Baumstamm in zwei Teile zerrissen, wirst du dir auf dem Weg in den Himmel sicher noch einmal überlegen, ob diese anderen Leute mit den gewissen Ansprüchen tatsächlich nur am Meckern waren oder ob sie nicht vielleicht doch nachvollziehbare Punkte hatten - vor allem aber, ob die Aussage "Das Auto ist zwar nicht so toll, aber ich kenne ja seine Mängel und stelle mich darauf ein" tatsächlich schon reicht, um es als objektiv gutes Automobil zu bezeichnen.</p> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622537#m1622537 tami 2014-10-08T07:26:23Z 2014-10-08T07:26:23Z Programmiersprachen sind keine Autos <p>hi Tara,</p> <blockquote> <blockquote> <p><a href="http://fabien.potencier.org/article/64/php-is-much-better-than-you-think" rel="nofollow noopener noreferrer">http://fabien.potencier.org/article/64/php-is-much-better-than-you-think</a></p> </blockquote> <p>"PHP is probably not the best designed language in the world, but it lets you get things done, and you can't argue with that."</p> <p>Wenn der einzige Anspruch an eine Sprache ist, dass man seinen Kram schnell irgendwie zusammenzimmern kann, dann gibt es sicher nichts gegen PHP einzuwenden.</p> </blockquote> <p>Eine Programmiersprache ist kein Auto. Sie ist eher wie die Einzelteile, aus denen Du ein Auto bauen kannst. Deshalb: a) nutze die Teile, die "gut" sind und b) nutze Frameworks. Damit bist Du all Deine Probleme los (s. a. meine Links). Es macht keinen Sinn, sich über Inkonsitenzen im Deutsch, Englischen, Spanischen oder Chinesischen aufzuregen, wenn die halbe Welt das spricht und man damit hervorragend kommunizieren kann.</p> <p>mfg</p> <p>tami</p> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622536#m1622536 M. 2014-10-08T09:24:45Z 2014-10-08T09:24:45Z PHP-Facepalm meines Tages: 0 == '*new*' <p>Mahlzeit,</p> <blockquote> <p>Wenn der einzige Anspruch an eine Sprache ist, dass man seinen Kram schnell irgendwie zusammenzimmern kann, dann gibt es sicher nichts gegen PHP einzuwenden.</p> </blockquote> <p>In welcher Sprache programmierst du denn?<br> Denn dieser Satz gilt auch für Perl, Python, Ruby und einige andere Scriptsprachen.</p> <p>Bin mal gespannt ob von dir nochmal was konstruktives kommt, bisher gabs nur Bashing ohne Hintergrund.</p> <div class="signature">-- <br> 42 </div> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622538#m1622538 Whouzuo 2014-10-14T18:15:35Z 2014-10-14T18:15:35Z Programmiersprachen sind keine Autos <blockquote> <p>hi Tara,</p> <blockquote> <blockquote> <p><a href="http://fabien.potencier.org/article/64/php-is-much-better-than-you-think" rel="nofollow noopener noreferrer">http://fabien.potencier.org/article/64/php-is-much-better-than-you-think</a></p> </blockquote> <p>"PHP is probably not the best designed language in the world, but it lets you get things done, and you can't argue with that."</p> <p>Wenn der einzige Anspruch an eine Sprache ist, dass man seinen Kram schnell irgendwie zusammenzimmern kann, dann gibt es sicher nichts gegen PHP einzuwenden.</p> </blockquote> <p>Eine Programmiersprache ist kein Auto. Sie ist eher wie die Einzelteile, aus denen Du ein Auto bauen kannst.</p> </blockquote> <p>Nope, sie ist das Auto. Die Einzelteile sind die einzelnen Sprachkonstrukte.</p> <blockquote> <p>Deshalb: a) nutze die Teile, die "gut" sind und b) nutze Frameworks. Damit bist Du all Deine Probleme los (s. a. meine Links).</p> </blockquote> <p>Bist du nicht. Z.B. die Sicherheitsprobleme bist du nicht los. Und es ist ja nicht damit getan, einfach nur Framework-Funktionen aufzurufen. Irgendwas wirst du auch selbst schreiben wollen. ;)</p> <blockquote> <p>Es macht keinen Sinn, sich über Inkonsitenzen im Deutsch, Englischen, Spanischen oder Chinesischen aufzuregen, wenn die halbe Welt das spricht und man damit hervorragend kommunizieren kann.</p> </blockquote> <p>Hervorragend? Frag das mal die Schüler, die sich über die tollen Ausnahmeregeln im Englischen aufregen. Die erzählen dir was. Umgekehrt natürlich genauso. ;)</p> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622544#m1622544 Der Martin self@kennst.net 2014-10-14T18:48:31Z 2014-10-14T18:48:31Z Programmiersprachen sind keine Autos <p>Hallo,</p> <blockquote> <blockquote> <p>Es macht keinen Sinn, sich über Inkonsitenzen im Deutsch, Englischen, Spanischen oder Chinesischen aufzuregen, wenn die halbe Welt das spricht und man damit hervorragend kommunizieren kann.<br> Hervorragend? Frag das mal die Schüler, die sich über die tollen Ausnahmeregeln im Englischen aufregen.</p> </blockquote> </blockquote> <p>die haben's aber noch sehr leicht im Vergleich zu denen, die Französisch oder Deutsch als Fremdsprache lernen sollen. Englisch ist dagegen sehr einfach gestrickt.</p> <p>Über Spanisch, Italienisch oder Mandarin sage ich lieber nichts, weil ich diese Sprachen nur sehr oberflächlich bzw. im Falle von Mandarin überhaupt nicht kenne.</p> <p>Ciao,<br>  Martin</p> <div class="signature">-- <br> Theorie ist, wenn jeder weiß, wie's geht, und es geht trotzdem nicht.<br> Praxis ist, wenn's geht, und keiner weiß warum.<br> Bei uns sind Theorie und Praxis vereint: Nichts geht, und keiner weiß warum.<br> Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:( </div> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622542#m1622542 Felix Riesterer http://felix-riesterer.de/ 2014-10-15T07:37:54Z 2014-10-15T07:37:54Z Schüler können kommunizieren - auch auf Englisch <p>Lieber Whouzuo,</p> <blockquote> <blockquote> <p>wenn die halbe Welt das spricht und man damit hervorragend kommunizieren kann.</p> </blockquote> <p>Hervorragend? Frag das mal die Schüler, die sich über die tollen Ausnahmeregeln im Englischen aufregen.</p> </blockquote> <p>was hat denn "kommunizieren" mit "Ausnahmeregeln" zu tun? Korrekte Sätze in "Schriftenglisch" zu formulieren ist eine Sache, sich in der Englischen Sprache verständlich machen eine andere. Beispiel:</p> <p>A: You hungry?<br> B: Nope.</p> <p>A inquired after B feeling any hungry to which B replied in the negative.</p> <p>Ersteres ist Kommunizieren: Beide Teilnehmer verstehen genau worum es geht und was das jeweils andere Individuum will.</p> <p>Zweiteres ist ein Satz (wenn auch ein etwas geschraubter), den Abiturienten so nicht unbedingt hinkriegen.</p> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> "Wäre die EU ein Staat, der die Aufnahme in die EU beantragen würde, müsste der Antrag zurückgewiesen werden - aus Mangel an demokratischer Substanz." (Martin Schulz, Präsident des EU-Parlamentes) </div> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622539#m1622539 tami 2014-10-15T09:54:48Z 2014-10-15T09:54:48Z Programmiersprachen sind keine Autos <p>hi Whouzuo,</p> <blockquote> <blockquote> <blockquote> <p>Wenn der einzige Anspruch an eine Sprache ist, dass man seinen Kram schnell irgendwie zusammenzimmern kann, dann gibt es sicher nichts gegen PHP einzuwenden.</p> </blockquote> <p>Eine Programmiersprache ist kein Auto. Sie ist eher wie die Einzelteile, aus denen Du ein Auto bauen kannst.</p> </blockquote> <p>Nope, sie ist das Auto. Die Einzelteile sind die einzelnen Sprachkonstrukte.</p> </blockquote> <p>Ok, dann zeig mir mal, wie Du dein Auto fährst, indem Du nur die guten Teilen benutzt.</p> <blockquote> <blockquote> <p>Deshalb: a) nutze die Teile, die "gut" sind und b) nutze Frameworks. Damit bist Du all Deine Probleme los (s. a. meine Links).</p> </blockquote> <p>Bist du nicht. Z.B. die Sicherheitsprobleme bist du nicht los. Und es ist ja nicht damit getan, einfach nur Framework-Funktionen aufzurufen. Irgendwas wirst du auch selbst schreiben wollen. ;)</p> </blockquote> <p>Naja, um Konsistenzen und Sicherheit sind Frameworks aber bemüht.</p> <blockquote> <blockquote> <p>Es macht keinen Sinn, sich über Inkonsitenzen im Deutsch, Englischen, Spanischen oder Chinesischen aufzuregen, wenn die halbe Welt das spricht und man damit hervorragend kommunizieren kann.</p> </blockquote> <p>Hervorragend? Frag das mal die Schüler, die sich über die tollen Ausnahmeregeln im Englischen aufregen. Die erzählen dir was. Umgekehrt natürlich genauso. ;)</p> </blockquote> <p>Nee, die Lehrerin sagt ja nicht: nutze nur die "good parts". Oder ein Framework.</p> <p>mfg</p> <p>tami</p> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622540#m1622540 Whouzuo 2014-10-15T22:04:48Z 2014-10-15T22:04:48Z Programmiersprachen sind keine Autos <blockquote> <p>hi Whouzuo,</p> <blockquote> <blockquote> <blockquote> <p>Wenn der einzige Anspruch an eine Sprache ist, dass man seinen Kram schnell irgendwie zusammenzimmern kann, dann gibt es sicher nichts gegen PHP einzuwenden.</p> </blockquote> <p>Eine Programmiersprache ist kein Auto. Sie ist eher wie die Einzelteile, aus denen Du ein Auto bauen kannst.</p> </blockquote> <p>Nope, sie ist das Auto. Die Einzelteile sind die einzelnen Sprachkonstrukte.</p> </blockquote> <p>Ok, dann zeig mir mal, wie Du dein Auto fährst, indem Du nur die guten Teilen benutzt.</p> </blockquote> <p>Ganz einfach, ich schmeiß die Rücksitze raus, lad viel Krempel rein und fahr trotzdem. Oder ich benutze im Sommer die Sommerreifen und im Winter die Winterreifen. =)</p> <p>Klar, manche Sprachkonstrukte (z.B. Bedingungen) wird man immer nutzen müssen. Bei vielen hat man aber die Wahl. Im Falle von PHP hat man manchmal aber eben auch keine Wahl, weil es bestimmte Dinge nicht gibt. Z.B. first-class-functions.<br> Das ist so als wenn ich meine Klimaanlage anschalten will, aber es gibt nur die Belüftung. Damit komme ich vielleicht irgendwie auch zum Ziel, aber es geht auch besser.</p> <blockquote> <blockquote> <blockquote> <p>Deshalb: a) nutze die Teile, die "gut" sind und b) nutze Frameworks. Damit bist Du all Deine Probleme los (s. a. meine Links).</p> </blockquote> <p>Bist du nicht. Z.B. die Sicherheitsprobleme bist du nicht los. Und es ist ja nicht damit getan, einfach nur Framework-Funktionen aufzurufen. Irgendwas wirst du auch selbst schreiben wollen. ;)</p> </blockquote> <p>Naja, um Konsistenzen und Sicherheit sind Frameworks aber bemüht.</p> </blockquote> <p>Ja, darum dass sie nicht noch MEHR Sicherheitsprobleme einführen. ;)<br> Und die komische Benamsung diverser PHP built-in Funktionen beheben sie auch nicht.</p> <blockquote> <blockquote> <blockquote> <p>Es macht keinen Sinn, sich über Inkonsitenzen im Deutsch, Englischen, Spanischen oder Chinesischen aufzuregen, wenn die halbe Welt das spricht und man damit hervorragend kommunizieren kann.</p> </blockquote> <p>Hervorragend? Frag das mal die Schüler, die sich über die tollen Ausnahmeregeln im Englischen aufregen. Die erzählen dir was. Umgekehrt natürlich genauso. ;)</p> </blockquote> <p>Nee, die Lehrerin sagt ja nicht: nutze nur die "good parts". Oder ein Framework.</p> </blockquote> <p>Warum auch - das ist so als wenn du sagst "mach das, was du für sinnvoll hälst". Jeder benutzt nur die "good parts", warum sollte er auch die "bad parts" benutzen, wenn es die "good parts" doch offensichtlich gibt?<br> Nur sind sie bei PHP eben oft entweder nicht vorhanden oder nicht offensichtlich.</p> <p>Aber ist auch okay. Entwickelt ruhig weiter mit PHP. Ich nutze es selbst ab und zu für kleine Scripte auf meinem Server. Was Größeres würde ich damit aber nie nie niemals entwickeln wollen. Wenn man einmal in den Genuss funktionaler und aspektorientierter sowie verünftig umgesetzter objektorientier Programmierung gekommen ist, der empfindet PHP als Qual. Genauso, wie ich Autos ohne Servolenkung ebenfalls als Qual empfinde.</p> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622541#m1622541 tami 2014-10-16T05:16:46Z 2014-10-16T05:16:46Z Programmiersprachen sind keine Autos <p>hi Whouzuo,</p> <blockquote> <p>Aber ist auch okay. Entwickelt ruhig weiter mit PHP. Ich nutze es selbst ab und zu für kleine Scripte auf meinem Server. Was Größeres würde ich damit aber nie nie niemals entwickeln wollen. Wenn man einmal in den Genuss funktionaler und aspektorientierter sowie verünftig umgesetzter objektorientier Programmierung gekommen ist, der empfindet PHP als Qual. Genauso, wie ich Autos ohne Servolenkung ebenfalls als Qual empfinde.</p> </blockquote> <p>nuja ... dann eben "nie nie niemals" ...;</p> <p>mfg</p> <p>tami</p> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622543#m1622543 Whouzuo 2014-10-15T21:56:24Z 2014-10-15T21:56:24Z Schüler können kommunizieren - auch auf Englisch <blockquote> <p>Lieber Whouzuo,</p> <blockquote> <blockquote> <p>wenn die halbe Welt das spricht und man damit hervorragend kommunizieren kann.</p> </blockquote> <p>Hervorragend? Frag das mal die Schüler, die sich über die tollen Ausnahmeregeln im Englischen aufregen.</p> </blockquote> <p>was hat denn "kommunizieren" mit "Ausnahmeregeln" zu tun?</p> </blockquote> <p>Ganz einfach: man muss es erst aufwändig lernen. Bis dahin (und das ist ein langer Weg) kommuniziert man eben auf fehlerhafte Weise. Manches kann der Gegenüber ausgleichen, aber nicht alles. False friends z.B. lassen hier grüßen.</p> <blockquote> <p>Ersteres ist Kommunizieren: Beide Teilnehmer verstehen genau worum es geht und was das jeweils andere Individuum will.</p> </blockquote> <p>Ja in diesem Beispiel. Verallgemeinern kannst du das nicht.</p> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622545#m1622545 Whouzuo 2014-10-15T06:42:37Z 2014-10-15T06:42:37Z Programmiersprachen sind keine Autos <blockquote> <p>Hallo,</p> <blockquote> <blockquote> <p>Es macht keinen Sinn, sich über Inkonsitenzen im Deutsch, Englischen, Spanischen oder Chinesischen aufzuregen, wenn die halbe Welt das spricht und man damit hervorragend kommunizieren kann.<br> Hervorragend? Frag das mal die Schüler, die sich über die tollen Ausnahmeregeln im Englischen aufregen.</p> </blockquote> </blockquote> <p>die haben's aber noch sehr leicht im Vergleich zu denen, die Französisch oder Deutsch als Fremdsprache lernen sollen. Englisch ist dagegen sehr einfach gestrickt.</p> </blockquote> <p>Genau und trotzdem selbst die meckern schon gehörig. :D</p> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622547#m1622547 dedlfix 2014-10-03T10:50:50Z 2014-10-03T10:50:50Z typensicherer Vergleiche, PHP wie Javascript <p>Tach!</p> <blockquote> <p>Es macht m.E. keinen Sinn, typenlos zu vergleichen.</p> </blockquote> <p>Kennst du überhaupt die genaue Aufgabenstellung, dass du die Sinnhaftigkeit der Lösung beurteilen kannst? Mir stellt sich eher die Frage, warum hier Werte unterschiedlicher Typen verglichen werden. Da müsste man ansetzen, um eine passendere Lösung zu finden. Einfach einen typsicheren Vergleich zu nehmen, scheint mir nicht die angemessene Lösung zu sein. Aber um das genauer zu beurteilen brauch ich Informationen zum Anwendungsfall.</p> <p>dedlfix.</p> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622551#m1622551 Felix Riesterer http://felix-riesterer.de/ 2014-10-03T12:16:55Z 2014-10-03T12:16:55Z typensicherer Vergleiche, PHP wie Javascript <p>Lieber dedlfix,</p> <blockquote> <p>Aber um das genauer zu beurteilen brauch ich Informationen zum Anwendungsfall.</p> </blockquote> <p>ich vergleiche Array-Keys, die sowohl numerisch als auch alphanumerisch sein können. Die numerischen Werte sind anscheinend nicht als Strings definiert...</p> <p>Liebe Grüße,</p> <p>Felix Riesterer.</p> <div class="signature">-- <br> "Wäre die EU ein Staat, der die Aufnahme in die EU beantragen würde, müsste der Antrag zurückgewiesen werden - aus Mangel an demokratischer Substanz." (Martin Schulz, Präsident des EU-Parlamentes) </div> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622548#m1622548 tami 2014-10-03T12:29:20Z 2014-10-03T12:29:20Z typensicherer Vergleiche, PHP wie Javascript <p>hi dedlfix,</p> <blockquote> <p>Kennst du überhaupt die genaue Aufgabenstellung, dass du die Sinnhaftigkeit der Lösung beurteilen kannst? Mir stellt sich eher die Frage, warum hier Werte unterschiedlicher Typen verglichen werden. Da müsste man ansetzen, um eine passendere Lösung zu finden. Einfach einen typsicheren Vergleich zu nehmen, scheint mir nicht die angemessene Lösung zu sein. Aber um das genauer zu beurteilen brauch ich Informationen zum Anwendungsfall.</p> </blockquote> <p>Nuja, die "Diskussion" ist ja alt ...; genau wie die Fallstricke.</p> <p><a href="http://forum.golem.de/kommentare/security/facebook-programmiersprache-hack-offiziell-verfuegbar/typensicherheit-ist-schon-was-feines.../81012,3680316,3680871,read.html#msg-3680871" rel="nofollow noopener noreferrer">http://forum.golem.de/kommentare/security/facebook-programmiersprache-hack-offiziell-verfuegbar/typensicherheit-ist-schon-was-feines.../81012,3680316,3680871,read.html#msg-3680871</a></p> <p><a href="http://forum.de.selfhtml.org/archiv/2014/5/t217557/#m1494924" rel="nofollow noopener noreferrer">http://forum.de.selfhtml.org/archiv/2014/5/t217557/#m1494924</a></p> <p>Wenn du typensicher vergleichst, brauchst du allenfalls ein paar Zeichen mehr, aber der Code ist dafür nicht nur typensicher sondern eineindeutig und also auch "idiotensicher".</p> <p>mfg</p> <p>tami</p> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622549#m1622549 dedlfix 2014-10-03T15:54:51Z 2014-10-03T15:54:51Z typensicherer Vergleiche, PHP wie Javascript <p>Tach!</p> <blockquote> <p>Wenn du typensicher vergleichst, brauchst du allenfalls ein paar Zeichen mehr, aber der Code ist dafür nicht nur typensicher sondern eineindeutig und also auch "idiotensicher".</p> </blockquote> <p>Bei meiner Frage ging es nicht darum ob der eine oder der andere Feuerlöscher der bessere sei, sondern wie man den Brand von vorn herein verhindert.</p> <p>dedlfix.</p> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622550#m1622550 tami 2014-10-03T21:59:27Z 2014-10-03T21:59:27Z typensicherer Vergleiche, PHP wie Javascript <p>hi dedlfix,</p> <blockquote> <blockquote> <p>Wenn du typensicher vergleichst, brauchst du allenfalls ein paar Zeichen mehr, aber der Code ist dafür nicht nur typensicher sondern eineindeutig und also auch "idiotensicher".</p> </blockquote> <p>Bei meiner Frage ging es nicht darum ob der eine oder der andere Feuerlöscher der bessere sei, sondern wie man den Brand von vorn herein verhindert.</p> </blockquote> <p>mag ja sein. ein sicherer feuerlöscher ist aber sicher besser als einer der nur vielleicht funktioniert. dabei ist ein === natürlich kein feuerlöscher. ein sicherer brandverhinderer schon eher.</p> <p>mfg</p> <p>tami</p> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622554#m1622554 Christian Kruse c--j--k--remove-dashes@wwwtech.de http://wwwtech.de/ 2014-10-03T12:30:33Z 2014-10-03T12:30:33Z typensicherer Vergleiche, PHP wie Javascript <p>Moin Felix,</p> <blockquote> <blockquote> <p>Aber um das genauer zu beurteilen brauch ich Informationen zum Anwendungsfall.</p> </blockquote> <p>ich vergleiche Array-Keys, die sowohl numerisch als auch alphanumerisch sein können. Die numerischen Werte sind anscheinend nicht als Strings definiert...</p> </blockquote> <p>Das hat damit nichts zu tun. PHP castet die Werte, wenn sie wie Ziffern aussehen, nach <code>int</code>:</p> <pre><code class="block"> ➜ ckruse@pug ~/Sites/cforum (master) ✗ % php -r "var_dump(array('1' => 2));" array(1) {   [1]=>   int(2) } ➜ ckruse@pug ~/Sites/cforum (master) ✗ % </code></pre> <p>Das kann auch <a href="http://stackoverflow.com/questions/11378998/issue-with-php-array-where-keys-are-large-integers/11383071#11383071" rel="noopener noreferrer">andere unvorhergesehene Ergebnisse</a> nach sich ziehen.</p> <p>LG,<br>  CK</p> <div class="signature">-- <br> <a href="http://ck.kennt-wayne.de/" rel="nofollow noopener noreferrer">http://ck.kennt-wayne.de/</a><br> </div> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622553#m1622553 dedlfix 2014-10-03T15:59:10Z 2014-10-03T15:59:10Z typensicherer Vergleiche, PHP wie Javascript <p>Tach!</p> <blockquote> <blockquote> <p>Aber um das genauer zu beurteilen brauch ich Informationen zum Anwendungsfall.<br> ich vergleiche Array-Keys, die sowohl numerisch als auch alphanumerisch sein können.</p> </blockquote> </blockquote> <p>Das ist zu wenig Information, um den Fall zu beurteilen. Wie kommt es denn dazu, dass da so verschiedene Werte Verwendung finden?</p> <p>dedlfix.</p> https://forum.selfhtml.org/self/2014/oct/3/php-facepalm-meines-tages-0-new/1622552#m1622552 Tara 2014-10-03T16:10:55Z 2014-10-03T16:10:55Z typensicherer Vergleiche, PHP wie Javascript <blockquote> <p>ich vergleiche Array-Keys, die sowohl numerisch als auch alphanumerisch sein können.<br> Die numerischen Werte sind anscheinend nicht als Strings definiert...</p> </blockquote> <p><a href="http://www.phpwtf.org/inarray-really-loves-typecast" rel="nofollow noopener noreferrer">Da fällt mir noch was Lustiges ein</a>.</p>