Programmieren Anfangen, was zuerst?

Ups die Uhrzeit... ^^

Und ja, natürlich den Wert "nach" der Zuweisung.

Und meinte auch nicht dich mit dem "interessieren" bzgl. des TEs...
 
Zuletzt bearbeitet:
...und was hätte riDDi wohl erst zu PHP zu sagen, wo man Strings nicht nur mit Infix-Operator (==) sondern auch noch per strcmp() oder strcasecmp() vergleichen kann. Man könnte sogar strncmp() verwenden. Oder preg_match(). Mit genug Kreativität kann man sogar strstr() verwenden, oder substr_compare(). Und dann ist da ja noch ===....

Als ob es wirklich eine Rolle spielt, wie eine Sprache einen String-Vergleich durchführt... Also wirklich. Viel wichtiger ist doch, dass der Programmierer weiß, was er da womit vergleicht. Gerade bei Sprachen mit schwacher Typisierung kann es zu allerlei Eigenartigkeiten kommen, wenn man nicht aufpasst.

Ok, Korrektur zum if($a = 1) <- PHP-Code, wie man am $ unschwer erkennt:
Ausgewertet wird natürlich der linke Ausdruck, nachdem die Zuweisung erfolgt. Der Unterschied ist aber tatsächlich gewaltig verglichen mit dem wahrscheinlich gemeinten if($a == 1). Analog dazu: if($a = FALSE) vs. if($a == FALSE)...
Tautologie/Kontradiktion ftw.
 
Zuletzt bearbeitet:
Und C-Strings kann ich auch nicht mit == vergleichen... eine wirklich böse Welt. Ich glaub ich werde nie wieder programmieren... für die nächsten 9 Stunden zumindest...

Und ja, der Unterschied ist gewaltig. Vielleicht sollte man Pascal als Sprache vorschlagen, da werden Zuweisungen mit := gemacht.
Also im Ernst, ich kann mich nicht daran erinnern, dass ich jemals beim Programmieren ein If-Statement benötigt habe, in dem ich prüfe ob eine Zuweisung wahr ist. Selbst wenn es mal irgendwie in die Richtung ginge, würde ich den Code so umschreiben, dass man auch versteht was er macht...

Ich bin ja nicht mal Fan solcher While-Schleifen:
while (line = stream.nextLine() != null) {...}
ka ob das synaktisch einigermaßen passt, ich nutze es ja nicht, weil ich es unleserlich finde ^^
 
Zuletzt bearbeitet:
riDDi schrieb:
Nichts für ungut, aber wenn ich Perl lese seh ich immer nur {{}())()}-->$$-->$_()-->23[{]{[]

Sehe ich auch so. Die Geschmäcker sind natürlich verschieden, aber für mich persönlich kann ich sagen, von allen Programmiersprachen, mit denen ich in Kontakt gekommen bin, hat Perl bei weitem den schlechtesten Eindruck hinterlassen. Allein schon, daß ich einer Funktion nicht auf einen Blick ansehen kann, was für Argumente sie erwartet, sondern dafür immer erst ihren Rumpf studieren muß ... grausig. =0
 
Was hindert dich daran eine Kommentarzeile anzuhängen?

Perl:
Code:
sub show_args{
        // pass as many args as you want 
	print "@_\n";
}


Aus Sicht des Linguisten ist es sogar weitaus ordentlicher als:

Code:
function(ArgForX,BetaGammaDefault,AnotherArgForCalculatingZetaX){}

es ist das selbe wie:

Code:
function(array)
was sowieso die schönere und bessere Wahl ist, nur eben ohne die unnötige Erwähnung dass es so ist.

Wenn man das hier:
Code:
    function(ArgForX,BetaGammaDefault,AnotherArgForCalculatingZetaX){}
Als bad practice betrachtet macht Perl es einfach nur richtig.
 
Zuletzt bearbeitet:
omaliesschen schrieb:
Was hindert dich daran eine Kommentarzeile anzuhängen?

Aus Sicht des Linguisten ist es sogar weitaus ordentlicher als:

Code:
function(ArgForX,BetaGammaDefault,AnotherArgForCalculatingZetaX){}

es ist das selbe wie:

Code:
function(array)
was sowieso die schönere und besser Wahl ist, nur eben ohne die unnötige Erwähnung dass es so ist.

Sehe ich anders. Einer gescheiten Funktionssignatur kann man (wenn der Autor auch noch nett genug war, aussagekräftige Parameternamen zu verwenden), wesentlich leichter ansehen, wie man die Funktion aufzurufen hat, damit sie das tut, was man von ihr möchte, als wenn man erst nach den Funktionsrumpf durchflügen müßte. Das finde ich an Sprachen wie z.B. Haskell, Java oder C++ sehr schön, da man in diesen Sprachen sogar noch Typinformationen dazubekommt. In anderen Sprachen wie Tcl und Python hat man (EDIT: wenigstens meistens ... siehe riDDis Kommentar) zwar keine Typinformationen, aber wenigstens Parameternamen. In Perl hat man nix.
Ergänzung ()

riDDi schrieb:
Code:
def kryptisch(**kwargs):
:evillol:

Touché.



P.S. Das soll jetzt aber auch nicht das Totschlagargument sein. Bei mir hinterläßt Perl einfach immer einen schlechten Geschmack im Mund. Zu viele Dollars, Klammeraffen, backticks, etc. .... sieht meistens aus, als wäre eine Katze einmal quer über die Tastatur gerannt. ;)
 
Zuletzt bearbeitet:
Code:
&show_args({ a=>'c', b=>'d' })

Und wenn es wirklich notwendig ist:

Code:
sub x{
    // this function requires 3 Arguments. Order doesn't matter
    // You can pass 10 but this sub will just ignore the rest
    // {name=>'Name',date=>'Timestamp',city=>'City'}
    [...]
}

Es ist lesbarer und flexibel in der Reihenfolge was bei function(1,2,3) nicht der Fall ist.
Die Parameterreihenfolge beim Aufruf ist vorgeschrieben.
 
Zuletzt bearbeitet:
kwargs haben ihren Sinn. Matplotlib z.B. macht kräftig Gebrauch davon, um die Definitionen und damit auch die Dokumentation von dutzenden Style-Parametern frei zu halten. In Java kann man auch einfach ein Object-Array als einzigen Parameter angeben, nur ist (hoffentlich) keiner so verrückt das zu tun.
 
Zuletzt bearbeitet:
Zuletzt bearbeitet:
omaliesschen schrieb:

Das Python kein Schnellzug ist, ist bekannt. Ist aber für das Anwendungsgebiet normalerweise auch Wurscht. Und die Links, die du da gepostet hast, sind jetzt nicht wirklich der Weisheit letzter Schluß. Wer versucht denn bitte, mit einem Hallo-Welt-Programm nützliche Aussagen über die Performance einer Sprache zu gewinnen? Und zum 2. Link ... mal die Antworten gelesen? ;)
 
Es gibt genug benchmarks. Wenn die Links schlecht gewählt sind und mehr zu dem Thema gewünscht wird einfach googlen.

Es ist allerdings nicht meine Art bei solchen Themen in eine Grundsatzdebatte zu verfallen und evtl. auch noch stur in einer Meinung zu verharren.

Das Thema ist zu unwichtig um darüber zu streiten.

Ich find Perl gut und es ist die beste Skriptsprache für Textverarbeitung. Dazu ist es die vermutlich schnellste Skriptsprache und eine der verbreitetsten Sprachen für das Web. Perl-Cgi.

Man kann GUI-Apps erstellen, Client-Server apps und was es nicht sonst noch gibt.

Man hat CPAN zur Modulverwaltung und eine riesige Community.

Was kann Python was Perl nicht kann?
Was kann Perl was Python nicht kann?

Mehr hab ich dazu nicht zu sagen. Warum auch über so ein banales Thema streiten?
 
Zuletzt bearbeitet:
Zurück
Oben