Ich arbeite derzeit an einem großen Projekt und benötige relativ bald eine Skriptsprache für Hilfsskripts, z. B. die vollständige Bereitstellung des Projekts aus der Quelle, die Überprüfung und Fehlerbehebung der Datenbank, die Erstellung eines bereitzustellenden Pakets und so weiter. Das Projekt ist in PHP geschrieben und ich habe darüber nachgedacht, es zu benutzen, aber ich habe das als für die Aufgabe nicht geeignet abgetan.
Was ich hauptsächlich benötigen würde, wäre improvisiert:
Das ist alles, woran ich jetzt denken kann. Ich habe Python und Ruby überprüft; Python erfüllt alle Anforderungen, und Ruby scheint das auch zu sein, obwohl ich mir nicht sicher bin, ob die Bereitstellung unter Windows und die Verfügbarkeit von Bibliotheken einfach sind. Ich bin jedoch auch auf der Suche nach Erfahrungen mit solchen Skripten, die in der Sprache Ihrer Wahl geschrieben sind.
Sie haben es gesagt: Python erfüllt alle Anforderungen. Das ist meine "Stimme", obwohl ich vielleicht etwas voreingenommen bin.
Bearbeiten : (auf meiner Erfahrung aus erster Hand, im Kontext der beschriebenen Aufgaben)
A das Risiko, entweder großspurig oder unerfahren zu sein, in Bezug auf Scripting-Aktivitäten, habe ich mich nie in einer Ecke gemalt, die Python mir nicht erlaubte, aus zu gehen.
Eine mögliche "Kritik" von Python ist jedoch, paradoxerweise, seine umfangreiche Paketbibliothek (zusätzlich zu seiner großzügigen Standardbibliothek); Während es schön ist, all diese "3rd-Party" -Bibliotheken zu haben, kann es manchmal schwierig sein, die Reife und Effektivität einiger dieser Pakete zu bestimmen, und manchmal verschwendet man manchmal Zeit, diese auszuwählen (oder zu entscheiden, ob man "von Grund auf" schreibt). . Solche Bewertungen können jedoch dank der Interaktivität des Interpreters schnell genug sein.Ruby ist anständig, aber Python ist ausgezeichnet. Python verfügt über eine großartige Dokumentation, ist leicht zu erlernen, hat eine große Community, eine sehr nützliche Standard-Bibliothek, wird auf den meisten Unix-ähnlichen Systemen vorinstalliert und ist nicht zu schmerzhaft für die Installation unter Windows.
Python ist eine großartige Skriptsprache und sehr portabel. Es ist meine Wahl, wenn die Portabilität meiner Skripte das Hauptproblem ist.
Aber Portabilität ist selten mein Hauptproblem. Die meisten meiner Skripte befassen sich eher mit Betriebssystemproblemen. Wenn ich also weiß, dass ich unter Windows laufe und Python möglicherweise nicht zur Verfügung habe, verwende ich JScript unter Windows Script Host .
Ich benutze es für Java und PHP Projekte. Und um auf Ihre Punkte zu antworten:
iconiK,
Diese Antwort bezieht sich nur peripher auf Ihre Frage, aber Sie sammeln mehr Informationen als nötig, um dieses Problem zu lösen. Ihre Analyse und Voruntersuchung ist ziemlich beeindruckend, und die Kosten für die Verschiebung Ihrer Entscheidung sind höher als der Grenzwert von Python gegenüber Ruby oder umgekehrt .
Ich suche auch nach deinen Erfahrungen
Meine Erfahrung ist, dass die Menge, die Sie über eine Technologie durch Forschung lernen können, begrenzt ist , und mein Bauchgefühl sagt mir, dass Sie diese Grenze bereits erreicht haben. Sie werden besser dran sein, wenn Sie aufhören zu recherchieren und mit Ihrem Projekt weitermachen. Wenn Sie ein kleines Pilotprojekt machen können, ist das großartig, aber wenn nicht, sind Sie an dem Punkt, an dem Sie mehr lernen, indem Sie einfach tauchen, als Sie möglicherweise lernen können, indem Sie Fragen stellen.
Wahrscheinlich ist meine jüngste Erfahrung, dass ich 1999 entscheiden musste, ob ein größeres Compiler-Projekt in Objective Caml geschrieben werden würde Haskell . Wir wählten Caml, und es gab viele Male, in denen ich wünschte, ich hätte Haskell gewählt, aber Caml war tatsächlich im Jahr 1999 wahrscheinlich die bessere Wahl, und wir haben mit dem Compiler sicherlich viel gute Arbeit geleistet. Die schlimmste Wahl von allen wäre gewesen zu warten, um weitere Informationen zu sammeln.
Ich denke, die andere Lektion hier ist, dass, weil keine Technologie perfekt ist, egal welche Technologie Sie wählen, Sie werden bereuen. Nur weil du Reue hast, heißt das nicht, dass du die "falsche" Wahl getroffen hast.
Code bei guter Gesundheit!
Perl, außer vielleicht für die Lernkurve. Portabilität ist kein Problem, für Bibliotheken gibt es CPAN, die Community ist perfekt, das Aufrufen externer Programme ist kein Problem, und Sie können immer eine C-Bibliothek einbinden und die Installation ist ein Kinderspiel.
Python ist wirklich großartig für diese Art von Sache. Ich wollte nur Ihre Aufmerksamkeit auf Tcl lenken, was absolut großartig für das allgemeine Scripting und Dateihandling ist. Wikipedia Eintrag über Tcl
Tags und Links scripting cross-platform