Ich habe bash
für die meisten meiner Systemverwaltungsaufgaben verwendet. Ich kenne auch ein bisschen Perl.
Soll ich lernen Python
oder Perl
ist besser für die Systemautomatisierung. Bisher war es meiner Erfahrung nach einfach, Perl zu lernen.
scripting
python
perl
automation
Nitine
quelle
quelle
Antworten:
Kurze Antwort: Lerne beides.
Sie werden beide als Systemadministrator kennenlernen, daher möchten Sie wissen, wie Sie beide lesen / beheben / debuggen können.
Was das Schreiben von Skripten angeht, habe ich in den letzten 10 Jahren hauptsächlich Perl für die meisten meiner Sysadmin-Dienstprogramme und "Kleber" -Skripte verwendet. Die Regex-Syntax ist sehr einfach und eignet sich sehr gut für eine extrem schnelle Skriptentwicklung. Dies ist sehr wichtig, wenn Sie etwas vor Ort zum Laufen bringen müssen.
In letzter Zeit habe ich mich aus folgenden Gründen bemüht, mehr Python zu verwenden:
Es erfordert viel Disziplin, um gutes Perl zu schreiben. Allzu oft hat sich in einem "Quick n 'Dirty" -Skript im Laufe der Zeit mehr Funktionen eingeschlichen, die jedoch immer noch hastig implementiert wurden. Es dauert nicht lange, bis Sie eine umfangreiche Datei mit Leitungsrauschen haben, die von einer PITA verwaltet werden muss.
Das Schreiben von OO-Code (oder sogar wiederverwendbarem Code) in Perl ist im Vergleich zu Python nicht einfach. Glauben Sie mir, auf lange Sicht möchten Sie viel wiederverwendbaren Code (und nicht Ausschneiden und Einfügen!)
Pythons Prinzipien (
import this
) eignen sich viel besser für die Zusammenarbeit mit anderen als Perls TMTOWTDI-Prinzip. Wenn Sie jemals das Perl eines anderen gelesen haben, wissen Sie vielleicht, dass es das Frustrierendste sein kann, es zu entwirren. Python leidet aufgrund seines Designs weit weniger unter diesem Unleserlichkeitsproblem. Schlimmer noch ist es, wenn Sie nach vielen Jahren auf Ihren eigenen Perl stoßen. Sie werden sich fragen, an welchem Punkt Sie geschwärzt haben müssen.Die Dokumentation ist wichtig, wenn Ihr Code eine Weile dauern wird. Das Schreiben von Docstrings in Python ist viel einfacher als das Schreiben von Pod-Markups in Perl. Einfach genug, dass Sie es tatsächlich verwenden könnten.
Ich benutze Perl immer noch ziemlich oft, aber es ist jetzt mehr für Einzeiler und "Wegwerf" -Skripte, die nur einmal ausgeführt werden. Wenn ich denke, dass ich das Skript jemals wieder bearbeiten werde, denke ich stattdessen an Python.
quelle
Es hängt davon ab, was Sie versuchen und wo Sie es versuchen. Wenn alle Dinge gleich sind und Sie keine Einschränkungen für Ihre Umgebung haben, alles installieren können, was Sie möchten, und sich nicht um die Interaktion mit Legacy-Code kümmern müssen, können Sie die Sprache auswählen, die Ihren persönlichen Vorlieben am besten entspricht.
Das heißt, für die Sysadmin-Arbeit denke ich, dass Perl einen Vorteil hat: Es ist auf allem installiert, was sofort einsatzbereit ist, und das seit ungefähr dem Beginn der Zeit. Wenn Sie ein Systemautomatisierungs- oder Verwaltungsskript schreiben und nur Perl-Kernmodule verwenden, können Sie fast sicher sein, dass es überall in Ihrer heterogenen UNIX-Umgebung ohne Änderungen ausgeführt wird und mit einer Installation von ActiveState oder Windows problemlos auf Windows erweitert werden kann Erdbeer Perl.
Ich hoffe, das hilft!
quelle
Ich würde Python empfehlen. Ich kenne Perl genug, bin aber kein Experte und meine Erfahrung mit Python war weit überlegen. Ich denke, es hängt von Ihren Anforderungen ab, aber wenn es nur für die Systemautomatisierung ist, würde ich den Python-Weg gehen und Perl (vorerst) vergessen.
Hier ist eine großartige Möglichkeit, Ihre Zähne zu versenken:
http://diveintopython.org/toc/index.html
Mit Dingen wie Fabric in der Entwicklung kann es die Dinge wirklich einfacher machen:
http://docs.fabfile.org/en/1.0.0/index.html
Beispiel von der Seite:
Ausgabe
quelle
Sie sind gleichwertig; Für einen Heimcomputer, den Sie verwenden, hängt es davon ab, in welchem Sie sich wohler fühlen. Wenn Sie jedoch mit anderen arbeiten, sollten Sie sich an festgelegte Standards halten (wenn alle anderen Python verwenden, sollten Sie Perl nicht ohne guten Grund verwenden und umgekehrt). .
quelle