Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature may not be available in some browsers.
1. Warum sollte ich mir einen Vergleich verbieten lassen?Du darfst auch eine Skriptsprache nicht mit einer Programmiersprache vergleichen, denn diese erfüllen einen anderen Zweck. (..) Für größere und komplexere Anwendungen muss jedoch eine Programmiersprache her, aus guten Grund.
1. Warum sollte ich mir einen Vergleich verbieten lassen?
2. Was ist der gute Grund?
Ich versteh immer noch nicht, warum ein Vergleich verboten sein sollte. Vielleicht fällt er ja zuungunsten der Skriptsprache aus, aber dann sind sie ja vergleichbar.Oh man... Performance ist das Zauberwort. Sorry, aber was ist da so schwer dran zu verstehen?
Jein. Der gängige weg ist, Java zu Bytecode zu compilen und diesen dann von der VM interpretieren zu lassen. Die größeren VMs besitzen allerdings einen JIT, der stellenweise doch nativen Code erzeugt. Gerade bei langlebigen Prozessen führt das dazu, dass nach einer gewissen Zeit die kritischen Teile des Programm nativ ausgeführt werden.Heutige Rechner haben die Leistung. Schließlich lasse ich einfach mal so im Raum stehen, dass Java - die aktuell populärste Sprache - interpretiert wird.
Wenn Du mengentheoretische Beschreibungsaspekte zum Vergleichen von Programmier- und Skriptsprachen verwendest, solltest Du auch einen gültigen Definitionsbereich angeben. Zwei Teilmengen einer gemeinsamen Obermenge können durchaus disjunkt sein. Um verifizieren (oder falsifizieren) zu können, ob dies auf Deine These zutrifft, bedarf es hier der Information in welcher Art Du Programmier- und Skriptsprachen vergleichst. Beziehst Du Dich auf die Syntax, die Semantik oder worauf genau?Ich versteh immer noch nicht, warum ein Vergleich verboten sein sollte. Vielleicht fällt er ja zuungunsten der Skriptsprache aus, aber dann sind sie ja vergleichbar.
Und "Skriptsprachen" von "Programmiersprachen" abzugrenzen, ist genauso Schwachsinn. Das sind keine disjunkten Mengen, sondern Unter- und Obermenge. Auch in einer Skriptsprache wird programmiert.
Natürlich, aber wie kommt man auf die Idee, diese beide Teilmengen "Programmiersprachen" und "Skriptsprachen" zu nennen? Man kann sich natürlich vieles zusammendefinieren, aber so rein intuitiv klingt "Programmiersprache" nach einem allgemeineren Begriff. Und erzähl mal den php/python/ruby-Usern, dass sie keine Programmierer sindZwei Teilmengen einer gemeinsamen Obermenge können durchaus disjunkt sein.
Ja, eben. Das ist wohl die einzige wirklich allgemeingültige Aussage, die man hier treffen kann.Vielmehr wollte ich mit meiner Nachricht ausdrücken, dass es Teile der Informatik gibt, die man mit Programmiersprachen effizienter abbilden kann und Teile, die man mit Skriptssprachen effizienter abbilden kann.
Man braucht zwar Spezialisten, aber keine Fachidioten... Keep an open mind ...
Natürlich, aber wie kommt man auf die Idee, diese beide Teilmengen "Programmiersprachen" und "Skriptsprachen" zu nennen? Man kann sich natürlich vieles zusammendefinieren (...)
Aber der erste Satz des Wikipedia-Artikels bringt es doch auf den Punkt: "Skriptsprachen (häufig auch Scriptsprachen) sind Programmiersprachen".
Du kannst keinen performanten Web-Server in einer Skriptsprache abbilden.
Sing# für Singularity ist Managed Code, d.h. Bytecode, wird per VM interpretiert. Und der Kernel ist im Wesentlichen in Sing# geschriebendie sich nur in Binärcode abbilden lassen (z.B. Kernelmodule).
Pyrit, aktuell effizientester WPA/WPA2-Cracker... geschrieben in Python. Okay, cheatet, nutzt OpenCLDu kannst keinen performanten Bruteforcer (z.B. für MD5) in einer rein skriptbasierten Sprache abbilden
file /usr/lib/python2.6/dist-packages/twisted/python/_epoll.so
/usr/lib/python2.6/dist-packages/twisted/python/_epoll.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped
Aber bitteEDIT:
Solltest Du der Ansicht sein, dass meine These hinsichtlich Performance und Skriptsprachen nicht korrekt ist, können wir einen Performance-Vergleich durchführen. Hierzu wird es eine rechenintensive Aufgabenstellung geben, die ich z.B. in Ansi-C löse und Du in einer beliebigen Skriptsprache. Dann können wir fundiert bewerten, ob die These korrekt ist oder nicht.![]()
Sing# für Singularity ist Managed Code, d.h. Bytecode, wird per VM interpretiert. Und der Kernel ist im Wesentlichen in Sing# geschrieben
Pyrit verwendet nicht nur Binärcode zur Beschleunigung, sondern macht (z.B. via CUDA) auch Gebrauch von GPU um einen massiv-parallelen Algorithmus zu simulieren. Kannst ja mal versuchen so was in einem Shellskript mit der selben Performance abzubilden.Pyrit, aktuell effizientester WPA/WPA2-Cracker... geschrieben in Python. Okay, cheatet, nutzt OpenCL
Gerade in C hapert es an Funktionalitäten, z.B. verglichen mit Java oder Perl's CPAN. Da bleibt einem manchmal nix anderes übrig das Rad neu zu erfinden.In der Praxis sind Teile der "0815" C Anwendungen nicht selten langsamer als "0815" Pythonanumsetzung, einfach weil der C "Programmierer" meint, das Rad neu erfinden zu müssen und/oder unpassende Umsetzungen wählt (weil z.B die Datenstrukturen nicht in der Standardbibliothek vorhanden sind) und der Scriptsprachler einfach auf bestehende Bibliotheken zurückgreift