Hallo
Ich überlege gerade welche Script Sprache ich lernen sollte und deshalb interessiere ich mich welche vorteile bzw. nachteile bringt JavaScript mit sich.
Clientseitig ( das ist das was vom Browser der Anwenders ausgefuehrt wird), gibt es keine Alternative. JS kann der Anwender uebrigens im Browser abschalten.
Serverseitiges Skripting ist ein ganz anderes Thema.
CGI ist eine Schnittstellentechnik. Die Komponenten koennen in jeder beliebigen Sprache geschrieben sein fuer die auf dem Server die notwendigen Laufzeitbibliotheken liegen - also z.B. in C. Sind sie nicht da koennte man das Programm auch weitgehend statisch binden ( linken )
Aber CGI hat Performance - Nachteile; es muss vom Webserver immer ein Prozess gestartet werden und das dauert halt.
In den Server integrierbar sind unter
UNIX/Apache: lam=>P<= aka PHP / Perl / Python ( lezteres kenn ich aber nur vom Hoerensagen ). JS soll's auch geben, hab ich aber nie evaluiert.
Windows NT/XP - IIS : VB / Javascript sind die Kerntechnologien von Microsoft. PHP geht wohl auch ( als freies Zusatzmodul ); Perl imo nur CGI; zu Python will ich mich mangels eigener Erfahrung nicht aeussern.
Zu IIS / ASP( ohne .NET ):
Jvascript ist sicherlch einigermassen objektbasiert ausgelegt. Die Microsoft ASP Technologie legt es nahe das Scripting um sog. COM Komponenten zu erweitern; nuetzliche fertige Komponenten sind hier MSXML ( fuer XML Verarbeitung ) und MSADO ( zum Datenbankzugriff ).
Beides imo ganz hervorragende Komponenten.
Das sieht mit JS dann z.B. so aus :
var obj = Server.CreateObject("MSXML2.DomDocument");
Will man eine 3-Layer Architektur schaffen, wird man aber nicht umhinkommen eigene COM Komponenten zu entwickeln.Stellt sich die Frage in welcher Sprache das dann passieren soll. Visual Basic und Visaul C++ bieten gute COM-Unterstuetzung; allerdings sollte man einige Erfahrung mit C++ haben, um das auch einsetzen zu koennen.
Visual Basic ist sicherlich besser als sein Ruf, deshalb ist es eine Ueberlegung wert, VBScript dann auch in den ASP zu benutzen.
OLE/COM sollte man ein wenig kennen.
.NET / aspx :
Alles kann; nichts muss; C# ist sicherlich einen Blick wert. Aber da kennen sich andere sicher besser aus als ich.
Gruss
Holger
Aus dem Perl Styleguide:
"Choose mnemonic identifiers. If you can't remember what mnemonic means, you've got a problem."