Da hast du ganz recht - aus einem nicht eingerückten Code kannst du nicht automatisch eingerückten Code machen. Aber: das brauchst du auch nicht. Ich habe es in vier Jahren Python Nutzung kein einziges mal gebraucht. Ich schreibe ja Code der eingerückt ist (wobei mein Editor automatisch bestimmte Zeilen einrückt, so dass ich nur [Backspace] drücken muss, wenn ich mit dem Block fertig bin, um eine Einrückungsebene zu verlassen), andere schreiben genauso Code der eingerückt ist. Das tolle ist auch, dass sich fast alle an PEP8 halten, so dass der Code immer gleich eingerückt ist, du also in der Regel Code nicht manuell einrücken musst. Zudem kann mein Editor noch Block-Indentation, womit ich ganze Blöcke auf einmal einrücken kann. Damit bin ich wesentlich schneller unterwegs, als wenn ich überall 'end' tippen müsste, der Code bleibt gezwungernermaßen lesbar.DanielH hat geschrieben:Der Vorteil dabei ist, dass man den Code per Tastendruck einrücken lassen kann (falls dieIch finde die Syntax von Ruby nicht ganz so toll, das überflüssige end hat mit meist
gestört und Ruby lädt irgendwie ein, tollen Code zu schreiben, der aber auch nicht ohne
weiteres verständlich ist.
IDE das unterstützt). So ist funktioniert das zumindest bei meiner php IDE (Zend Studio).
Oder funktioniert das auch mit Python? (Kann ja eigentlich überhaupt nicht gehen, soweit
ich das sehe).
Du kannst durchaus ASP.NET mit C# oder IronPython unter Linux mit Mono und XSP nutzen. Aber ich habe es mir grade angeschaut - es schaut aus wie eine Templatesprache, also etwa PHP. Das fand ich auch toll, als ich nichts anderes kannte, aber seitdem es wirklich viele gute Frameworks gibt, fühlt es sich Amateurhaft an, Code mit HTML zu mischen.DanielH hat geschrieben:C# in Verbindungen mit ASP.NET soll auch extrem leistungsfähig sein (Für Server-
Applikationen). Allerdings wechsle ich demnächst von Windows zu Linux,
und da wäre es dumm, wenn ich C# lernen würde.
Lies doch die Artikel die ich dir verlinke.DanielH hat geschrieben:Meinst du forken? Das war das Einzige, was ich zu dem Thema bei php gefunden habe.Die Antwort ist weder Python noch Perl (zumindest nicht erstrangig) sondern
Multiprocessing statt Multithreading. In der Oktoberausgabe des Python Magazine findest
zu ab Seite 5 eine Vorstellung von pyprocessing und Parallel Python, welche einem mit
Multiprocessing helfen. Natürlich kannst du das auch mit PHP, Perl oder Ruby machen...
Das scheint aber ziemlich schwierig zu sein (ich hab mehrmals gelesen, dass sogar
erfahrene php Entwickler vor forken zurückschrecken). Ich hab zwar eine php-classe
gefunden, die das forken vereinfachen soll (welche sich allerdings noch im Beta-Stadium
befindet), aber ich weiß nicht... php scheint für so was nicht gerade geeignet zu sein.
Forking mit Parallel Python läuft so:
Code: Alles auswählen
import pp
job_server = pp.Server()
f1 = job_server.submit(func1, args1, depfuncs1, modules1)
f2 = job_server.submit(func2, args2, depfuncs2, modules2)
f3 = job_server.submit(func3, args3, depfuncs3, modules3)
r1 = f1()
r2 = f2()
r3 = f3()
Gibs zu, du wolltest sowieso nur eine positive Meinung zu Perl hören, das der Rest dir bereits gesagt hat wie man das ganze effizienter ohne Threads lösen kann hat dich bisher nicht interessiert. Du hast dir nicht einmal den von mir verlinkten Artikel angeschaut.DanielH hat geschrieben:Ich denke ich werde lieber anfangen Perl zu lernen, anstatt mich mit php weiter zu
beschäftigen.
Wenn Google einen sehr effizienten Spider brauchte, dann würden sie C nutzen. Jedoch braucht der Spider keine so große Performance zu haben, da er sowieso oft auf Daten warten muss, da ist es egal ob er in C oder in Python geschrieben ist. Warum Google Python nutzt und nicht etwa Perl ist, dass die Codes lesbar sind. Stell dir vor, jemand hätte den Spider in Perl geschrieben und verlässt die Firma. Dann dürfte Google den Spider neu schreiben, da es in der Regel zu aufwendig ist fremden Perl-Code zu verstehen als einen neuen Spider zu bauen. Mit Python hat man C hingegen den Vorteil, dass man schnell neue Features einbauen kann, ohne sich mit aufwendiger Stabilitätsanalyse befassen zu müssen.DanielH hat geschrieben:Allerdings habe ich gedacht, dass Python die effizientere Sprache für's Internet ist. Der
Grund weshalb ich angefangen habe mich für Python zu interessieren, ist nämlich, dass
Googles Spider anscheinend in Python geschrieben ist (hab ich an zwei
verschiedenen Stellen gelesen). Und ich denke nicht, dass die bei den Millionen Seiten,
die Google pro Tag spidert, etwas nehmen, wenn es was geeigneteres gäbe. Aber wer
weiß, ob das überhaupt stimmt...
Der Python-Erfinder, Guido van Rossum, arbeitet inzwischen auch bei Google.