Schrift
[thread]7275[/thread]

PERL vs. C: gleicher Code, anderes Ergebnis (Seite 3)



<< |< 1 2 3 4 5 >| >> 48 Einträge, 5 Seiten
murphy
 2005-09-14 22:29
#57979 #57979
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
[quote=docsnyder,14.09.2005, 20:09]@murphy

Also mein gcc (Version kann ich erst morgen im Büro wieder nachschauen) bringt keine Warnings.

Gruß, Doc[/quote]
Hmm, das ist natürlich schlecht! Ich habe auch keinen GCC in einer 2.x Version da, den ich mal testen könnte. Hast du denn ganz sicher mit -Wall kompiliert? Bei den Standardeinstellungen fallen ja fast alle Warnungen unter den Tisch...

(edit: typo)\n\n

<!--EDIT|murphy|1126722602-->
When C++ is your hammer, every problem looks like your thumb.
docsnyder
 2005-09-14 23:00
#57980 #57980
User since
2005-09-08
300 Artikel
BenutzerIn
[Homepage] [default_avatar]
[quote=murphy,14.Sep..2005, 20:29][quote=docsnyder,14.09.2005, 20:09]@murphy

Also mein gcc (Version kann ich erst morgen im Büro wieder nachschauen) bringt keine Warnings.

Gruß, Doc[/quote]
Hmm, das ist natürlich schlecht! Ich habe auch keinen GCC in einer 2.x Version da, den ich mal testen könnte. Hast du denn ganz sicher mit -Wall kompiliert? Bei den Standardeinstellungen fallen ja fast alle Warnungen unter den Tisch...

(edit: typo)[/quote]
@murphy

Nö, mit -Wall hab ich's natürlich nicht kompiliert, sondern &´schlichtweg mit:

Code: (dl )
gcc tst.c -o tst


Mehr braucht es nicht, um zu sehen was passiert, oder?

Gruß, Doc
esskar
 2005-09-14 23:50
#57981 #57981
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=docsnyder,14.09.2005, 19:13][quote=esskar,14.Sep..2005, 17:00]aber ich versteh die klammer nicht
zerlegen wir mal das ganze.
entwerder

Code: (dl )
1
2
$n = $n;
$n++;

oder
Code: (dl )
1
2
$n++;
$n = $n;


bei beiden müsste es 1 geben, da man ja auf dem selben scope arbeitet...

oder wie kann man es sonst zerlegen?[/quote]

@esskar

Es geht nicht darum, sauberen Code zu generieren, der keine Fragen mehr offen läßt, sondern darum, sich genau das Konstrukt "$n = $n++;" anzuschauen, bzw. sich mal zu überlegen, was da passiert bzw. passieren sollte.

Wie schon gesagt: das Bsp. ist eigentlich unsinnig. Aber ich denke, es gibt doch einiges zum Nachdenken: "Was sollte da logischerweise rauskommen" und "Warum tut es das nicht?" (oder doch?)

Gruß, Doc[/quote]
eben.
ich wollte mit dem code nur die reinfolge darstellen, wie der compiler es ausführen könnte. ich wollte kein beispiel für sauberen code bereitstellen
Gast Gast
 2005-09-15 00:03
#57982 #57982
[quote=murphy,14.09.2005, 20:25]Das Verhalten des Codes "$n = $n++" in Perl ist doch klar definiert:[/quote]
Ach? :)
Quote
$i = $i ++;
print ++ $i + $i ++;

Perl will not guarantee what the result of the above statements is.

perldoc perlop
esskar
 2005-09-15 00:12
#57983 #57983
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
bei mir witzigerweise 3;
das passt dann aber nicht mehr
docsnyder
 2005-09-15 00:15
#57984 #57984
User since
2005-09-08
300 Artikel
BenutzerIn
[Homepage] [default_avatar]
@esskar

Iss klar! Hatte Dein Posting nur aus einem anderen (dem falschen) Blickwinkel gesehen.

Gruß, Doc
pq
 2005-09-15 00:45
#57985 #57985
User since
2003-08-04
12209 Artikel
Admin1
[Homepage]
user image
[quote=docsnyder,14.09.2005, 20:09]Also mein gcc (Version kann ich erst morgen im Büro wieder nachschauen) bringt keine Warnings.
[/quote]
Quote
Nö, mit -Wall hab ich's natürlich nicht kompiliert

muss ich nicht noch kommentieren, oder =)
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
docsnyder
 2005-09-15 01:10
#57986 #57986
User since
2005-09-08
300 Artikel
BenutzerIn
[Homepage] [default_avatar]
[quote=pq,14.Sep..2005, 22:45][quote=docsnyder,14.09.2005, 20:09]Also mein gcc (Version kann ich erst morgen im Büro wieder nachschauen) bringt keine Warnings.
[/quote]
Quote
Nö, mit -Wall hab ich's natürlich nicht kompiliert

muss ich nicht noch kommentieren, oder =)[/quote]
Mein lieber pq:

Du wirst wohl nie in der Lage sein, echte C-Programmierer zu verstehen, denn in C ist eben alles erlaubt, und damit kann man wirklich zaubern (wenn man's versteht). Und wenn man's dann ohne Warnings durch den Compiler bringt (ANSI C ist zwar nicht verkehrt, behindert aber bei manchen Tasks), gelingt das Vorhaben in der Regel. Aber wenn man's richtig macht und sich bewußt ist wie's geht, ist das eigentlich kein Problem mit C. Auch Schweinereien sind manchmal erlaubt!

Gruß, Doc
esskar
 2005-09-15 01:25
#57987 #57987
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=docsnyder,14.09.2005, 23:10]Mein lieber pq:[/quote]
alles richtig, aber:

pq ist eine Dame!
gell schatz? =)\n\n

<!--EDIT|esskar|1126733723-->
pq
 2005-09-15 01:32
#57988 #57988
User since
2003-08-04
12209 Artikel
Admin1
[Homepage]
user image
[quote=docsnyder,14.09.2005, 23:10]Du wirst wohl nie in der Lage sein, echte C-Programmierer zu verstehen, denn in C ist eben alles erlaubt, und damit kann man wirklich zaubern (wenn man's versteht). [/quote]
hab ich dir was getan?
erst behauptest du, du kriegst keine warnings, und dann sagst du, du
hast keine warnings angeschaltet, weshalb ja dann glasklar ist, dass du eben
keine warnings kriegst, fand ich halt lustig.
aber ich kann halt nur mit Perl zaubern, für C bin ich wohl einfach nicht intelligent
genug. aber damit hab ich kein problem.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
<< |< 1 2 3 4 5 >| >> 48 Einträge, 5 Seiten



View all threads created 2005-09-14 16:16.