Hui, das koennte spassig werden: Ich denke dass alle Sprachen ihre Vor- und Nachteile haben und vieles reine Geschmaksache ist. Sollte sich jemand wirklich einmal an einen Artikel, indem die Sprachen miteinander verglichen werden, trauen bin ich sehr auf die anschliessenden Flames gespannt ...
Von Max J. Werner am Fr, 17. Januar 2003 um 13:18 #
PHP wird m.E. auch in weiter Zukunft die anderen Script-Sprachen außerhalb des WWW nicht verdrängen können. Dafür ist es im Vergleich zu Perl & Co. viel zu langsam.
Der Schwerpunkt von PHP liegt einfach in der Verwendung im WWW und nicht auf der Konsole. Und das ist auch gut so.
Habe mir Pike durch deinen Hinweis mal angeschaut. Bin auf die Schnelle aber nicht dahinter gekommen, wo jetzt die Vorteile Pike gross gegenueber C++ haben soll (ausser die, welche die Interpretation mit sich bringt). Syntaktisch und datenmaessig sehe ich jetzt nicht die grosse Erleichterung. Ist das vielleicht auch gar nicht die Intension von Pike? Was ist die Intension von Pike?
Was ist eine Skriptsprache ? Also ich weiss , dass C, C++, Java uws. keine Skriptsprachen sind. Perl, PHP, JavaScript usw. nicht. Was ist der Unterschied ?
C und C++ werden Compiliert und nicht Interpretiert. Die entstehenden Programme enthalten also nur den, für den Prozessor ausführbaren Binärcode.
Java, Perl, PHP etc. werden alle mithilfe eines Interpreters ausgeführt. Java-Programme werden - ähnlich wie beim Compilieren - bevor sie interpretiert werden können, in einen Bytecode übersetzt. Perl- und PHP-skripte werden dagegen in lesbarer Form durch den Interpreter gejagt und der muss sich zu jeder Ausführung um die Syntax etc. kümmern, wodurch sie verhältnismäßig langsamer sind...
Native Programme werden einmal kompiliert und liegen dann in dem Maschinencode vor. Stichwort: .EXE, .COM. Skripte dagegen werden von einem (nativen) Programm (sog. Interpreter) schritweise gelesen und ausgeführt. Stichwort: .BAT, Interpreter ist command.com. Die "Grauzone" dazwischen ist aber sehr breit, d.h. man kann einige Skripte mit etwas (viel) Aufwand kompilieren, oder diverse Zwischenlösungen plazieren, z.B. Perl (wird gelesen, im Speicher optimiert, dann interpretiert), Python (das gleiche, kann den Zwischencode auch speichern) oder Java (das gleiche wie Python, der Zwischencode wurde aber halbwegs standardisiert und als Inovation vermarktet, d.h. als "Bytecode", der vom Interpreter (auf Javisch: Virtual Machine) abgearbeitet wird).
Komisch. Ich habe auf meinem ganzen Betriebssystem keine einzige .exe oder .bat Datei gefunden. Mache ich jetzt etwas falsch? kann ich jetzt keine Programme nutzen? Bitte um Aufklärung
Komisch...ich dachte immer, COM und COM+ wären Synonyme für "böse" - jedenfalls meinten das bisher alle Programmierer, die für diesen alternativen Betriebssystemsverschnitt...wie hieß der gleich...Hirnlos, Sindose...ich weiß nicht mehr, irgendwas in der Richtung, gecodet haben. ;-))
Es wäre schön, wenn man einen Interpreter hätte der alle scriptsprachen interpretieren kann! Dann muss man nicht 5000 Sachen nachinstallieren. Gibts da schon was? Oder hat wird uns Mono diesen Wunsch erfüllen?
Das mit dem 5000 Sachen nicht nachinstallieren müssen, ist doch sowiso ein Trugschluß. Weil dein Wunderinterpreter sowiso aufgebläht werden muß wenn er 5000 Sachen unterstützen will und dann ist es sowiso besser wenn man gleich alles so wie bisher Unix-like trennt.
Die Aufteilung in einzelne Interpreter bietet die die Möglichkeit, auszuwählen, was du haben willst. Außerdem wäre ein Interpreter für alle Sprachen langsam, und was Plattenplatz angeht hast du auch keinen Vorteil. Ich sehe wirklich nicht, was das bringen sollte.
interpreter fuer alle scriptsprachen ? gibts doch eh schon! nennt sich deine shell. in die erste zeile setzt du den gewuenschten interpreter: #!/bin/sh #!/usr/bin/perl #!/usr/bin/php ... chmod +x ... fertig *ggg*
Was soll der ganze Käse mit diesen Skriptsprachen. Das sind Programmiersprachen, die auf bestimmte Einsatzbereiche ausgelegt sind, und entsprechende Einschränkungen haben.
Besser wäre es, eine richtige Programmiersprache zu verwenden, die durch eine gewöhnliche Bibliothek für den jeweiligen Einsatzbereich aufgerüstet wird. Natürlich muß sie flexibel genug dafür sein. Das ginge mit C++, von mir aus mit einem C++-Interpreter.
Ich selbst verwende Haskell für meine Shell-Skripte, und eine selbstgestrickte Bibliothek. Da habe ich alle Vorteile einer echten Programmiersprache, und muß keine neue Sprache lernen. Je nach Bedarf kann ich das Skript dann compilieren oder interpretieren.
Der Unterschied zwischen compilierten und interpretierten Sprachen ist sowieso fließend. Er beschränkt sich im Wesentlichen darauf, ob die Übersetzung im Vorraus oder bei Programmstart stattfindet.
Und welche Skriptsprache eignet sich den für die jeweiligen Aufgabenstellungen am besten?
umfangreiche Simulationsprogramme,
tcl (eher tk) für GUI.
Beides zusammen kann auch IDL (ob es pvwave
kann, weiß ich nicht), läuft jedoch unter
(Suse) Linux nicht stabil.
PHP ist nach ASP (von M$) meist benuzte Scriptsprache und in Europa sowieso Nr. 1 und warum werden die PHPler nicht erwähnt?
Gruss
Andreas
ich schätze das liegt an der erst recht neuen Möglichkeit PHP als CLI zu benutzen.
Ja, ansonsten ist es die eierlegende Wollmilchsau.
Gruß
Der Schwerpunkt von PHP liegt einfach in der Verwendung im WWW und nicht auf der Konsole. Und das ist auch gut so.
Sie ist C++ sehr ähnlich, schnell, unter einer MPL/GPL/LGPL-Lizenz und hat eine sehr gute Dokumentation.
Habe mir Pike durch deinen Hinweis mal angeschaut. Bin auf die Schnelle aber nicht dahinter gekommen, wo jetzt die Vorteile Pike gross gegenueber C++ haben soll (ausser die, welche die Interpretation mit sich bringt). Syntaktisch und datenmaessig sehe ich jetzt nicht die grosse Erleichterung. Ist das vielleicht auch gar nicht die Intension von Pike? Was ist die Intension von Pike?
Waere dir fuer eine Antwort sehr dankbar
war wohl noch zu muede! Der Satz sollte eigentlich heissen:
welche Vorteile bietet Pike gegenueber C++ (ausser die, welche die Interpretation mit sich bringt)
Das sieht man vor lauter Klammern den Wald nicht mehr.
Wenn Du verstehst was ich meine
Also ich weiss , dass C, C++, Java uws. keine Skriptsprachen sind.
Perl, PHP, JavaScript usw. nicht.
Was ist der Unterschied ?
Java, Perl, PHP etc. werden alle mithilfe eines Interpreters ausgeführt. Java-Programme werden - ähnlich wie beim Compilieren - bevor sie interpretiert werden können, in einen Bytecode übersetzt. Perl- und PHP-skripte werden dagegen in lesbarer Form durch den Interpreter gejagt und der muss sich zu jeder Ausführung um die Syntax etc. kümmern, wodurch sie verhältnismäßig langsamer sind...
Native Programme werden einmal kompiliert und liegen dann in dem Maschinencode vor. Stichwort: .EXE, .COM.
Skripte dagegen werden von einem (nativen) Programm (sog. Interpreter) schritweise gelesen und ausgeführt. Stichwort: .BAT, Interpreter ist command.com. Die "Grauzone" dazwischen ist aber sehr breit, d.h. man kann einige Skripte mit etwas (viel) Aufwand kompilieren, oder diverse Zwischenlösungen plazieren, z.B. Perl (wird gelesen, im Speicher optimiert, dann interpretiert), Python (das gleiche, kann den Zwischencode auch speichern) oder Java (das gleiche wie Python, der Zwischencode wurde aber halbwegs standardisiert und als Inovation vermarktet, d.h. als "Bytecode", der vom Interpreter (auf Javisch: Virtual Machine) abgearbeitet wird).
;-)
.COM ist ne Top Level Domain und .BAT steht für Batman.
.exe steht für excuteable d.h. Ausführbar auf Deutsch code->compile->exe
.BAt steht für Batch-Datei eine datei die mehrere Befehle enthält und diese Befehle werden von Betriebsystem ausgeführt.
Gruss
Andreas
"Looks like something like a tarball !!"
Grüße
Gibts da schon was?
Oder hat wird uns Mono diesen Wunsch erfüllen?
Marco
Das mit dem 5000 Sachen nicht nachinstallieren müssen,
ist doch sowiso ein Trugschluß.
Weil dein Wunderinterpreter sowiso aufgebläht werden muß
wenn er 5000 Sachen unterstützen will und dann ist es sowiso
besser wenn man gleich alles so wie bisher Unix-like trennt.
Marco
Grüße
PS: Ich überleg noch, wie man aus den ganzen Ergebnissen das richtige findet ...
Die kann dann wirklich alles. ;-)
In der langsamst möglichen Ausführung.
nennt sich deine shell. in die erste zeile setzt du den gewuenschten interpreter:
#!/bin/sh
#!/usr/bin/perl
#!/usr/bin/php
...
chmod +x ...
fertig *ggg*
cu,
Besser wäre es, eine richtige Programmiersprache zu verwenden, die durch eine gewöhnliche Bibliothek für den jeweiligen Einsatzbereich aufgerüstet wird. Natürlich muß sie flexibel genug dafür sein. Das ginge mit C++, von mir aus mit einem C++-Interpreter.
Ich selbst verwende Haskell für meine Shell-Skripte, und eine selbstgestrickte Bibliothek. Da habe ich alle Vorteile einer echten Programmiersprache, und muß keine neue Sprache lernen. Je nach Bedarf kann ich das Skript dann compilieren oder interpretieren.
Der Unterschied zwischen compilierten und interpretierten Sprachen ist sowieso fließend. Er beschränkt sich im Wesentlichen darauf, ob die Übersetzung im Vorraus oder bei Programmstart stattfindet.