Beste "offizielle" Skriptsprache für Windows-Programmierer [geschlossen]

8

Nehmen wir an, es gäbe mehrere Projekte, die meist von intelligenten Praktikanten durchgeführt werden, die nach einiger Zeit wieder gehen. Skripte werden hier und da in Schlüsselteilen verwendet, um beispielsweise eine Datenbank zu sichern, sie umzubenennen, sie zu komprimieren, sie über ssh zu verschieben, sie zu entzippen und sie dann mit anderen Einstellungen wiederherzustellen. Sie wissen, das Skript-Zeug.

Die Programmiersprachen für die Anwendungsseite sind eingestellt, aber die für Skripte wurden gelockert. Derzeit gibt es wahrscheinlich eine gesunde Mischung aus bash und .bat Datei und vielleicht etwas Perl.

1) Um Sprachvermehrung zu vermeiden, und 2) weil ich keine Bash auf zukünftige Windows-Programmierer zwingen will, möchte ich eine "offizielle" Skriptsprache festlegen.

Google hat Python dafür ausgewählt, und es ist berühmt dafür, lesbar zu sein, leicht zu lernen und eine gute Bibliothek zu haben; Allerdings finde ich es im Vergleich zu C-ähnlicher Grammatik, Pascal oder Ruby nicht so gut lesbar.

In jedem Fall, wenn Sie gezwungen wären, nur eine Skriptsprache auf einer Windows-Maschine (mit Cygwin, wenn Sie wollen) für alle Skripte zu verwenden, was möchten Sie, und warum?

Religiöse Kriege:

Eugene Yokota 28.11.2008, 22:11
quelle

9 Antworten

16

PowerShell - wurde von Grund auf als Windows-Skriptsprache konzipiert und kann für erweiterte Funktionen in die CLR eingebunden werden.

(Ja, mir ist klar, dass das nicht unter Cygwin läuft ... aber warum ist das eine Voraussetzung?)

    
ahockley 28.11.2008, 22:13
quelle
3

Ich werde versuchen, eine Alternative zur Verfügung zu stellen - JavaScript und VBScript funktionieren auch auf Windows-Versionen, die längst vergangen sind, und sie benötigen keine separate Installation wie PowerShell. ;) Natürlich hat PowerShell mehr power : P

    
Vilx- 28.11.2008 22:22
quelle
3

Wenn ich plattformübergreifende Produkt-Installer geschrieben habe, ist das Codieren eines UNIX-Shell-Skripts für Linux / Mac / Solaris usw. wirklich einfach, aber wenn man äquivalente Aufgaben in BAT erledigt, ist das Arbeiten im Dunkeln, unter Wasser, mit beiden Hände hinter dem Rücken gefesselt. Ich kann nicht stark genug sagen, dass BAT-Skripte eine Schande für die Menschheit sind.

Also, was ich über PowerShell gehört habe macht mich glücklich. Es ist ein Lebensretter für Windows-Entwickler. Das einzige Problem ist, dass ich glaube, es ist immer noch eine separate Installation, es ist nicht standardmäßig verfügbar (ich habe gelesen, dass es auf Windows Server 2008 und Windows 7 sein wird).

Naja, es hat nur 20 Jahre gedauert, bis BAT-Skripte durch etwas ersetzt wurden, das so leistungsfähig ist wie die UNIX-Shell, also sollte ich nicht zu undankbar sein! & gt;: - P

Holen Sie sich das Installationsprogramm für PowerShell hier:

Ссылка

    
Bill Karwin 28.11.2008 22:50
quelle
2

Ich würde Sie dringend bitten, Python eine Chance zu geben. Es sieht zunächst etwas komisch für "C" -Programmierer aus, ist aber leicht zu erlernen und vor allem einfach zu merken. Sie werden Praktikanten auf verschiedenen Fähigkeitsstufen haben, die den Code verwenden und modifizieren, so dass Sie etwas wollen, das von einer breiten Benutzerbasis stammen kann. Und wenn Sie sich die Mühe machen, etwas Neues zu installieren, warum wählen Sie Powershell, die eine Sackgasse für jeden sein wird, der es verwendet.

    
Brian C. Lane 30.11.2008 18:36
quelle
1

Powershell. Es hat die Breite und Tiefe und wird (jetzt und in der Zukunft) vollständig unterstützt. Anders als zum Beispiel Cygwin.

    
dkretz 28.11.2008 22:14
quelle
1

Gah. Ich wollte "Powershell" sagen, aber ich war zu beschäftigt, Powershell zu programmieren, um meine Antwort hier zu senden, dass zwei andere Leute mich dazu brachten.

    
GregD 28.11.2008 22:16
quelle
1

Die beste Scripting-Sprache, die ich für Schnittstellen- und Steuerelementanwendungen in Windows gefunden habe, ist AutoHotKey. Jeder, der mit Windows arbeitet, sollte sich mit dieser Sprache vertraut machen ... Es kann Ihnen enorm viel Zeit sparen, wenn Sie nur verzögerte Windows-Aufgaben automatisieren ...

Eines der nützlichsten Tools, die ich für Windows gefunden habe, ist Texter

>

Dieses Dienstprogramm ist in AutoHotKey geschrieben und erspart mir mehr als ein paar Mal mehr ... Ein unentbehrliches Werkzeug für einen Programmierer oder irgendjemanden, der Formulare oder Tickets ausfüllt ...!

    
jcpennypincher 14.02.2011 05:14
quelle
0

Für Ihre spezielle Beschreibung klingt PowerShell wie ein guter Weg zu gehen ... aber ich würde stark für JScript unter WSH (oder JavaScript unter Rhino / etc.) Klingt so, als ob du CYGWIN magst, aber Powershell hat momentan keine Unterstützung für andere Plattformen (zu viel natives Zeug denke ich - das ist eine separate Diskussion IMO, aber Google sollte darauf antworten).

Ich mache es so: Ссылка

Einige Highlights:

  • JavaScript ist standardmäßig auf jedem Windows-Betriebssystem nach '95
  • installiert
  • JScript-Skripte funktionieren "out of the box" mit Active Directory
  • ECMAScript ist ein offener Standard (welcher JScript eine Implementierung von ist)
  • Über ActiveX / COM kann JScript das meiste von dem, was Powershell kann, machen und unter Rhino hat es die Macht von Java
  • Kann verwendet werden, um HTA-Anwendungen (und später Metro-Apps mit WinRT / HTML5) zu erstellen

JScript hat keinen direkten Zugriff auf das .NET-Framework - obwohl es in reinem .NET einige Drittanbieter-JavaScript-Engines gibt, die es interpretieren und Objekte wie Jurassic und IronJS damit teilen können. Auch Wrapper wie JavaScriptDotNet (um Chrome / V8). Powershell ist wahrscheinlich schneller als JScript unter WSH, aber das gleiche gilt nicht für andere Interpreter von Drittanbietern.

Bitte gehen Sie nicht mit VBScript (fehlt versuchen / fangen, keine echte OOP, proprietär, veraltet, etc.).

    
aikeru 27.06.2012 14:03
quelle
0

Wenn Sie wie ich sind und im Verlauf Ihres Skripts raffinierte Fortschrittsbalken oder Begrüßungsbildschirme anzeigen möchten, verwenden Sie AutoHotkey (anstelle eines schwarz / grauen Eingabeaufforderungsfensters). Das Anzeigen eines Fortschrittsbalkens ist ein PITA mit JScript / VBScript (WSH) und / oder PowerShell von dem, was ich gefunden habe. In AHK ist es so einfach wie:

%Vor%

Sie können auch mit fast jedem Steuerelement in jedem Fenster interagieren und Apps automatisieren, die nicht automatisiert werden sollen.

    
mbirth 10.02.2014 22:03
quelle