Wann ist eine Sprache eine Programmiersprache?



  • HTML -> Markup language
    C++ -> Programmier Sprache
    Assembler -> Programmiersprache
    Javascript -> Scriptsprache?
    Batch -> ?

    Falls Javascript eine Script Sprache ist wo ist der untschied zwischen Script und Programmiersprache gibt es überhaupt einen ?





  • lang* schrieb:

    HTML -> Markup language
    C++ -> Programmier Sprache
    Assembler -> Programmiersprache
    Javascript -> Scriptsprache?
    Batch -> ?

    Falls Javascript eine Script Sprache ist wo ist der untschied zwischen Script und Programmiersprache gibt es überhaupt einen ?

    Die Unterscheidung hat mal jemand erfunden, aber lass dich davon nicht beirren. Alle Skriptsprachen sind auch Programmiersprachen. Man meint damit aber oft eine spezielle Form von Programmiersprache, typischerweise eine deren Programme nicht selbständig laufen können. Zum Beispiel Python (braucht Python Interpreter) oder Java (braucht JVM).

    Aber du siehst es sicher auch schon, für Java gibt es Prozessoren die den Bytecode nativ ausführen können und für Python hat man auch die Möglichkeit Binärdateien zu generieren (PyPy, der kann RPython nach C übersetzen*).

    Die Bezeichnung Skriptsprache ist also ein sehr schwammiger Begriff und je weiter sich eine anfängliche Skriptsprache entwickelt umso weniger passt der Name. Python oder Java sind für mich beide keine Skriptsprachen, dafür sind sie einfach zu allgemein. Mit Bash dagegen kann man nicht alles lösen und daher finde ich den Begriff schon passend. Wobei Bash auch schon deutlich mächtiger ist als POSIX sh.

    (*): RPython steht für Restricted Python und bezeichnet eine Untermenge von Python. Und ich habe das selber noch nicht ausprobiert.



  • Also schwammig finde ich den Begriff nicht. Der Name sagt es doch schon: ich kann damit einen Ablauf steuern, halt ein Skript wie im Drehbuch eines Theaterstücks.

    Übertragen auf die Programmierung kann ich damit ein Programm steuern. Im Gegensatz zu Programmiersprache spreche ich keine Bibliotheken an, um ein Programm zu erstellen. Ich steuere mit einer Scriptsprache ein Programm, z.B. ist VBA eine Scriptsprache, weil ich damit nur Programme wie z.B. Excel steuern kann bzw. es auch nur dafür gedacht ist. Und das geht in Windows sehr einfach mit VBA den Scripting-Host anzusprechen. In C++ und Java muß ich dafür einen heiden Aufwand betreiben. Aber dafür ist C++ und Java auch nicht gedacht.

    Die Bash-Scripts in Unix machen auch das: sie steuern Unix-Programme, selbst wenn es nur das Remove oder Copy Programm ist, um Dateien zu löschen oder zu kopieren.

    Von den ganzen Scriptspachen wie Lua, die in den Spielen für den Ablauf sorgen, will ich erst gar nicht anfangen.

    Das diese Sprachen aber missbraucht werden, ist eine andere Geschichte.

    Java ist keine Scriptsprache, weil ich für gewöhnlich damit keine Programme steuere. Ganz im Gegenteil, das wird ziemlich aufwändig.



  • Dass Java als Scriptsprache bezeichnet worden wäre, hab ich noch nicht gehört. Die Unterscheidung ist aber in der Tat schwammig und m.E. nicht sonderlich produktiv, deshalb werd ich meinen Senf dazu nicht abgeben.



  • Assembler ist keine Programmiersprache sondern eine Zuweisung von Abkürzungen zu den Instruktionen der Maschine. Eine Art Übersetzungstabelle.



  • 314159265358979 schrieb:

    Assembler ist keine Programmiersprache sondern eine Zuweisung von Abkürzungen zu den Instruktionen der Maschine. Eine Art Übersetzungstabelle.

    Soweit ich mich erinnern kann, gibts bei Assembler auch Syntaxfehler.



  • ... kann auch Syntaxfehler enthalten und ist auch keine Programmiersprache...



  • wikipedia schrieb:

    From Wikipedia, the free encyclopedia

    Assembly Language

    An assembly language is a low-level programming language for computers

    Ich sehe auch assembler und javascript als Programmiersprachen an.

    Skriptsprachen wie javascript sind mmn. eher eine spezialisierung von programmiersprachen. Sachen wie shellscripts gehören aber eher nicht dazu.

    HTML ist eben keine Programmiersprache, weil durch html kein programm erzeugt wird, sondern ein dokument.



  • Deutsch... schrieb:

    ... kann auch Syntaxfehler enthalten und ist auch keine Programmiersprache...

    Syntaxfehler setzen aber eine Sprache voraus und Programmieren tut man mit Assembler auch. Ist halt keine höhere Programmiersprache.



  • ... wollte damit nur sagen, dass Syntaxfehler kein Argument für eine Programmiersprache ist. Für eine Sprache allerdings sehr wohl!



  • Was soll den ein Argument für Programmiersprache sein.



  • ... Eine Programmiersprache ist eine Sprache, aus der, in irgendeiner Weise, Maschinencode erzeugt wird, der den Rechner in irgendeinerweise dazu veranlasst zu arbeiten...

    So ist Maschinencode im Grunde genommen ebenfalls eine Programmiersprache!



  • z.B. .. schrieb:

    ...
    So ist Maschinencode im Grunde genommen ebenfalls eine Programmiersprache!

    Jain, du wirst dich wohl kaum hinsetzen und in Maschinencode programmieren. Maschinencode ist Code, der durch die CPU ausgeführt wird. Das dein C++ Programm vorher da hin übersetzt wurde weist jedoch darauf hin, das C++ eine Programmiersprache ist.



  • inflames2k schrieb:

    z.B. .. schrieb:

    ...
    So ist Maschinencode im Grunde genommen ebenfalls eine Programmiersprache!

    Jain, du wirst dich wohl kaum hinsetzen und in Maschinencode programmieren. Maschinencode ist Code, der durch die CPU ausgeführt wird. Das dein C++ Programm vorher da hin übersetzt wurde weist jedoch darauf hin, das C++ eine Programmiersprache ist.

    Wer hat denn behauptet, dass C++ keine Programmiersprache ist.

    Und Maschinencode ist eine Sprache mit der du dem Rechner Befehle gibst, also eine Programmiersprache...



  • z.B. .. schrieb:

    ... Eine Programmiersprache ist eine Sprache, aus der, in irgendeiner Weise, Maschinencode erzeugt wird, der den Rechner in irgendeinerweise dazu veranlasst zu arbeiten...

    So ist Maschinencode im Grunde genommen ebenfalls eine Programmiersprache!

    Ich würde einfach sagen, eine Sprach mit der man programmieren kann. Programmieren beinhaltet Algorithmen so aufschreiben, dass sie der Computer ausführen kann, das schließt dann HTML aus.



  • ... redet denn von HTML????



  • Wenn man... schrieb:

    Wer hat denn behauptet, dass C++ keine Programmiersprache ist.

    Und Maschinencode ist eine Sprache mit der du dem Rechner Befehle gibst, also eine Programmiersprache...

    Keiner, nur wird Maschinencode nicht weiter Programmiersprache wenn man die Definition biegt. Weil was nun einmal alle Programmiersprachen gemeinsam haben ist, dass sie irgendwann in Maschinencode übersetzt werden, auch wenns bei .NET und Java durch eine Runtime passiert. Maschinencode würde ich aber nicht zu einer Programmiersprache erklären.



  • inflames2k schrieb:

    Weil was nun einmal alle Programmiersprachen gemeinsam haben ist, dass sie irgendwann in Maschinencode übersetzt werden

    Zählen dann LOOP und WHILE nicht als Programmiersprachen, weil ich keine konkrete Maschine mit "Maschinencode" dahinterstehen habe?



  • ... praktischen Sinne nicht, da es sich dabei lediglich um abstrakte Konstrukte aus der Theorie handelt, wie z.B. Pseudocode oder Struktogramme


Anmelden zum Antworten