-
"Workaround für Fehler"
Autor: KritischerFehler 09.12.08 - 10:29
Klar, es wird munter weitergefrickelt.
PHP - Da wird Konzeptlosigkeit zum Konzept erhoben. -
Re: "Workaround für Fehler"
Autor: micha6270 09.12.08 - 10:41
Begründe deine Aussagen.
Wieso tust du die Entwicklung von PHP als "Frickelei" ab?
Weshalb soll PHP konzeptlos sein? -
Re: "Workaround für Fehler"
Autor: ...---... 09.12.08 - 10:47
Wo ist die Qualitätskontrolle, wenn eine neue Version (die "Sicherheitsprobleme lösen soll") nach ein paar Tagen wegen Sicherheitsproblemen zurückgezogen werden muss?
Eine großes Softwaresystem wie PHP muss vor dem Release getestet werden. Wo ist das Testkonzept von PHP? Gibt es Unit-Tests, die solche Fehler automatisch gefunden hätten? -
Re: "Workaround für Fehler"
Autor: Tekl 09.12.08 - 10:49
Wenn man Befehle wie ini_get() und getenv() sieht, kann man schon daran zweifeln, dass da sich jemand großartig Gedanken gemacht hat.
--
Tekl -
Re: "Workaround für Fehler"
Autor: OoOoOoOo 09.12.08 - 10:53
Ganz zu schweigen von der schwachen Typisierung...
-
Re: "Workaround für Fehler"
Autor: rhsoft 09.12.08 - 10:57
> Ganz zu schweigen von der schwachen Typisierung...
Was ist daran konzeptlos?
Nur weil es dir nicht passt?
Ja dann nimm doch verdammt nochmal was anderes dass DEINE Anforderungen genügt.. -
Ahnungsloser
Autor: rhsoft 09.12.08 - 10:58
> Eine großes Softwaresystem wie PHP muss vor dem Release getestet werden. Wo ist > das Testkonzept von PHP? Gibt es Unit-Tests, die solche Fehler automatisch
> gefunden hätten?
Und die schreiben sich von alleine?
Was glaubst du Kasper läuft hier nach dem Build?
PASS Test prev() function : error conditions - Pass incorrect number of arguments [ext/standard/tests/array/prev_error1.phpt]
PASS prev - ensure warning is received when passing an indirect temporary. [ext/standard/tests/array/prev_error2.phpt]
PASS prev - ensure we cannot pass a temporary [ext/standard/tests/array/prev_error3.phpt]
PASS Test prev() function : usage variation - Pass different data types as $array_arg [ext/standard/tests/array/prev_variation1.phpt]
PASS Test prev() function : usage variation - Multi-dimensional arrays [ext/standard/tests/array/prev_variation2.phpt]
PASS Test range() function [ext/standard/tests/array/range.phpt]
PASS Test range() function (errors) [ext/standard/tests/array/range_errors.phpt]
PASS Test range() function (variation-1) [ext/standard/tests/array/range_variation.phpt]
SKIP Test range() function (variation-2) [ext/standard/tests/array/range_variation1.phpt] reason: this test is for 32bit platform only
PASS Test range() function (variation-2) [ext/standard/tests/array/range_variation1_64bit.phpt]
PASS Test reset() function : basic functionality [ext/standard/tests/array/reset_basic.phpt]
PASS Test reset() function : error conditions - Pass incorrect number of args [ext/standard/tests/array/reset_error.phpt]
PASS Test reset() function : usage variations - Pass different data types as $array_arg arg. [ext/standard/tests/array/reset_variation1.phpt]
PASS Test reset() function : usage variations - unset first element [ext/standard/tests/array/reset_variation2.phpt]
PASS Test reset() function : usage variations - Referenced variables [ext/standard/tests/array/reset_variation3.phpt] -
Re: "Workaround für Fehler"
Autor: OoOoOoOo 09.12.08 - 11:00
Selbstverständlich nehm was, das meinen Anforderungen genügt, und das ist bestimmt nicht PHP.
Trotzdem wird man doch sagen dürfen, dass schwache Typisierung bescheuert ist, da sehr fehleranfällig. Bis auf Perl und Javascript kennt keine andere Sprache dieses blödsinnige "Konzept"! -
Re: "Workaround für Fehler"
Autor: rhsoft 09.12.08 - 11:04
> Trotzdem wird man doch sagen dürfen, dass schwache Typisierung
> bescheuert ist, da sehr fehleranfällig.
Sagen kannst du dank Meinungsfreiheit alles
Trotzdem ist nicht alles was dein Spatzenhirn nicht begreifen kann schwachsinnig
> Bis auf Perl und Javascript kennt keine andere Sprache dieses blödsinnige
> "Konzept"!
Du dummes Kind es kommt immer auf den Einsatzzweck an
Wie typisierst du denn eine Variable die aus einem Request kommt?
Indem du es manuell machst - Die Sprache kann nicht riechen was da daher kommt -
Re: "Workaround für Fehler"
Autor: LH 09.12.08 - 11:08
"Bis auf Perl und Javascript kennt keine andere Sprache dieses blödsinnige "Konzept"!"
Also bis auf drei der meistgenutzen Sprachen der Welt (Perl für Automatiken, PHP für Webseiten und ECMAScript in Flash und als JS im Browser) nutzt das praktisch keiner ;)
-
Re: "Workaround für Fehler"
Autor: OoOoOoOoOoOoOoOo 09.12.08 - 11:10
Ich glaube du weißt nicht so ganz, wovon du redest. Bevor du mich ein Spatzenhirn nennst, solltest du dich über die Grundbegriffe informieren. Ich meine *schwache* Typisierung, nicht *dynamische* Typisierung. Das ist ein himmelweiter Unterscheid.
Falls in deinem PHP-Spatzenhirn noch Platz ist (was ich bezweifle), kannst du dir ja mal folgendes ansehen:
http://de.wikipedia.org/wiki/Schwache_Typisierung
Falls du es nicht kapierst, frag ruhig. Ich helfe gerne.
Das ist das dumme an euch PHP-Fricklern. Ein großes Maul aber null Ahnung. Kein Wunder, dass bei so tollen Leuten eine so fantastischer Misthaufen wie PHP heraus kommt. -
Re: "Workaround für Fehler"
Autor: LH 09.12.08 - 11:15
rhsoft:
"Du dummes Kind..."
OoOoOoOoOoOoOoOo schrieb:
"Das ist das dumme an euch PHP-Fricklern. Ein großes Maul aber null Ahnung."
Eure Argumentationsketten sind lückenlos und beeindruckend. *applaus*
Diese geballte soziale Kompetenz, ich kann sie förmlich schmecken. -
Re: "Workaround für Fehler"
Autor: interpreter 09.12.08 - 11:19
Fast alle Skriptsprachen nutzen diese Art der Typisierung. Angefangen von LISP bis hin zu Python. Es ist bequem, weil man nicht deklarieren muss, welchen Typ die Variable haben muss, aber nachdem man einen Wert zugewiesen hat, ist es natürlich schlechter Stil plötzlich woanders einen Wert eines anderen Typs zuzuweisen. Man muss sich eben stärker selbst (ohne hilfreiche Compiler-Fehler) an bestimmte Konventionen halten können, wobei das mit den Typen eine der leichteren Übungen ist.
-
Re: "Workaround für Fehler"
Autor: OoOoOoOo 09.12.08 - 11:24
Fast alle Skriptsprachen nutzen dynamische Typisierung, das ist OK.
Schwache Typisierung, wie sie PHP kennt, hat damit allerdings nicht viel zu tun.
http://de.wikipedia.org/wiki/Schwache_Typisierung
Beispiel für schwache Typisierung:
$x = 2 + "42";
// $x ist jetzt 44
$x = 2 + "Ich bin keine Zahl";
// $x ist jetzt 2
'0.0' == false // = false
0.0 == false // = true
'0.0' == 0.0 // = true
'0.0' == 0 // = true
0 == null // = true
'0' == false // = true
'0' == null // = false
'' == null // = true
false == null // = true
Daraus folgt:
'0.0' != false == 0.0 == '0.0'
0.0 != 0.0 -
Re: "Workaround für Fehler"
Autor: interpreter 09.12.08 - 11:40
Das ist natürlich besonders schwach! ;) Aber es gibt ja immerhin noch die Vergleichsoperatoren === und !==, um "starke" Vergleiche durchzuführen.
-
Re: "Workaround für Fehler"
Autor: OoOoOoOo 09.12.08 - 11:50
Ja, === wurde in PHP4 eingeführt, weil man gemerkt hat, dass das Typisierungskonzept doch nicht so toll war. Aber welcher Anfänger kennt das schon? Und bei anderen Operatoren wie + oder - gibts so einen Mechanismus nicht.
-
Re: "Workaround für Fehler"
Autor: kurzvorzwoelf 10.12.08 - 07:59
"Welcher Anfänger kennt das schon" ... <-- totschlagargument *lol*
ich sag nur...
String text = "Hallo";
if(text == "Hallo") ... // false
Integer zahl = 1;
if(zahl == 1) ... //true
Welcher javaanfänger kennt das schon...
PHP bietet Vorteile und Nachteile
Man kann schnell "mal ebend" was basteln und html Seiten aufwerten.
Aber man kann mit schlechten code auch alles versauen.
Aber surprise surprise, das geht sogar in JAVA, es soll schon Javaentwickler gegeben haben, die durch inperformaten Code dafür gesorgt haben das java den ruf einer lahmen Sprache hat, gerade Applets der Jahre 2004-2006 waren Schlimm aber auch so manche Desktopanwendung, die auf einmal 300MB Arbeitsspeicher für ein Fenster mit ein bissl Datenschieben verbraucht.
Mist kann man in jeder Sprache machen, ich schick auch manchmal die Wegfrager auf die Autobahn, wo ich weiß das da Stau ist :P
Gruß
PS. ich habe Java als vergleich gewählt, weil es doch eine recht starke Typisierung hat :P
und, selbst Java kennt
Integer i = 1;
String txt = i + "2";
ausgabe txt = "12"
1 mal bearbeitet, zuletzt am 10.12.08 08:03 durch kurzvorzwoelf. -
Re: "Workaround für Fehler"
Autor: javaaner 10.12.08 - 10:41
>ich sag nur...
>String text = "Hallo";
>if(text == "Hallo") ... // false
>Integer zahl = 1;
>if(zahl == 1) ... //true
Das ist falsch. Der erste Vergleich liefert in Java auch true. Probier es aus.



