Welche Skriptsprache wird für Dienstprogrammskripts verwendet?

8

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:

  1. Portable über die drei wichtigsten Betriebssysteme: Windows, Linux und OS X
  2. Es gibt viele gute Bibliotheken, die von der Manipulation von Dateien und Verzeichnissen bis hin zum Datenbankzugriff reichen. Eine GUI wird nicht benötigt, obwohl das Networking auch möglich ist (Laden Sie einige Dinge über FTP oder HTTP herunter). Ein großes Plus wäre die Fähigkeit, ein Subversion-Repository nativ zu testen.
  3. Gute Community-Unterstützung ist erforderlich. Sowohl Python als auch Ruby sind hervorragend in diesem Bereich.
  4. Erweiterbarkeit: Wenn es keine gute Bibliothek gibt, um etwas zu tun, wie einfach ist es für mich, eine zu implementieren oder eine native Lösung zu verwenden (führe ein Programm aus, rufe eine native Funktion auf).
  5. Einfache Bereitstellung: Wie einfach ist es, unter Windows (XP & amp; 7, Server 2003+), Linux (CentOS 5.2, Ubuntu & amp; Ubuntu Server 8.04+) und OS X (10.5 +) zum Laufen zu bringen.
  6. Leichtigkeit des Lernens. Während alle Skriptsprachen für jeden Programmierer, der sein Geld wert ist, nicht schwer zu erlernen sind, bin ich an einem interessiert, das ziemlich schnell und einfach zu erlernen ist.

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.

    
CMircea 28.02.2010, 07:37
quelle

9 Antworten

10

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)

  • Ich habe keine Erfahrung mit dem Erstellen von Releases von Python (ich finde Ant oder sogar ein besseres Werkzeug für diese spezielle Aufgabe).
  • "Messing" mit Datenbanken: ein Kinderspiel!
  • Verschieben von Dateien, Durchsuchen von Verzeichnissen usw.: ein Kinderspiel!

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.

    
mjv 28.02.2010, 08:23
quelle
2

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.

    
alberge 28.02.2010 07:46
quelle
1

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 .

    
John Knoeller 28.02.2010 07:43
quelle
1

Ссылка

Ich benutze es für Java und PHP Projekte. Und um auf Ihre Punkte zu antworten:

  • Portabilität: 100%
  • Bibliotheken für db, Netzwerk, i / o, svn: Ja, einige sind eingebaut, für den Rest verwenden Sie Erweiterungen
  • Community: viele Bücher und Online-Ressourcen
  • Erweiterbarkeit: ja, ant wurde entwickelt, um erweiterbar zu sein
  • Installation: ganz einfach
  • Leichtigkeit des Lernens: ziemlich einfach
cherouvim 28.02.2010 07:39
quelle
1

Python, ohne Zweifel. Es erfüllt alle Ihre Ziele und hat den Vorteil, dass es übersichtlich und leicht zu erlernen ist.

    
Miles D 28.02.2010 07:48
quelle
1

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!

    
Norman Ramsey 28.02.2010 21:07
quelle
0

Ich benutze sowohl Perl als auch Python ausgiebig für das Scripting unter Windows, also würde ich nicht zögern, beides für die Bereitstellung zu verwenden. Ich würde Python für seine glattere Lernkurve wählen.

    
Gabe 28.02.2010 07:44
quelle
0

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.

    
zoul 28.02.2010 07:48
quelle
0

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

    
Faisal 28.02.2010 08:08
quelle

Tags und Links